7.5. 为基于 UEFI 的客户端配置 TFTP 服务器


您必须配置一个 TFTP 服务器和 DHCP 服务器,并为基于 UEFI 的 AMD64、Intel 64 和 64 位 ARM 系统的 PXE 服务器启动 TFTP 服务。

重要

除了默认的 grub 菜单文件(grub.cfg)外,Red Hat Enterprise Linux 10 UEFI PXE 引导还支持基于 MAC 的 grub 菜单文件的小写文件格式。例如,grub2 的 MAC 地址文件格式可以是 grub.cfg-01-aa-bb-cc-dd-ee-ff

流程

  1. 以 root 用户身份,安装以下软件包:

    # dnf install tftp-server
    Copy to Clipboard Toggle word wrap
  2. 允许到防火墙中的 tftp 服务的传入连接:

    # firewall-cmd --add-service=tftp
    Copy to Clipboard Toggle word wrap

    这个命令启用了临时访问,直到下次服务器重启为止。

  3. 可选:要启用永久访问,请重复之前的命令和 --permanent 选项。

    根据安装 ISO 文件的位置,您可能需要允许 HTTP 或者其他服务的进入连接。

  4. 访问 DVD ISO 镜像中的 EFI 引导镜像文件:

    # mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
    Copy to Clipboard Toggle word wrap
  5. 复制 DVD ISO 镜像中的 EFI 引导镜像:

    # mkdir /var/lib/tftpboot/redhat
    # cp -r /mount_point/EFI /var/lib/tftpboot/redhat/
    Copy to Clipboard Toggle word wrap
  6. 创建一个子目录,以将引导镜像文件存储在 /var/lib/tftpboot/ 目录中,并将引导镜像文件复制到 目录。在这个示例中,目录为 /var/lib/tftpboot/images/RHEL-10/

    # mkdir -p /var/lib/tftpboot/images/RHEL-10/
    # cp /mount_point/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-10/
    # umount /mount_point
    Copy to Clipboard Toggle word wrap
  7. 修复复制的文件的权限:

    # chmod -R 755 /var/lib/tftpboot/redhat/
    Copy to Clipboard Toggle word wrap
  8. 使用以下示例替换 /var/lib/tftpboot/redhat/EFI/BOOT/grub.cfg 的内容:

    set default="1"
    set timeout=60
    
    function load_video {
      insmod efi_gop
      insmod efi_uga
      insmod video_bochs
      insmod video_cirrus
      insmod all_video
    }
    
    load_video
    set gfxpayload=keep
    
    menuentry 'Install Red Hat Enterprise Linux 10.0' --class fedora --class gnu-linux --class gnu --class os {
        	linuxefi /images/RHEL-10/vmlinuz inst.repo=http://192.168.124.2/redhat/iso quiet
        	initrdefi /images/RHEL-10/initrd.img
    }
    submenu 'Troubleshooting -->' {
        	menuentry 'Install Red Hat Enterprise Linux 10.0 in text mode' --class fedora --class gnu-linux --class gnu --class os {
                	linuxefi /images/RHEL-10/vmlinuz inst.repo=http://192.168.124.2/redhat/iso inst.text quiet
                	initrdefi /images/RHEL-10/initrd.img
        	}
        	menuentry 'Rescue a Red Hat Enterprise Linux system' --class fedora --class gnu-linux --class gnu --class os {
                	linuxefi /images/RHEL-10/vmlinuz inst.stage2=http://192.168.124.2/redhat/iso inst.rescue quiet
                	initrdefi /images/RHEL-10/initrd.img
        	}
    }
    Copy to Clipboard Toggle word wrap
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含有效的 .treeinfo 文件。
    • 当您选择 RHEL10 安装 DVD 作为安装源时,.treeinfo 文件会指向 BaseOS 和 AppStream 存储库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  9. 启动并启用 tftp.socket 服务:

    # systemctl enable --now tftp.socket
    Copy to Clipboard Toggle word wrap

    PXE 引导服务器现在可以提供 PXE 客户端。您可以启动客户端,它是您要安装 Red Hat Enterprise Linux 的系统。当提示指定一个引导源时,选择 PXE BootNetwork Boot,并开始网络安装。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat