如何在 VirtualBox 中從 USB 驅動器啟動?

如何在 VirtualBox 中從 USB 驅動器啟動?

問題很簡單直接:

如何在 VirtualBox 中從 USB 驅動器啟動?

編輯:

我已連接usb到 VirtualBox,如螢幕截圖所示。

https://i.stack.imgur.com/UPZZo.png

但即使已連接,也無法從 USB 驅動器啟動 (參考)

所以我想知道是否還有其他從USB驅動器啟動的可能性?

答案1

VirtualBox 本身不支援從 USB 裝置啟動。為了從 USB 裝置啟動,需要另一個引導程式。以下步驟提供了實現此目的的一種可能方法:

  1. 下載撲通啟動管理器(目前為v5.0.15)
  2. plpbt.iso從 ZIP 檔案中提取檔案並將其保存在某個位置。
  3. 開啟虛擬機器的設定並附加 ISO 檔案:

    在此輸入影像描述

  4. 為 USB 裝置新增過濾器:

    在此輸入影像描述

  5. 啟動虛擬機器並在選單中選擇“USB”選項:

    在此輸入影像描述

如果一切順利,機器現在應該從 USB 裝置啟動。

答案2

編輯:2018 年 3 月 7 日

這裡需要注意一點。重新啟動時將 USB 驅動器留在電腦中可能會更改/dev/sd驅動器盤符指定,從而導致原始usb.vmdk文件指向不正確的驅動器,從而無法在 VirtualBox 中啟動。作為測試,我在系統中留下了一個。/dev/sdi重啟之前是這樣,重啟之後是這樣/dev/sdc。當您重新啟動電腦進行任何變更時,請在重新啟動之前移除 USB 隨身碟。我正在研究是否可以從驅動器的 UUID 建立原始磁碟,因為這不會改變。


由於 VirtualBox 不會引導至 USB 驅動器,因此您可以建立.vmdk指向 USB 驅動器的檔案以引導至該驅動器。

筆記: 您必須將您的使用者帳戶新增至vboxusersVirtualBox 群組才能看到您的 USB。您還必須將您的帳戶新增至該disk群組中,否則您無法將.vmdk檔案新增至虛擬機器。在下面添加了說明編輯。這也不會將USB驅動器複製到硬碟上,而是直接使用USB。如果您想要保留 USB 上的持久性,這會很有幫助。 並非每種情況都相同,因此這可能不適用於每種情況。

首先,您需要在系統中建立您的 USB,並確定實體磁碟機是什麼。我們假設您的驅動器安裝為/dev/sdb1.因此,物理驅動器將是/dev/sdb.

接下來,從終端機視窗輸入以下內容以建立.vmdk指向 USB 隨身碟的檔案:

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

或者

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

然後你應該會看到類似這樣的內容:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

筆記:有些人遇到了新建立文件的所有權問題。取得新文件的所有權:

sudo chown $USER:$USER ~/usb.vmdk

然後您所要做的就是將該.vmdk檔案新增至您的 VirtualBox 虛擬機器並確保您可以啟動它。

在此輸入影像描述

編輯:

若要將您的使用者新增至vboxusers群組中,請執行以下命令:

sudo usermod -a -G vboxusers username

若要將您的使用者新增至disk群組中,請執行以下命令:

注意:將您的使用者新增至磁碟組可能很危險且有安全風險。這與使用 sudo 存取寫入原始磁碟一樣危險。

sudo usermod -a -G disk username

然後你必須重新啟動您的系統以使變更生效。

重啟前:

在此輸入影像描述

重啟後:

在此輸入影像描述

希望這可以幫助!

答案3

我幾天前才看到這篇文章。我不想使用 Plop Boot Manager,因為我的 USB 已經可以啟動了。

所以我嘗試透過創建將 USB 記憶棒指向 VMDK 磁碟(如 Terrance 答案中所示)vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

不幸的是,這不起作用......我chmodchown磁碟usb.vmdk,所以我能夠將它附加到虛擬機,但它根本不起作用。

最後,我嘗試了另一個解決方案,這個解決方案完美地運作了。在這裡(感謝吉安·桑托斯用於研究):

  1. 插入U盤並識別它(我的是/dev/sdb,運行Sabayon Linux);
  2. .vmdk透過以下方式建立磁碟將原始裝置(即 USB 記憶棒)轉換為 VirtualBox 磁碟

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. 現在您已經usb.vmdk從可啟動 USB 記憶棒建立了一個磁碟。我還嘗試將ddUSB 記憶棒插入圖像檔案並.vmdk從圖像檔案建立磁碟。它可以工作,以及.vdi以前一種方式創建的磁碟(或從映像檔)

  4. 現在,為已建立的磁碟授予權限,以便 VirtualBox 可以存取該檔案。這只是意味著將檔案擁有者變更為 vboxusers 群組中的用戶。如果您的 VirtualBox 安裝運作正常,那麼該擁有者可能是您:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. 現在,您只需將usb.vmdk磁碟附加到虛擬機器即可。但它必須連接到 IDE 控制器。我嘗試過SATA但沒有成功。

具有附加到 IDE 控制器的可啟動 <code>usb.vmdk</code> 的 VM 範例

此時,你就沒事了。

只需啟動新的虛擬機,按F12並選擇可啟動驅動器。

享受!

答案4

如果您的 USB 驅動器是 EFI 可啟動驅動器,則 Plop Boot Manager 將無法運作,因為它不支援 EFI 啟動。在這種情況下對我有用的是使用 rEFInd 啟動管理器(http://www.rodsbooks.com/refind/)。

  1. 下載 rEFInd 可啟動 iso 從http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download並解壓縮它。

  2. 在 VirtualBox 中開啟虛擬機器設定並附加 rEFInd CD ISO 檔案。

  3. 確保「系統」標籤中虛擬機器設定中的「啟用 EFI(僅限特殊作業系統)」選項已啟用。

  4. 啟動虛擬機,您應該會看到 rEFInd 啟動選單:

rEF查找選單

  1. 將您的 USB 隨身碟連接到 VirtualBox 中。

  2. 按退格鍵刷新選單或只需等待幾秒鐘,驅動器就會出現在選單中。

  3. 選擇您的 USB 隨身碟並按 Enter 鍵,您的 USB 隨身碟應該會開始啟動。

相關內容