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
  2. 允许到防火墙中的 tftp 服务的传入连接:

    # firewall-cmd --add-service=tftp

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

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

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

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

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

    # mkdir /var/lib/tftpboot/redhat
    # cp -r /mount_point/EFI /var/lib/tftpboot/redhat/
  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
  7. 修复复制的文件的权限:

    # chmod -R 755 /var/lib/tftpboot/redhat/
  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
        	}
    }
    • 安装程序在没有运行时镜像的情况下无法引导。使用 inst.stage2 引导选项指定镜像的位置。另外,您可以使用 inst.repo= 选项指定镜像和安装源。
    • inst.repo 一起使用的安装源位置必须包含有效的 .treeinfo 文件。
    • 当您选择 RHEL10 安装 DVD 作为安装源时,.treeinfo 文件会指向 BaseOS 和 AppStream 存储库。您可以使用单个 inst.repo 选项来加载这两个软件仓库。
  9. 启动并启用 tftp.socket 服务:

    # systemctl enable --now tftp.socket

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部