配置 PXE 引导服务器以支持基于 UEFI 的系统:
使用 ssh 连接到 pxe-server.on-itroad.com。
调整 DHCP 服务器配置以支持 UEFI 系统。
[root@pxe-server ~]# vi /etc/dhcp/dhcpd.conf
在上述文件中搜索以下行。
#PXE boot server next-server 192.168.1.41; filename "pxelinux.0";
用以下配置替换上面的行。
class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.1.41; if substring (option vendor-class-identifier, 15, 5) = "00009" { filename "grubx64.efi"; } else { filename "pxelinux.0"; } }
重新启动 dhcpd.service 使更改生效。
[root@pxe-server ~]# systemctl restart dhcpd.service
如果 dhcpd.service 在启动过程中出现错误,则其中查找任何可能的语法错误并再次尝试重新启动该服务。
有关上述配置比较的更多详细信息,请参阅英特尔预引导执行环境 (PXE) 的 RFC 4578 动态主机配置协议 (DHCP) 选项。
现在,我们需要一个引导加载程序(例如 grubx64.efi )来支持 UEFI 客户端。
这个引导程序在 CentOS 7.5 ISO 中可用。
将 grubx64.efi 复制到 /var/lib/tftpboot 目录。
[root@pxe-server ~]# cp /var/ftp/pub/rhel7/EFI/BOOT/grubx64.efi /var/lib/tftpboot/
我们的 PXELINUX 菜单不适用于 UEFI 系统,因此我们必须为 UEFI 客户端创建另一个菜单。
菜单文件名为 grub.cfg,它位于 /var/lib/tftpboot 。
因此,我们将在此文件中定义 RHEL 7.5 安装选项如下:
[root@pxe-server ~]# cat >> /var/lib/tftpboot/grub.cfg << EOF > set timeout=60 > > menuentry 'Install RHEL 7.5' { > linuxefi /networkboot/rhel7/vmlinuz inst.repo=ftp://192.168.1.41/pub/rhel7/ > initrdefi /networkboot/rhel7/initrd.img > } > EOF
重新启动 tftp.service 使更改生效。
[root@pxe-server ~]# systemctl restart tftp.service
UEFI配置完成。
要测试配置,请将基于 UEFI 的系统连接到网络,然后将其打开。
UEFI 客户端将从 PXE 引导服务器获取上述菜单。
按 <ENTER> 开始安装。
我们的 PXE 引导服务器现在支持基于 BIOS 和 UEFI 的客户端。
相关教程:
在 RHEL/CentOS 7 中搭建 PXE 引导服务器
将 RHEL 6 安装选项添加到 PXE 服务器
在 CentOS 7 上为 PXE 引导服务器添加 UEFI 支持
在我们之前的文章 在 RHEL/CentOS 7 中搭建 PXE 引导服务器中,我们已经配置了一个 PXE 引导服务器并其中添加了 RHEL 7.5 安装选项。
该配置适用于基于 BIOS 的计算机系统,但不支持基于 UEFI 的客户端。
在本文中,我们将为 CentOS 7 上的 PXE 引导服务器添加 UEFI 支持。