![在 UEFI moce 中通过 PXE 启动 Linux 工具](https://linux22.com/image/1474063/%E5%9C%A8%20UEFI%20moce%20%E4%B8%AD%E9%80%9A%E8%BF%87%20PXE%20%E5%90%AF%E5%8A%A8%20Linux%20%E5%B7%A5%E5%85%B7.png)
我一直在使用 iPXE 在我们的实验室中设置网络启动环境,在传统模式下一切正常,但在 UEFI 中,我无法启动某些 Linux 工具(如 clonezilla、parted magic 等),我尝试使用传统菜单中的相同配置,但总是出现错误
"Kernel panic - not syncing: Unable to mount root fs on unknown-block(0,0)"
我确信这是一件简单的事情,但就是找不到有关此问题的任何信息,也许这甚至是 iPXE 的一个问题。
这是我的 iPXE 菜单。
:parted
echo Starting PartedMagic 2015 (64bit)
kernel ${http-images}/parted/bzImage64
initrd ${http-images}/parted/initrd.img
initrd ${http-images}/parted/fu.img
initrd ${http-images}/parted/m64.img
initrd ${http-images}/parted/files.cgz
imgargs bzImage64 edd=on vga=normal
boot || goto failed
goto start
:clonezilla
echo Starting CloneZilla with default options
kernel ${http-images}/clonezilla/vmlinuz
initrd ${http-images}/clonezilla/initrd.img
imgargs vmlinuz boot=live toram config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" vga=788 nosplash noprompt fetch=${http-images}/clonezilla/filesystem.squashfs union=overlay locales=en_US.UTF-8 keyboard-layouts=NONE ocs_live_batch="no" ocs_prerun01="mount -t nfs4 143.185.160.4:/storage/images /home/partimag -o noatime,nodiratime"
boot || goto failed
goto start
答案1
iPXE UEFI 模式不具备 BIOS 模式的所有功能。您找不到 UEFI iPXE 信息,因为它不存在。看来 iPXE 开发人员并不是真正的 UEFI 爱好者;我经常看到他抱怨整个 EFI 事情。
答案2
在 EFI 模式下,每个要使用的 initrd 也需要在 imgargs 中指定。这是 EFI 本身的限制,efi stub 的内核文档有专门针对该主题的章节