Virtualbox

virtualbox uefi PXEBoot

  • October 12, 2020

我已經成功地使用基於 BIOS 的系統設置了 PXEboot 環境(基於工頭)。我可以使用預設的 BIOS 子系統對 virtualbox 做同樣的事情。

隨著 UEFI 開始越來越流行,我想 PXEBoot 基於 UEFI 的系統。

我看到 Virtualbox 中有設置為“啟用 EFI” ,

grubx64.efi的 TFTP 伺服器和 ProxyDHCP 已準備好將其作為選項發送

但是在啟動這種啟用了 EFI 的 VM 之後,出現了一些奇怪的 shell,列出了幾個 BLK*: devices 就是這樣……

如何使用這個 shell 從 TFTP 請求啟動文件(我看不到 DHCP 流量)?

我發現了一些關於編輯的提示,但我的設備startup.nsh上都沒有這樣的文件BLK

我已經設法解決了這個問題。實際上它包括兩個問題。

  1. 啟用 EFI 時,VirtualBox 不支持 PXEBooting
  2. 使用裸機表明正在發送 DHCP 請求,但未處理 proxyDHCP“附加”響應(EFI PXEBoot 失敗)。原來這是dnsmasq的問題- 支持 EFI 的最低版本是 2.76

以下使用 Virtualbox 6.1 對我有用。在機器設置上執行以下操作:

  • “系統->啟用 EFI”
  • “網路->高級->適配器類型:半虛擬化網路(virtio-net)”。

有了這個,它預設啟動到 UEFI shell。鍵入exit,這會調出一個Boot Manager菜單。在該菜單中,UEFI PXEv4從引導管理器中選擇,您將看到一個新螢幕,上面顯示

>>Start PXE over IPv4.

然後它將啟動到您的 grub.cfg。要使 VM 通過 PXE 自動啟動,您需要進入啟動菜單並更改啟動順序。

請注意,要查看UEFI PXEv4,我特別選擇了Paravirtualized Network適配器。沒有其他工作。

引用自:https://unix.stackexchange.com/questions/369603