是否可以向 GRUB 添加一些“PXE 網路啟動”選項?
這是我可用的GRUB 菜單引導選項的範例:
1 menu label ^ 1) Xubuntu 14.04.02 LTS 2 menu label ^ 2) Windows 7, x86 & AMD64 3 menu label ^ 3) Windows 8, AMD64 4 menu label ^ 4) Hirens Boot CD 8.8, x86 5 menu label ^ 5) Kali 1.0.7 Live, amd64
為了在沒有鍵盤和螢幕的情況下修復/重新配置/救援伺服器或機器,能夠將遠端機器引導到 PXE 網路而無需物理靠近電腦以在 BIOS 中選擇 PXE 選項,這將非常有用。
將PXE 網路引導選項添加到 GRUB會很棒。就像是:
1 menu label ^ 1) Xubuntu 14.04.02 LTS - Sopalajo Mod, amd64 2 menu label ^ 2) Windows 7, x86 & AMD64 3 menu label ^ 3) Windows 8, AMD64 4 menu label ^ 4) Hirens Boot CD 8.8, x86 5 menu label ^ 5) Kali 1.0.7 Live, amd64 6 menu label ^ 6) PXE Network server on this LAN
我現在通過在 BIOS 中選擇 PXE 作為第一個引導選項來解決這個問題,但我並不總是希望 PXE 作為第一個引導選項。
只要 GRUB 包含一些真正有用的程序
grub-reboot
,例如或至少接受遠端重新配置,將 PXE 添加到 GRUB 可能是一個完美的解決方案。是否可以在 GRUB 引導菜單中添加 PXE 選項?
是的,您可以將(i)PXE啟動器添加到 Grub。
對於基於dpkg的系統,例如 Debian&derivatives:僅
apt-get install ipxe
需要我希望其他發行版也能相當舒適地集成它。
==> 下次重新啟動時將存在“PXE 啟動”菜單項。
如果您想了解內部工作細節:
安裝後掛鉤腳本使用“模板”文件自動將 iPXE 條目添加到 grub 配置中
/etc/grub.d/20_ipxe
。你最終會得到一個像下面這樣的條目
/boot/grub/grub.cfg
menuentry 'Linux NetBoot Environment' { set root='(hd0,1)' <More, less important options> linux16 /boot/ipxe.lkrn }
這只是意味著,在這種情況下,grub 將完全的電腦控制權交給了另一個“簡單”程序,而不是(linux-)核心
ipxe.lkrn
。MemTestx86 的啟動方式基本相同。PXE 堆棧是通常儲存在主機板某處的軟體。就在這種情況下,我們從 GRUB 的驅動程序可以訪問的某個地方載入它。
使用場景範例:
您將需要在驅動器上安裝基本 GRUB,首先具有 PXE 條目,然後在位置 2 上從(例如)分區 1 回退到本地鏈引導。
然後,iPXE 將使用的配置將取決於駐留在引導配置伺服器上的文件。在那裡,您將首先設置預設菜單選項“從本地分區 1 引導”,然後是更多選項(Boot-AV、SuperGrub、Debian NetInst…)。
==> 您的使用者通常不會觸摸任何東西,直到他們從本地安裝中看到圖形登錄提示。
引導順序:GRUB - iPXE - OS-in-Partition-1(如果 PXE 不成功,則回退到 OS-In-Partition-1)
==> 實際存在於 PC 上,您可以選擇其他引導選項。
==> 實際不在 PC 上,您可以將伺服器端 PXE 配置更改為“一次性”引導,而不是預設設置。