VirtualBox模擬出無限可能
像高登常常要測試許多程式的人,都需要有一台專門測試用的電腦,但是放著身邊功能配備都不錯的的電腦不用,再去找一台電腦來用實在是有點浪費。而且也不環保。如果再遇到需要有多台電腦同時連線測試時,那就更麻煩了。
所以內行人都知道要用VirtualBox之類的電腦模擬軟體,在你原有的硬體之下再生出一台或是多台新的電腦。而在VirtualBox還沒有出來之前,我都是用VMWARE或是VirtualPC,而前者更是付費的軟體。
但是有了VirtualBox之後,我就再也不想用其他的虛擬電腦軟體了,因為除了VirtialBox是免費軟體之外,它也是開放源碼(Open Source)軟體的一員,所以靈活度會更高。
- 軟體各稱:VirtualBox
- 軟體官網:http://www.virtualbox.org/
- 軟體下載:http://www.virtualbox.org/wiki/Downloads,要注意到你的作業系統版本,要安裝VirtualBox的作業系統叫主端(Host),裝在VirtualBox裡面的叫客端(Guest),這當中可以變化出各種的組合
- 軟體語系:多語系內建正體中文
- 軟體安裝及使用:不在本篇的範圍,安裝可以參考用VirtualBox來架Linux網站,基本設定及使用(Windows主端)可以參考Ubuntu(一) 打造一台不會中毒的電腦
為什麼要從隨身碟開機
像這次要提到的設定優先從USB隨身碟開機的功能,在VirtualBox官網論壇裡面,公司的人明白地指出不會為這種少數人要用的功能去浪費時間,所以請你自行解決,不過也有其他使用者告訴你要從Raw Disk來下手,而真的就有人辦到了。
而我為什麼要用到這個功能呢?就是為了下面這一張螢幕擷圖:

這是上篇文章:如何製作 Ubuntu Live USB使用隨身碟開機時,電腦呈現的選單畫面,而為了抓到這一張圖高登找了幾天終於搞定了「VirtualBox設定由USB隨身碟開機」。
設定步驟
整個的設定步驟也沒有很困難,首先你要先有一個隨身碟而且已經設定成可以開機(廢話),再來請由【我的電腦】→右鍵【管理】→【磁碟管理】→看看你的隨身碟是「磁碟N」,像我這裡的例子是「磁碟3」,這個數字在稍後會用到。

接下來由【附屬應用程式】→【命令提示字元】開啟一個DOS視窗,首先你要進入VirtualBox在程式集中的目錄,所以請執行以下指令(直接用複製貼上就可以了):
cd c:\Program Files\Sun\VirtualBox
這時候命令提示字元會變成:c:\Program Files\Sun\VirtualBox\>
接下來我們要凡執行的指令是:VBoxManage internalcommands createrawvmdk -filename 你的存檔路徑\usb.vmdk -rawdisk \\.\PhysicalDriveN -register
而我這邊的例子是要將usb.vmdk放在 i:\VirtualBox 之下,而我的隨身碟代號是「磁碟3」,所以就執行以下的指令:
VBoxManage internalcommands createrawvmdk -filename i:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive3 -register
執行完注意一下是不是顯示成功而沒有任何錯誤訊息:

像這一個畫面當中有ERROR的錯誤,是因為我執行過官網論壇中提到的解決方式,變成VirtualBox的設定已經有被改過了而出現錯誤。

解決的方法我是用CCleaner清過登錄表之後才能成功設定Raw disk,或許你有相同的問題也可以試試看。
接下來就是到你要設定USB隨身碟開機的虛擬機器的硬碟設定,加入這個新增出來的usb.vmdk映像檔。

在VirtualBox虛擬機器開機時趕緊按【F12】強制出現開機裝置選單,再選【2) Primary Slave】就可以從隨身碟開機進入虛擬機器了。

相同的原理你也可以將實體硬碟掛載成VirtualBox的Raw Disk,這樣子你所有存檔或設定的資料就會存到硬碟中,隨時可以拆到別的地方用,而不用管是不是有用到VirtualBox,你說這樣子的用法是不是比虛擬硬碟好多了呢?










2009年10月05日 16:13:37
讚啦!!!
最近也在幻想USB的UBUNTU~!!
2009年10月05日 19:14:18
好東西就請幫忙推廣囉!
2009年10月05日 21:32:11
非常不好意思請問高登兄:如何讓VMWARE也能USB開機呢?
2009年10月05日 21:39:01
不好意思VMWARE現在已經不碰了,因為有了免費軟體可以理直氣壯的用,幹嘛還要偷偷摸摸找序號?
2009年10月05日 22:30:58
前面都OK但卡在最後一關..
開機時他抓到了我的隨身碟但是卻不給我開= =
我很肯定我那隻隨身碟是可以開機的阿~
不想開windows出來寫程式的時候都是用那支有dos的隨身碟在Turbo C中寫的...
現在如果我需要測試USB開機的話都是用MobaLiveCD這個
算是小型的虛擬機器...
2009年10月05日 22:41:46
DOS?
那可能你的隨身碟是模擬軟碟開機的喔!
2009年10月08日 10:41:24
嘻嘻~~
小咪就沒有這問題
一台電腦就足夠嚕!~
2009年10月08日 15:37:35
這個拿來救系統也很方便!^^
2009年10月09日 16:48:54
又要發一篇救壞掉硬碟的文囉!
2009年10月09日 20:49:51
高登哥為什麼我用google chrome瀏覽你的網站都是停留在MSE那篇文章? 今天用IE才發現已經有好幾篇文章了
2009年10月09日 21:04:27
我主要也是用Google Chrome,沒有發生你說的問題
倒是IE常常會卡住,不過等一下子就正常了,這個問題可能要等我整個版型及各種Widget重新改過才有辦法改善了
2009年10月09日 21:43:29
我把記錄刪掉就正常了
2009年10月09日 22:28:48
IE不要用了(至少要少用)
2009年10月10日 21:08:40
為什麼?
我現在都沒用IE了
我都用google chrome plus
有IE TAB
所以沒差
2009年10月10日 21:45:08
我只是用標準的google chrome 3.0版,還沒有IE Tab
2009年11月30日 20:53:28
您好,我一直照著做…到了『VBoxManage internalcommands createrawvmdk -filename i:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive3 -register』這邊,dos顯示錯誤…『Error while cretaing the raw disk VMDK: VERR_PATH_NOT_FOUND』,我的隨身碟在J,磁區在2,所以我是輸入『VBoxManage internalcommands createrawvmdk -filename J:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive2 -register』沒錯吧??也有清理登錄檔…還是不行…還是說我的隨身碟把它作成XP光碟就不行呢??
2009年11月30日 21:17:32
剛剛找出原因了…原來是我要先在隨身碟創一個VirtualBox的資料夾…可是還有一個問題…請問按f12進入開機裝置選單之後…我怎麼按都沒反應…不知道要按什麼鍵來選擇開機裝置…
2009年11月30日 21:20:46
又找出原因了…原來是要按鍵盤上方的數字鍵…抱歉打擾囉…
2009年11月30日 21:27:17
抱歉再問一個問題…我用【2) Primary Slave】開機…就停在一個畫面…畫面上只有一個英文字『j』…然後就不動了…是我usb裡面的xp沒用好嗎??
2009年11月30日 21:47:54
我看你的整個操作有一個很致命的錯誤:usb.vmdk 這個虛擬磁碟檔是要放在你電腦不是隨身碟的硬碟中,你的作法卻把它放在隨身碟中,這樣子隨身碟中的這個檔案是要給主端管還是客端管?
好好想想我這一段話的意義吧!
至於XP有沒有裝好,用實體的機器先試試吧
2010年01月02日 18:41:59
想請教:何以在虛擬機器底下使用過foxy,便無法連上網,頻寬佔滿,將虛擬網卡或實體網卡停用亦無效,關閉guest亦無效,非得host重開機後才能恢復上網?謝謝!
2010年01月03日 11:50:29
這樣子應該是ADSL或是分享器當掉了,Foxy少用吧,你要人家的MP3或影片,人家可是肖想你硬碟中的資料哦!不要以為用虛擬機器就不會有事
2010年03月18日 23:27:59
老師您好:想請教,余隨身碟代號為「磁碟1」(I碟),起先沒注意,即照您方法,輸入c:\Program Files\Sun\VirtualBox\>,再輸入VBoxManage internalcommands createrawvmdk -filename i:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive1 -register,顯示無法建立,只好於I碟下建立VirtualBox資料夾,再重新輸入上述指令,沒想到竟顯示成功,且能進入live usb。再看了您對sworder君的答覆「我看你的整個操作有一個很致命的錯誤:usb.vmdk 這個虛擬磁碟檔是要放在你電腦不是隨身碟的硬碟中,你的作法卻把它放在隨身碟中,這樣子隨身碟中的這個檔案是要給主端管還是客端管?」才發現犯同樣錯誤?可是,何以同樣能成功呢?不解?
對了,起先使用洪朝貴老師利用Mk-boot-usb製作之live usb雖可見到隨身碟代號為「磁碟1」(I碟),但在windows底下似乎無法進入磁碟,但確實可以usb實體開機,他的作法是在電腦管理底下似將隨身碟另分割出1小部分供儲存資料使用。可是表示,只能透過UNetbootin,才能在虛機下使用live usb?
據說,洪老師的作法是能儲存資料,要不,live usb只能像live cd,只能使用,無法存取資料吧!
2010年03月19日 01:13:10
這種方法作出來的Live USB跟Live CD的功能是一樣的,因為你並沒有設定帳號密碼登入,所以USB只是當成唯讀的媒體在使用而已
如果要能儲存設定的話就要有完整「安裝」過的系統才可以,也就是說要將隨身碟當成硬碟來執行安裝的步驟才可以
2010年03月19日 15:47:40
老師您好:感謝賜教!
想請教,fedora9下測試安裝virtualbox,使用rpm -ivh virtualbox.rpm卻出現相容性問題,後來只得yum install 一個一個安裝所需套件,最終亦能成功安裝,可有其他能克服相依性,解決安裝的方式?
再請教「欲維護host的安全、避免中毒,guest連線方式是否應設為nat、不分享資料夾、可否使用host與guest間複製貼上功能呢?」與「虛機上跑 FOXY」問題,尚祈賜教!
再請教,余曾在虛機XP1上試過加入虛機XP2硬碟,兩者都使用過快照,下次欲啟動虛機XP2便無法開啟。想請教,本意是想新增1顆虛擬硬碟,然後讓各個虛機能讀取儲存資料使用,但似乎不行!對了,虛擬機亦可掛載實機硬碟,那是否有相同問題呢?謝謝!
2010年03月19日 16:54:17
只要用戶端套件安裝好了就可以在主端客端複製貼上
至於兩台虛擬機器用同一個硬碟一定會出問題的,請你想想在一顆硬碟中安裝兩次XP會有什麼情形?就是那樣子
至於用要直接存取硬碟可以透過rawdisk的方法來作,不過如果是一顆硬分碟分割成多個Partition則又會有啟動分割(Activate partition)的問題,所以實務上是以獨立的硬碟來作會比較好,方法請參考我另一篇Virtualbox 用USB開機的文章
2010年03月20日 14:48:01
老師您好:
想請教,virtualbox功能列上「檔案」下「匯入應用裝置」與「匯出應用裝置」是作啥使用呢?
另外,只要用戶端套件安裝好了就可以在主端客端複製貼上,目前僅能及於文字,尚不能像vmware檔案複製與貼上的方便性吧!另virtualbox僅能直線快照,假設有快照1-快照2-快照3,不能直接跳到快照1吧!功能性較不如vmware,但整體說來,還是即佳的虛擬軟體。
「至於兩台虛擬機器用同一個硬碟一定會出問題的,請你想想在一顆硬碟中安裝兩次XP會有什麼情形?就是那樣子」余意思是虛機1內新增1個虛擬硬碟作為D碟,僅供存放資料,虛機2再掛載虛機1內的D碟,因怕使用實機的分享資料夾中毒到實機!對了,想請教,虛機連線方式是否設為NAT,較不易虛機中毒至實機?
2010年03月20日 20:58:07
匯入/匯出應用裝置我沒去研究,
vmware是付費軟體,virtualbox是免費軟體,功能差一點是正常的.要不然有誰願意花錢買wmware?
虛擬硬碟如果只是存資料應該是可以的,但是連線方式設為NAT的話就要用Virtualbox的資料夾分享功能,不能用Windows的網路芳鄰共享,各有利弊
2010年03月28日 15:43:40
老師您好:先前使用virtualbox2.x版時,記得可以del或其他鍵來進入bios設定,可是自3.x以後,virtualbox介面似有部分更動,現在虛機啟動前按f12則進入boot選擇硬碟,想請教老師,如何進入虛機的bios,謝謝!
2010年03月28日 16:43:38
經你一提我才發覺現在 virtualbox 已經把 BIOS 設定拿掉了,好像不行了耶!
不過你要進 BIOS 設什麼?
2010年03月29日 07:53:49
老師您好:
余是想測試w7的xp模式,安裝了windows6.1-KB958559-x86,即virtual pc,重開機以後,想執行virtual pc,卻顯示需硬體支援虛擬。故想開啟bios來設定開啟bios虛擬化支援。
再試windowsxpmode_zh-tw,竟顯示讀取檔案錯誤,按重試出現封裝有問題,錯誤碼2755。但再至vmware測試,該檔案確實能安裝,這到底是怎麼一回事呢?難道是virtualbox不支援w7的xp模式嗎?vmware跑w7又牛速,果真無解嗎?
(附註:由於余硬體受限,VMWARE7上跑W7(1G)與VBOX上跑W7(1G),如開啟WINDOWS MEDIA CENTER,VMWARE殘影、龜速,不敢領教了;但是跑XP倒還能接受,兩者速度差距不大。)
2010年03月29日 11:51:13
最近不是有消息說Win7的XP模式不是已經不檢查硬體了?不過那是要去執行系統更新才可以用吧?
XP模式試過一次就不想玩了,因為跟Virtualbox速度差太多了
至於你想要用XP模式的安裝檔來裝在VB裡面那是不行的,那是VirtualPC專用的檔案,VB還是用一般XP的安裝光碟來裝的
2010年04月13日 01:25:39
原來是路徑裡的資料夾還沒創好才失敗阿
還以為他會自己建立
感謝高登大提供的方法
2010年04月29日 04:50:28
我的vb是3.6.1
我和上面某個人一樣
都能順利抓到隨身碟
隨身碟也確定能夠開機
但是就是在選2)第二顆硬碟開機時
都會自動用1)第一顆硬碟開機
後來發現在客機裡的隨身碟 裡面的資料都不能刪除 會出現'檔案或目錄損毀而且無法讀取'訊息 請問有方法解決嗎?
在現在的條件下 如果將虛擬機器的usb設定開啟 則在選2)第二顆硬碟開機時 則會出現 could not read from the boot medium
以上情形希望有人能幫我解決 我好想用vb測試usb開機阿~~
2010年04月29日 10:27:39
我搜尋了一下好像網路上有很多這樣的情形不過都是英文的!
我會建議你換一個CD ISO重作看看,好像是ISO檔的問題
正好今天Ubuntu 10.10 LTS也出來了,試試看吧
2010年07月12日 09:10:31
用USB開機
所以可以把系統安裝到USB上囉
2010年07月12日 11:06:01
如果只是光碟映像檔解壓出來的USB,那也只是LiveUSB,就只是唯讀而已
但是你可以用這個方法載入隨身碟,然後用光碟開機再安裝系統到這個隨身碟