![通过网络启动时 grub2 前缀错误](https://linux22.com/image/751321/%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E5%90%AF%E5%8A%A8%E6%97%B6%20grub2%20%E5%89%8D%E7%BC%80%E9%94%99%E8%AF%AF.png)
我有处于代理模式的 dnsmasq,使用以下配置提供 pxe 服务和 tftp 服务器:
port=0
log-dhcp
log-queries
log-facility=/var/log/dnsmasq.log
dhcp-range=192.168.0.0,proxy
enable-tftp
tftp-root=/tftp
pxe-service=x86-64_EFI,boot, grub/bootx64.efi
使用此配置。Grub 加载正常,但前缀、net_default_server 和 pxe_default_server 值错误。它们设置为 192.168.0.1,这是提供 DHCP 的路由器的 IP 地址。当我手动设置前缀和根并运行命令时normal
。配置加载,一切正常。
我正在使用ubuntu 提供的 grubnetx64.efi.signed 文件,带有用于安全启动的垫片。
grub 如何确定这些变量的值?
我可以永久改变它们吗?
答案1
这是 Shim/Grub 中一个长期存在的错误。
https://bugs.launchpad.net/ubuntu/+source/shim/+bug/1813541
它出现在代理配置中,其中 DHCP<>PXE。垫片是 TFTP 硬编码到 DHCP 并忽略 PXE 选项“下一个服务器”。由于您需要 (Microsoft) 签名的版本,因此您可以使用 Ubuntu 或 Debian。但多年来,这个问题仍未得到解决。