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 如何解決?? 謝謝

mini-You 發表迴響取消回覆

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