VirtualBox設定由USB隨身碟開機

VirtualBox模擬出無限可能

像高登常常要測試許多程式的人,都需要有一台專門測試用的電腦,但是放著身邊功能配備都不錯的的電腦不用,再去找一台電腦來用實在是有點浪費。而且也不環保。如果再遇到需要有多台電腦同時連線測試時,那就更麻煩了。

所以內行人都知道要用VirtualBox之類的電腦模擬軟體,在你原有的硬體之下再生出一台或是多台新的電腦。而在VirtualBox還沒有出來之前,我都是用VMWARE或是VirtualPC,而前者更是付費的軟體。

但是有了VirtualBox之後,我就再也不想用其他的虛擬電腦軟體了,因為除了VirtialBox是免費軟體之外,它也是開放源碼(Open Source)軟體的一員,所以靈活度會更高。

為什麼要從隨身碟開機

像這次要提到的設定優先從USB隨身碟開機的功能,在VirtualBox官網論壇裡面,公司的人明白地指出不會為這種少數人要用的功能去浪費時間,所以請你自行解決,不過也有其他使用者告訴你要從Raw Disk來下手,而真的就有人辦到了。

而我為什麼要用到這個功能呢?就是為了下面這一張螢幕擷圖:

在VirtualBox中設定由USB隨身碟開機

這是上篇文章:如何製作 Ubuntu Live USB使用隨身碟開機時,電腦呈現的選單畫面,而為了抓到這一張圖高登找了幾天終於搞定了「VirtualBox設定由USB隨身碟開機」。

設定步驟

整個的設定步驟也沒有很困難,首先你要先有一個隨身碟而且已經設定成可以開機(廢話),再來請由【我的電腦】→右鍵【管理】→【磁碟管理】→看看你的隨身碟是「磁碟N」,像我這裡的例子是「磁碟3」,這個數字在稍後會用到。

VirtualBox設定由USB隨身碟開機

接下來由【附屬應用程式】→【命令提示字元】開啟一個DOS視窗,如果你的主端是Windows 7的系統那就不要直接點選【命令提示字元】,而是改按右鍵〔以系統管理員身分執行〕才有足夠的權限。

首先你要進入VirtualBox在程式集中的目錄,所以請執行以下指令(直接用複製貼上就可以了):

cd c:\Program Files\Oracle\VirtualBox

這時候命令提示字元會變成:c:\Program Files\Oracle\VirtualBox\>

接下來我們要執行的指令是:VBoxManage internalcommands createrawvmdk -filename 你的存檔路徑\usb.vmdk -rawdisk \\.\PhysicalDriveN

你要改的地方我特別用紅色標示出來,像我這邊的例子是要將usb.vmdk放在 i:\VirtualBox 之下,而我的隨身碟代號是「磁碟3」,所以就執行以下的指令:

VBoxManage internalcommands createrawvmdk -filename i:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive3

執行完注意一下是不是顯示成功而沒有任何錯誤訊息:

VirtualBox設定由USB隨身碟開機

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

VirtualBox設定由USB隨身碟開機

解決的方法我是用CCleaner清過登錄表之後才能成功設定Raw disk,或許你有相同的問題也可以試試看。

接下來就是到你要設定USB隨身碟開機的虛擬機器的硬碟設定,加入這個新增出來的usb.vmdk映像檔。

請你由VirtualBox的設定[設定值]->[存放裝置]進入這個畫面,選取硬碟控制器右邊的[+]號來新增硬碟

VirtualBox設定由USB隨身碟開機

然後[選擇現有的磁碟]

VirtualBox設定由USB隨身碟開機

再選取你剛才產生出來的虛擬磁碟映像檔「usb.vmdk」

補充說明:有網友反映在Vista/Win7如果沒有使用管理員權限來執行VirtualBox的話,會無法使用這一個vmkd裝置,所以請調整UAC使用者帳戶控制設定到最下面的不要通知,或是按右鍵[以系統管理員身份執行]VirtualBox程式

VirtualBox設定由USB隨身碟開機

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

VirtualBox設定由USB隨身碟開機

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

103 則留言

  1. 前面都OK但卡在最後一關..
    開機時他抓到了我的隨身碟但是卻不給我開= =
    我很肯定我那隻隨身碟是可以開機的阿~
    不想開windows出來寫程式的時候都是用那支有dos的隨身碟在Turbo C中寫的...
    現在如果我需要測試USB開機的話都是用MobaLiveCD這個
    算是小型的虛擬機器...

  2. 您好,我一直照著做…到了『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光碟就不行呢??

    • 剛剛找出原因了…原來是我要先在隨身碟創一個VirtualBox的資料夾…可是還有一個問題…請問按f12進入開機裝置選單之後…我怎麼按都沒反應…不知道要按什麼鍵來選擇開機裝置…

        • 抱歉再問一個問題…我用【2) Primary Slave】開機…就停在一個畫面…畫面上只有一個英文字『j』…然後就不動了…是我usb裡面的xp沒用好嗎??

          • 我看你的整個操作有一個很致命的錯誤:usb.vmdk 這個虛擬磁碟檔是要放在你電腦不是隨身碟的硬碟中,你的作法卻把它放在隨身碟中,這樣子隨身碟中的這個檔案是要給主端管還是客端管?
            好好想想我這一段話的意義吧!
            至於XP有沒有裝好,用實體的機器先試試吧

  3. 想請教:何以在虛擬機器底下使用過foxy,便無法連上網,頻寬佔滿,將虛擬網卡或實體網卡停用亦無效,關閉guest亦無效,非得host重開機後才能恢復上網?謝謝!

    • 這樣子應該是ADSL或是分享器當掉了,Foxy少用吧,你要人家的MP3或影片,人家可是肖想你硬碟中的資料哦!不要以為用虛擬機器就不會有事

  4. 老師您好:想請教,余隨身碟代號為「磁碟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,只能使用,無法存取資料吧!

    • 這種方法作出來的Live USB跟Live CD的功能是一樣的,因為你並沒有設定帳號密碼登入,所以USB只是當成唯讀的媒體在使用而已
      如果要能儲存設定的話就要有完整「安裝」過的系統才可以,也就是說要將隨身碟當成硬碟來執行安裝的步驟才可以

  5. 老師您好:感謝賜教!
    想請教,fedora9下測試安裝virtualbox,使用rpm -ivh virtualbox.rpm卻出現相容性問題,後來只得yum install 一個一個安裝所需套件,最終亦能成功安裝,可有其他能克服相依性,解決安裝的方式?
    再請教「欲維護host的安全、避免中毒,guest連線方式是否應設為nat、不分享資料夾、可否使用host與guest間複製貼上功能呢?」與「虛機上跑 FOXY」問題,尚祈賜教!
    再請教,余曾在虛機XP1上試過加入虛機XP2硬碟,兩者都使用過快照,下次欲啟動虛機XP2便無法開啟。想請教,本意是想新增1顆虛擬硬碟,然後讓各個虛機能讀取儲存資料使用,但似乎不行!對了,虛擬機亦可掛載實機硬碟,那是否有相同問題呢?謝謝!

    • 只要用戶端套件安裝好了就可以在主端客端複製貼上
      至於兩台虛擬機器用同一個硬碟一定會出問題的,請你想想在一顆硬碟中安裝兩次XP會有什麼情形?就是那樣子
      至於用要直接存取硬碟可以透過rawdisk的方法來作,不過如果是一顆硬分碟分割成多個Partition則又會有啟動分割(Activate partition)的問題,所以實務上是以獨立的硬碟來作會比較好,方法請參考我另一篇Virtualbox 用USB開機的文章

  6. 老師您好:
    想請教,virtualbox功能列上「檔案」下「匯入應用裝置」與「匯出應用裝置」是作啥使用呢?
    另外,只要用戶端套件安裝好了就可以在主端客端複製貼上,目前僅能及於文字,尚不能像vmware檔案複製與貼上的方便性吧!另virtualbox僅能直線快照,假設有快照1-快照2-快照3,不能直接跳到快照1吧!功能性較不如vmware,但整體說來,還是即佳的虛擬軟體。
    「至於兩台虛擬機器用同一個硬碟一定會出問題的,請你想想在一顆硬碟中安裝兩次XP會有什麼情形?就是那樣子」余意思是虛機1內新增1個虛擬硬碟作為D碟,僅供存放資料,虛機2再掛載虛機1內的D碟,因怕使用實機的分享資料夾中毒到實機!對了,想請教,虛機連線方式是否設為NAT,較不易虛機中毒至實機?

    • 匯入/匯出應用裝置我沒去研究,
      vmware是付費軟體,virtualbox是免費軟體,功能差一點是正常的.要不然有誰願意花錢買wmware?
      虛擬硬碟如果只是存資料應該是可以的,但是連線方式設為NAT的話就要用Virtualbox的資料夾分享功能,不能用Windows的網路芳鄰共享,各有利弊

  7. 老師您好:先前使用virtualbox2.x版時,記得可以del或其他鍵來進入bios設定,可是自3.x以後,virtualbox介面似有部分更動,現在虛機啟動前按f12則進入boot選擇硬碟,想請教老師,如何進入虛機的bios,謝謝!

      • 老師您好:
        余是想測試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倒還能接受,兩者速度差距不大。)

        • 最近不是有消息說Win7的XP模式不是已經不檢查硬體了?不過那是要去執行系統更新才可以用吧?
          XP模式試過一次就不想玩了,因為跟Virtualbox速度差太多了
          至於你想要用XP模式的安裝檔來裝在VB裡面那是不行的,那是VirtualPC專用的檔案,VB還是用一般XP的安裝光碟來裝的

    • 我的vb是3.6.1
      我和上面某個人一樣
      都能順利抓到隨身碟
      隨身碟也確定能夠開機
      但是就是在選2)第二顆硬碟開機時
      都會自動用1)第一顆硬碟開機
      後來發現在客機裡的隨身碟 裡面的資料都不能刪除 會出現'檔案或目錄損毀而且無法讀取'訊息 請問有方法解決嗎?
      在現在的條件下 如果將虛擬機器的usb設定開啟 則在選2)第二顆硬碟開機時 則會出現 could not read from the boot medium
      以上情形希望有人能幫我解決 我好想用vb測試usb開機阿~~

      • 我搜尋了一下好像網路上有很多這樣的情形不過都是英文的!
        我會建議你換一個CD ISO重作看看,好像是ISO檔的問題
        正好今天Ubuntu 10.10 LTS也出來了,試試看吧

    • 如果只是光碟映像檔解壓出來的USB,那也只是LiveUSB,就只是唯讀而已
      但是你可以用這個方法載入隨身碟,然後用光碟開機再安裝系統到這個隨身碟

  8. 我目前使用W7想用vbox模擬多一個W7來用
    目前只有重灌用的USB, 我依照大大的方法畫葫蘆
    VBoxManage internalcommands createrawvmdk -filename C:\VirtualBox\usb.vmdk -rawdisk \\.\PhysicalDrive1 -register

    但是一直出現
    error opening the raw disk '\\.\physicaldrive1':verr_access_denied

    為甚麼會這樣啊? access denied ㄟ @@''

  9. 不好意思 老師...
    我是樓上那位.. 按了Primary slave,後畫面出現一個底線後就無法回應了, USB方面我今天測試過沒問題(強迫幫我朋友重灌@@||)

    目前想重灌VBOX試試 @@

  10. 請問.......

    c:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands createrawvmdk -fi
    lename c:\usb.vmdk -rawdisk \\.\PhysicalDrive1 -register
    Oracle VM VirtualBox Command Line Management Interface Version 3.2.10
    (C) 2005-2010 Oracle Corporation
    All rights reserved.

    Error opening the raw disk '\\.\PhysicalDrive1': VERR_ACCESS_DENIED
    The raw disk vmdk file was not created

    為什麼???? 好奇怪ㄜ

    我因該打什麼

  11. VBoxManage internalcommands createrawvmdk -filename e:\UsbDisk.vmdk -rawdisk \\.\PhysicalDrive1 -register

    我打上述指令的時候,系統顯示沒有-register這個參數。但當我拿掉這參數時,沒錯是成功建立檔案,但不能指定為硬碟,何解??

    我用Windows 7 VirtualBox 版本為4.0,想開Slax開機手指

  12. 請問win7 host os & xp guest os 要以VPN方式連線到遠端WIN2K
    這個VPN應該是設在WIN7還是XP,連線後操作平台要在XP,望不吝指教,謝謝!

    • 你要用XP跟Win2K連就在XP設吧,跟是host或是guest應該沒很大的關係,不過網卡記得要設bridge,我另外一篇網芳的文章有說明,如果你是設NAT的話,肯定是連不起來的

  13. 請問我virtualbox 用過快照之後,下次再使用就出現錯誤了
    下面是出錯的訊息

    Runtime error opening 'D:\VirtualBox\VirtualBox Portable\data\.VirtualBox\Machines\WinXP\WinXP.vbox' for reading: -103 (Path not found.).

    E:\tinderbox\win-rel\src\VBox\Main\src-server\MachineImpl.cpp[685] (Machine::registeredInit).
    結果碼:
    E_FAIL (0x80004005)
    元件:
    VirtualBox
    介面:
    IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}

  14. 您好,感謝您的分享,小弟正想試隨身碟開機。
    但小弟在[Win7 x64]用[系統管理員]執行[命令提示字元]時夏方出現以下錯誤:

    WARNING: This is a development tool and shall only be used to analyse
    problems. It is completely unsupported and will change in
    incompatible ways without warning.

    Syntax error: Invalid parameter '-register'

    請問該怎麼辦呢?

  15. 高登您好

    請問您標題說的[VirtualBox設定由USB隨身碟開機]是指?

    是讓電腦可以不用進OS就可以透過UBS來啟動VirtualBox,

    還是電腦進入作業系統啟動VirtualBox後,讓VirtualBox可以透過USB來模擬USB開機?

  16. 高燈大師,小弟有個疑問,能否利用VBOX重灌XP,也就是說利用USB掛載硬碟,將它安裝在裡面,再用回去主機....

    謝謝

    • 硬體設備差太多,就算可以驅動程式也是要重裝,並不建議這樣作。
      至於實際的作法我有試過。卡在認不得磁碟機的格式,所以也沒有再研究下去了

      • 這樣啊,因為我這邊有一台電腦光碟機壞掉了,剛好有一顆IDE硬碟能轉成USB接頭得設備,想說用這方法來重灌XP....

        想不到這樣居然不行.....那只好另覓方法了

  17. 您好:
    感謝您的教學~
    按照步驟進行到--
    "接下來就是到你要設定USB隨身碟開機的虛擬機器的硬碟設定,加入這個新增出來的usb.vmdk映像檔。"
    VirtualBox出現以下錯誤:
    .................................

    開啟 硬碟 G:\VirtualBox\usb.vmdk 失敗。

    The medium 'G:\VirtualBox\usb.vmdk' can't be used as the requested device type.

    結果碼(&N): E_FAIL (0x80004005)
    元件: Medium
    介面: IMedium {53f9cc0c-e0fd-40a5-a404-a7a5272082cd}
    被呼叫端: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}
    ...............................

    請問該如何解決?感謝!

    我的系統是Windows 7 x64
    虛擬安裝檔放在"G"槽

  18. 在Vista/Win7底下不只要用管理員權限開命令提示字元

    建立完vmdk後,VB也是需要管理員權限才能使用

    沒有使用管理員權限開啟VB的話,會像樓上Duncan大一樣的情況

    麻煩高登大更新一下文章了

  19. 請問老師

    我照著老師的步驟做 我的隨身碟是G 磁區1
    VBoxManage internalcommands createrawvmdk -filename G:\usb.vmdk -rawdisk \\.\PhysicalDrive1

    我的是DOS開機的 但是換隨身碟開機時會卡死 請問時怎麼回事?

  20. 您好...打擾了

    很抱歉提問可能不相關的問題
    最近使用VirtualBox遇到一個問題

    開啟 CD/DVD 映像 G:\Fedora-17-i386-DVD.iso 失敗。

    Could not get the storage format of the medium 'G:\Fedora-17-i386-DVD.iso' (VERR_NOT_SUPPORTED).

    結果碼(&N): VBOX_E_IPRT_ERROR (0x80BB0005)
    元件: Medium
    介面: IMedium {53f9cc0c-e0fd-40a5-a404-a7a5272082cd}
    被呼叫端: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}

    我主機CPU是P4 3.2GHZ - DDR800 4G - XPPro系統
    在相同的網站下載ISO檔或是拷貝至不同主機使用
    有的主機OK 有的主機是不可以在VirtualBox掛載
    VirtualBox判定有問題的ISO檔卻是可解壓縮與執行
    在下在檔案時的檔案大小與實際下載後系統所看到的大小相差太多
    例如...3.6GB的檔案 在系統卻是顯示7X MB
    是系統的問題嗎???

  21. 請問站長 那如果我在host為ubuntu 12.04 x64 下的 Virtualbox 4.1.12 也要從USB開機測試 \\.\PhysicalDrive1這個參數要換成什麼
    要拿來作連結的USB裝置在mount指令顯示的訊息為
    /dev/sdi1 on /media/Andy_Rescue_System(Win7PE) type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

      • ㄟ好了 搞定
        andylin@andylin-Predator-G3600:~$ sudo vboxmanage VBoxManage internalcommands createrawvmdk -filename /home/andylin/桌面/Test.vmdk -rawdisk /dev/sdi

        要用時Virtualbox貌似要提昇至Root權限 之後再用我原本的/home/andylin/.VirtualBox以符號連結蓋掉/root/.VirtualBox
        掛上去guest
        就好了

        至於指令的部份謝謝高登提供 原版的說明看不懂==

  22. 我問一下喔!如果隨身碟用HP的程式做開機隨身碟,再用Virtualbox模擬GHOST您覺得這樣要怎麼用才行得通,除了光碟,USB感覺更方便!!

  23. 你好 我安裝圖中出現以下錯誤
    The I/O cache encountered an error while updating data in medium "ahci-0-1" (rc=VERR_ACCESS_DENIED). Make sure there is enough free space on the disk and that the disk is working properly. Operation can be resumed afterwards.
    也用USB開機 WIN10 64bit 如何解決?? 謝謝

高登 發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料