linux下利用软链接实现VirtualBox对USB设备的访问

  VirtualBox是linux下一个很好的虚拟机,可以用它在linux下安装windows等第二个操作系统。如果虚拟系统需要访问USB设备怎么办?至少有三种方法:

  一、直接访问
  网上有很多关于VirtualBox打开USB限制的文章,就是有些麻烦,不提。

  二、通过共享文件夹访问
  “共享文件夹”是VirtualBox与宿主机进行数据交换的一个很好的途径。该方法就是把USB设备(自动)挂载后的文件夹添加到共享文件夹中。

  可以打开虚拟机前先添加,也可以打开虚拟机之后添加。但如果添加后,该USB设备没有连到机子上,会导致VirtualBox中的虚拟系统不能打开,需要去掉该USB设备的“共享文件夹”设置才行。可见麻烦。而且好像在虚拟机打开后添加,访问链接到USB设备的共享文件夹时,可能导致异常,VirtualBox突然退出。显然不稳定。

  三、通过软链接访问
  该方法首先需要在宿主机的本地磁盘上有个文件夹作为共享文件夹,我想不会有问题,因为我觉得既然用了虚拟机,数据交换是必然的,所以至少设置一个共享文件夹也是必然的。这虽然是该方法必需的一步,但又不能算入该方法的步骤中,也就是说,设置共享文件夹的复杂性问题不能算入“通过软链接访问”方法的复杂性中去。

  不说废话了。

  很简单,在设置了共享文件夹的那个宿主机(就是你的linux)的文件夹中,建立一个链接到USB设备挂载点的软链接即可。

  例如,在ubuntu下,有个U盘,卷标为WKUSB,则插到机上之后,会出现(挂载到)/media/WKUSB。而与VirtualBox的共享文件夹是/home/waken/share,为了虚拟系统即时访问USB,在/home/waken/share中建立一个指向/media/WKUSB的软链接即可。

  命令可以如下:

  ln -s /media/WKUSB [myusbname]

  其中[myusbname]是可选项,是重新给这个软链接(文件)重新命名,这个不是问题。

  这种,不会出现前两种方法的问题。方便可靠,简单有效。USB连与不连都没有关系。