通过 grubx64.efi 进行 UEFI 启动:它是否支持 grub.cfg 中的 http linux 内核?

通过 grubx64.efi 进行 UEFI 启动:它是否支持 grub.cfg 中的 http linux 内核?

当通过适当的 DHCP 配置使用 bootx64.efi(依次是 grubx64.efi)启动 UEFI 机器时,是否可以使用 http linux 内核配置 grub.cfg,如下所示?

menuentry 'xxx' {
    linux  http://11.11.11.11/images/ubuntu/amd64/generic/bionic/daily/boot-kernel ...
    initrd http://11.11.11.11/images/ubuntu/amd64/generic/bionic/daily/boot-initrd
}

编辑:我做了一个测试,结果证明至少我的 grubx64.efi 版本不支持 http 内核路径。也许我需要重新生成具有网络支持的 grubx64.efi。

答案1

我认为 GRUB HTTP 语法会是这样的:

menuentry 'xxx' {
    linux  (http,11.11.11.11)/images/ubuntu/amd64/generic/bionic/daily/boot-kernel ...
    initrd (http,11.11.11.11)/images/ubuntu/amd64/generic/bionic/daily/boot-initrd
}

但是,您应该意识到 GRUB 此时可能依赖 UEFI 固件的网络支持。为了支持通过 HTTP 启动,固件需要支持 UEFI 规范版本 2.5 或更高版本。

如果您出于某种原因不需要 GRUB,我建议使用iPXE 引导加载程序用于 UEFI 网络引导目的:它比 GRUB 更面向网络,并且已经记录了使用HTTP进行UEFI启动的方法。它还经常更新,以解决各种硬件/固件的怪癖。

相关内容