欢迎 on it road

配置 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 支持

在 CentOS 7 上为 PXE 引导服务器添加 UEFI 支持

在我们之前的文章 在 RHEL/CentOS 7 中搭建 PXE 引导服务器中,我们已经配置了一个 PXE 引导服务器并其中添加了 RHEL 7.5 安装选项。

该配置适用于基于 BIOS 的计算机系统,但不支持基于 UEFI 的客户端。

在本文中,我们将为 CentOS 7 上的 PXE 引导服务器添加 UEFI 支持。

日期:2020-09-17 00:11:53 来源:oir作者:oir