1、得出u盘的物理标识。
方法一:
在命令行(cnd.exe)下执行 
wmic /output:d:\diskdrive.html diskdrive list /format:htable
打开d:\diskdrive.html 文件查看“DeviceID”项,一般u盘是“\\.\PHYSICALDRIVE1”
方法二:
在我的电脑按右键选“管理”-》“磁盘管理”查看,一般硬盘是“磁盘0”,u盘就是“磁盘1”,多了就类推增加。修改“\\.\PHYSICALDRIVE1”的数字即可。
 
2、注册生成vmdk虚拟硬盘文件
在命令行(cnd.exe)下执行命令(进入virtualbox的安装目录)
c:
cd C:\Program Files\Oracle\VirtualBox
 
执行命令(注册生成vmdk虚拟硬盘文件)
VBoxManage internalcommands createrawvmdk -filename "D:\My Virtual Machines\VitualBox\UsbDisk.vmdk" -rawdisk \\.\PHYSICALDRIVE1
 
上面的命令在virtualbox 4.2.6版本通过。本来命令中的vmdk文件地址是不用加双引号的,但是我这里的目录不巧就在一个带空格的目录里面,为了集中管理也不改地方了,网上找了个办法,就是地址加双引号,通过。
 
3、在虚拟机中添加刚才注册的vmdk磁盘
这里有很很关键一步!!
估计说此法骗人的大概也是出自此处吧。原因不明。反正我也遇上。
将vmdk虚拟硬盘调为主盘。即将 原来虚拟机的硬盘 跟 vmdk虚拟硬盘的顺序调换。一般新添加的vmdk虚拟硬盘默认是设为“第一IDE控制器从通道”,但这在我机测试不能通过,启动的时候,就是按了F12选择启动,都是卡在启动的一开始。不能启动成功。
 
首先,在虚拟机-》设置-》存储-》控制器IDE ,将原来的虚拟机硬盘调为“第一IDE控制器从通道”(一般为第一IDE控制器主通道,而第二IDE控制器的主通道是光驱)。
虚拟机-》设置-》存储-》控制器IDE-》添加虚拟硬盘 , 找到刚才注册生成的vmdk文件。
一般添加后 vmdk虚拟硬盘即为“第一IDE控制器主通道”,如果不是即改好。
总之关键的地方是,u盘的vmdk虚拟硬盘 要为 主通道,原来的虚拟机硬盘 为 从通道。即u盘要设置为 第一ide的主盘。
 
4、注意要从u盘启动:
在虚拟机-》设置-》usb设备-》usb设备筛选器 中不要添加u盘。
在正在运行的虚拟机中,设备-》分配usb设备 中不要选择u盘。