30.2.2. 为 EFI 配置 PXE 引导


  1. 如果还没有安装 tftp-server,请运行 yum install tftp-server
  2. In the tftp-server config file at /etc/xinetd.d/tftp, change the disable parameter from yes to no.
  3. Create a directory within tftpboot for the EFI boot images, and then copy them from your boot directory. In these examples we will name the subdirectory pxelinux, but any other name could be used.
    mkdir /var/lib/tftpboot/pxelinux
    cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi
  4. Configure your DHCP server to use the EFI boot images packaged with GRUB. (If you do not have a DHCP server installed, refer to the DHCP Servers chapter in the Red Hat Enterprise Linux Deployment Guide.)
    /etc/dhcp/dhcpd.conf 中的示例配置如下:
      option space PXE;
      option PXE.mtftp-ip    code 1 = ip-address;
      option PXE.mtftp-cport code 2 = unsigned integer 16;
      option PXE.mtftp-sport code 3 = unsigned integer 16;
      option PXE.mtftp-tmout code 4 = unsigned integer 8;
      option PXE.mtftp-delay code 5 = unsigned integer 8;
      option arch code 93 = unsigned integer 16; # RFC4578
    
      subnet 10.0.0.0 netmask 255.255.255.0 {
              option routers 10.0.0.254;
              range 10.0.0.2 10.0.0.253;
    
              class "pxeclients" {
                      match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
                      next-server 10.0.0.1;
    
                      if option arch = 00:06 {
                              filename "pxelinux/bootia32.efi";
                      } else if option arch = 00:07 {
                              filename "pxelinux/bootx64.efi";
                      } else {
                              filename "pxelinux/pxelinux.0";
                      }
              }
    
              host example-ia32 {
                      hardware ethernet XX:YY:ZZ:11:22:33;
                      fixed-address 10.0.0.2;
              }
      }
  5. Add a config file to /var/lib/tftpboot/pxelinux. The file should either be named efidefault or named after the IP address, converted into hexadecimal format without delimiters. For example, if your machine's IP address is 10.0.0.1, the filename would be 0A000001.
    A sample config file at /var/lib/tftpboot/pxelinux/efidefault might look like:
    default=0
    timeout=1
    splashimage=(nd)/splash.xpm.gz
    hiddenmenu
    title RHEL
            root (nd)
            kernel /rawhide-x86_64/vmlinuz
            initrd /rawhide-x86_64/initrd.img
    关于如何指定安装源的步骤,请参考 第 7.1.3 节 “其他引导选项”
  6. 将 splash 映像复制到 tftp 根目录下:
    cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
  7. 将引导映像复制到 tftp 根目录下:
    cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rhel6/
  8. Boot the client system, and select the network device as your boot device when prompted.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.