我有一台 pxe server,系统是 CentOS 的,基于BISO的启动,是可以的,但基于 UEFI 的启动就是不行。这个是什么问题?
这个是我的 DHCP 配置
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.51 192.168.0.200;
option domain-name-servers 192.168.0.5;
option domain-name "itlab.com";
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
#PXE boot server
# next-server 192.168.0.5;
#filename "pxelinux.0";
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
next-server 192.168.0.5;
if substring (option vendor-class-identifier, 15, 5) = "00009" {
filename "grubx64.efi";
} else {
filename "pxelinux.0";
}
}
}
我也尝试过使用官方的文档里面的 “shim.efi” 文件,也是一样的效果。
关于启动菜单的配置
/var/lib/tftpboot/grub.cfg
我是直接使用 "nano /var/lib/tftpboot/grub.cfg" 进行编辑的
set timeout=60
menuentry 'Install CentOS7' {
linuxefi /networkboot/rhel7/vmlinuz inst.repo=ftp://192.168.0.5/pub/rhel7/ISO/
initrdefi /networkboot/rhel7/initrd.img
}
这是我参考的文档:
https://docs.centos.org/en-US/centos/install-guide/pxe-server/#sect-network-boot-setup-uefi
在配置基于 BISO 的 PXE 启动时,有一个 default 文件,存放启动信息。但在配置基于 UEFI 的时候,为什么没有,直接配置 grub.cfg 文件?