最近因為工作的關係,很需要從 USB 不斷的開機。在實體的機器,開機需要等待兩分鐘以上的 BIOS 過程,生命不斷的流逝下,興起了採用 VM 進行測試的念頭。剛好最近買了一台新的 notebook,記憶體特意買大一點,所以就開始試起 VM boot。
過去同事們最常使用的是 VM Ware,所以先說說 VMWare ,簡單的答案是,VMWare 沒有支援從 USB 開機。但是有好心人寫了一套 plop boot manager,只要在 VMWare 中選擇建立一個以 iso 為開機的新 vm,其中的 iso 可以指定從 plop 的 zip 中取出的 plpbt.iso檔。然後當你 boot 時,就可以看到 usb 開機的選項。選了就可以從 usb 開機。但這個方法我用了身邊的所有 usb 碟,一直沒有成功 ,Clonezilla 可以,但 Windows embedded 7 的安裝 usb 就是不行 (FAT32 or NTFS 皆不行),我得到的畫面如下
大概就是說找不到可以 boot 的 device。另一個問題是 VMWare 的字在我的 notebook 上實在太小了,為了眼睛,我就跳槽到 virtual box 的懷抱了。
VirtualBox 是 Oracle 的 Open Source project,所以免費。另外他支援 VMWare 的 vmdk 檔案,這代表過去我們已經用了多時的 vm 基本上都可以繼續使用。不過小地方可能要注意,那就是兩個 vm 系統模擬的硬體可能會有些差異,所以一些 driver 可能得重裝。
進入正題,VirtualBox 有沒有支援 USB 開機呢? 答案是:也沒有。因為開機能不能選 USB 是 BIOS 的事情,所以簡單的說就是 VirtualBox 的 bios 並沒有提供 USB 開機,我看到有人在 virtualbox 的論壇上提到此事,開發人員的回應是,這樣的工程相當浩大,目前有更重要的事情是讓 vm 內 USB 3.0 的速度不要插實體的太多。聽起來是有點道理,但,我的大計不就報銷了 Orz。
不過幸好請教G大神後,找到很多人教你怎麼讓 VirtualBox 可以用 USB 開機,其中最多人教的做法是:利用 VirtualBox 的 command line 命令 VBoxManage internalcommands createrawvmdk -filename c:\usb.vmdk -rawdisk \\.\PhysicalDrive# 產生一個 raw disk,然後將這個 raw disk 加到 virtualbox 的 vm 內。記得這個 disk 看起來像 hard disk,所以一定要跟原來 vm 內的 hard disk 在同一個 storage controller 內 (一般來說是 SATA)。而且這個 disk 一定要是編號最小的一個,可以將原來硬碟的編號改大,再將 usb.vmdk 改到最小。
這樣就可以開機了。但是,我照做之後,得到的畫面是
看起來結果跟 VMWare 差不多(Clonezilla 也是可以)。後來猜想應該是 file system 的問題,所以費了九牛二虎之力 (中間的故事也很黯然銷魂,不過就不贅述了),終於讓我可以從 USB 開機了,所以 VirtualBox 的 bios 看來無法支援 NTFS 的 USB 開機,不過高興只有一下下,就又被塞了這個訊息
幸好 G 大神根據錯誤訊息給了一個指引:Virtual Machine USB Boot。
下載,免安裝,一切 OK,真是太完美了。Virtual Machine USB Boot + Virtual Box 看來將會是我最近的好幫手。
過去同事們最常使用的是 VM Ware,所以先說說 VMWare ,簡單的答案是,VMWare 沒有支援從 USB 開機。但是有好心人寫了一套 plop boot manager,只要在 VMWare 中選擇建立一個以 iso 為開機的新 vm,其中的 iso 可以指定從 plop 的 zip 中取出的 plpbt.iso檔。然後當你 boot 時,就可以看到 usb 開機的選項。選了就可以從 usb 開機。但這個方法我用了身邊的所有 usb 碟,一直沒有成功 ,Clonezilla 可以,但 Windows embedded 7 的安裝 usb 就是不行 (FAT32 or NTFS 皆不行),我得到的畫面如下
大概就是說找不到可以 boot 的 device。另一個問題是 VMWare 的字在我的 notebook 上實在太小了,為了眼睛,我就跳槽到 virtual box 的懷抱了。
VirtualBox 是 Oracle 的 Open Source project,所以免費。另外他支援 VMWare 的 vmdk 檔案,這代表過去我們已經用了多時的 vm 基本上都可以繼續使用。不過小地方可能要注意,那就是兩個 vm 系統模擬的硬體可能會有些差異,所以一些 driver 可能得重裝。
進入正題,VirtualBox 有沒有支援 USB 開機呢? 答案是:也沒有。因為開機能不能選 USB 是 BIOS 的事情,所以簡單的說就是 VirtualBox 的 bios 並沒有提供 USB 開機,我看到有人在 virtualbox 的論壇上提到此事,開發人員的回應是,這樣的工程相當浩大,目前有更重要的事情是讓 vm 內 USB 3.0 的速度不要插實體的太多。聽起來是有點道理,但,我的大計不就報銷了 Orz。
不過幸好請教G大神後,找到很多人教你怎麼讓 VirtualBox 可以用 USB 開機,其中最多人教的做法是:利用 VirtualBox 的 command line 命令 VBoxManage internalcommands createrawvmdk -filename c:\usb.vmdk -rawdisk \\.\PhysicalDrive# 產生一個 raw disk,然後將這個 raw disk 加到 virtualbox 的 vm 內。記得這個 disk 看起來像 hard disk,所以一定要跟原來 vm 內的 hard disk 在同一個 storage controller 內 (一般來說是 SATA)。而且這個 disk 一定要是編號最小的一個,可以將原來硬碟的編號改大,再將 usb.vmdk 改到最小。
這樣就可以開機了。但是,我照做之後,得到的畫面是
看起來結果跟 VMWare 差不多(Clonezilla 也是可以)。後來猜想應該是 file system 的問題,所以費了九牛二虎之力 (中間的故事也很黯然銷魂,不過就不贅述了),終於讓我可以從 USB 開機了,所以 VirtualBox 的 bios 看來無法支援 NTFS 的 USB 開機,不過高興只有一下下,就又被塞了這個訊息
幸好 G 大神根據錯誤訊息給了一個指引:Virtual Machine USB Boot。
下載,免安裝,一切 OK,真是太完美了。Virtual Machine USB Boot + Virtual Box 看來將會是我最近的好幫手。



