VirtualBox从USB设备启动方法

来源:互联网 发布:软件质量问题处理流程 编辑:程序博客网 时间:2024/05/01 09:14
转自:http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=151221

在VirtualBox虚拟机中按F12的启动菜单中是没有从USB启动的,一直都找不到从USB设备启动方法,也有人说VirtualBox不支持USB设备启动,那是我搜中文的结果。把闪盘装上Linux都是在Vmware下测试的,Vmware下是把闪盘当成SCSI硬盘挂载的。我想这点应该VirtualBox也行啊。

我Google一下英文“virtualbox usb boot”(中文我得把“virtualbox”、“u盘”、“usb”、“闪盘”、“优盘”、“随身碟”、“引导”、“启动”、“开机”混搭使用,而还是一大堆无关结果,所以翻译叫法还是统一点好),结果第一条就找到了,虽然没写具体怎么做,至少老外说行,有这么一行
引用:
It is not passible directly but it is possible indirectly. Configureyour USB drive as a raw disk in VirtualBox (page 105 of the manual).Then the guest will see your USB drive as a IDE drive and will be ableto boot on it.

VirtualBox的确不支持USB设备直接启动,但能把USB设备当成硬盘间接启动,“rawdisk”,看起来原理跟Vmware一样,把它当成硬盘挂就行了。至于那个“page 105 of themanual”,我已经升级到VirtualBox 2.0.2,手册是CHM格式没有页码,还好找到了,是在“9.9. Using a rawhost hard disk from a guest”这一节,讲解的非常详细。这次又是STFW和RTFM发挥了功效。

步骤如下

  1. Ubuntu软件库里那个VirtualBox OSE版是不能支持USB设备的,我用的是从官方下那个,并按这个帖子搞定了启动虚拟机USB出错那个问题。不过这里是把闪盘当成硬盘用,我想用OSE也应该行,因为支持USB是Ubuntu(当成硬盘)而不是VirtualBox,所以用OSE或许会成功,不过我懒得测试,有谁成功告诉一声。3楼caozhzh测试过,1.5.6是不行的,第3步那个命令没有创建虚拟磁盘功能,7楼的wjjs测试新版的2.0.4就行。
  2. 当前必须属于“vboxusers”组,运行
    代码:
    sudo usermod -G vboxusers -a `whoami`

    然后重新登录(注一)。
  3. 运行下面那个命令为闪盘添加访问权限,之前我老是提示没权限,
    代码:
    sudo chmod o+rw /dev/sdc

    我有2个硬盘,所以闪盘就是“/dev/sdc”,如果不确定的话就用“df”命令查看。因为每次拔出闪盘后,“sdc”就会消失了,插回去,又出现,所以还要重新设置权限,重新运行命令,比较常用的话就添加一个alias
  4. 然后就为闪盘建立一个虚拟硬盘镜像,其中参数“filename”后的路径就是虚拟硬盘镜像的保存位置,我这里用默认的 “~/.VirtualBox/VDI/”,手册里说路径一定要用绝对路径。创建出来vmdk文件只有几百字节而已,不需要担心空间,参数后 “rawdisk”就是你的闪盘设备路径,
    代码:
    VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/VDI/UsbDisk.vmdk -rawdisk /dev/sdc -register

    运行后出现
    代码:
    VirtualBox Command Line Management Interface Version 2.0.2
    (C) 2005-2008 Sun Microsystems, Inc.
    All rights reserved.
    RAW host disk access VMDK file /home/yourname/.VirtualBox/VDI/UsbDisk.vmdk created successfully.

    表示创建成功了。
  5. 然后就启动VirtualBox,在需要测试的虚拟机设置里的“硬盘”一页,换成刚才那个vmdk文件,如果不是建立在“~/.VirtualBox/VDI/”的话要用虚拟介质管理器注册一下。
  6. 最后把硬盘设置成优先启动就搞定啦,成功启动了我闪盘里的Grub4DOS,切换启动项VirtualBox比用Vmware还要简单,不需要在虚拟机里的BIOS切换。

我这里是整个闪盘挂载,其实也可以挂载单个或几个分区,也可以直接挂载真实硬盘上的XP,参考这帖《Boot an existing XP (Physical HD) install with VirtualBox》,也可以为建立的虚拟硬盘镜像自定义MBR,方法看手册有关章节吧。

注一:
原来这步我是这样做的,运行
代码:
sudo usermod -G disk,vboxusers -a `whoami`

然后重新登录生效,考虑到把当前用户添加到“disk”组会危险,因为“/dev/sdc”属于“disk”组,格式化“mkfs”之类命令就不用加“sudo”运行了。所以用第3步的方法代替,临时加上读写权限给“/dev/sdc”,每次运行一次添加权限总比添加到“disk”组好。
原创粉丝点击