捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 > 01 麒麟桌面系统 > 正文
28 2026.05

通过PXE实现网络批量安装系统

点击次数:3 更新时间:2026/5/28 17:15:43  【打印此页

一、前言

  PXE引导需要通过服务器硬件的固件来实现。具体操作方法可以参考硬件的使用手册,本文内容以部署网络安装服务的基础环境进行讲解。

 

  部署PXE网络安装前,我们需要了解在这个过程中我们会用到的几个服务:首先是DHCP服务,这个服务为来自PXE的网络请求分配IP地址,后续的网络连接会通过这个IP地址进行网络通信。

 

  其次会用到TFTP服务,这个服务用来传输安装引导所需要的文件,实现通过网络引导进入操作系统安装界面。

 

  最后是Web服务,被安装主机通过HTTP协议从Web服务器下载安装系统所需要的各种软件包,进行操作系统安装。

 

  本文以同一台设备同时部署DHCP、TFTP及WEB服务为例进行讲解,本机的IP地址设置为192.168.10.254/24,使用192.168.10.0/24这个网段 。

 

二、DHCP服务部署

  使用yum工具安装dhcp软件包,如果您的环境无法联网,可以使用操作系统安装光盘来配置yum源地址,避免安装过程遇到软件包相互依赖导致安装失败的问题。

    yum install dhcp syslinux

 

  修改DHCP服务配置/etc/dhcp/dhcpd.conf配置文件如下:

    option space pxelinux;

    option pxelinux.magic code 208 = string;

    option pxelinux.configfile code 209 = text;

    option pxelinux.pathprefix code 210 = text;

    option pxelinux.reboottime code 211 = unsigned integer 32;

    option architecture-type code 93 = unsigned integer 16;

    subnet 192.168.10.0 netmask 255.255.255.0 {

    option routers 192.168.10.254;#dhcp服务目标IP

    range 192.168.10.100 192.168.10.200;

    next-server 192.168.10.254;#tftpd目标IP

    class “pxeclients” {

    match if substring (option vendor-class-identifier, 0, 9) = “PXEClient”;

    if option architecture-type = 00:07 {

    filename “bootx64.efi”; #光盘 /EFI/BOOT/BOOTX64.EFI 文件

    } else {

    filename “pxelinux/pxelinux.0”;

    }

    }

    }

 

  配置文件中定义了自动获取的IP地址池范围是192.168.10.100到192.168.10.200,并且在获得IP地址后会访问192.168.10.254。DHCP服务根据来自PXE的申请自动判断引导类型,自动选择UEFI引导加载 bootx64.efi 文件,或者 Legacy 引导加载 pxelinux/pxelinux.0 文件。

 

  启动DHCP服务,并设置开机自动启动:

    systemctl restart dhcpd ; systemctl enable dhcpd

 

三、TFTP服务部署,(tftp,xinetd可能需要在线安装)

  使用yum工具安装tftp服务:

    yum install tftp-server xinetd

 

  修改/etc/xinetd.d/tftp文件,我们需要将这个文件中 disable 的设置修改为no:

    # default: off

    # description: The tftp server serves files using the trivial file transfer \

    # protocol. The tftp protocol is often used to boot diskless \

    # workstations, download configuration files to network-aware printers, \

    # and to start the installation process for some operating systems.

    service tftp

    {

    socket_type = dgram

    protocol = udp

    wait = yes

    user = root

    server = /usr/sbin/in.tftpd

    server_args = -s /var/lib/tftpboot

    disable = no

    per_source = 11

    cps = 100 2

    flags = IPv4

    }

 

  启动xinted服务,并将该服务设置为开机自动启动:

    systemctl restart xinetd ; systemctl enable xinetd

 

  TFTP服务安装后,会创建/var/lib/tftpboot目录,我们需要把引导过程用到的文件复制到这个目录中,在客户端获得IP信息后,会通过TFTP访问该目录内容并下载文件,引导进入操作系统安装界面:

    /var/lib/tftpboot/

    ├── grub.cfg # 手动创建,下有内容编写

    ├── grubx64.efi # 光盘 /EFI/BOOT/grubx64.efi 文件

    ├── images

    │ ├── initrd.img # 光盘 /images/pxeboot/initrd.img 文件

    │ └── vmlinuz # 光盘 /images/pxeboot /vmlinuz 文件

    ├── pxelinux #创建pxelinux文件夹,添加光盘/isolinux/*

    │ ├── boot.msg # 光盘 /isolinux/boot.msg 文件

    │ ├── initrd.img -> ../images/initrd.img #软链接

    │ ├── pxelinux.0 # /usr/share/syslinux/pxelinux.0

    │ ├── pxelinux.cfg #手动创建

    │ │ └── default #手动创建

    │ ├── splash.png #光盘 /isolinux/splash.png 文件

    │ ├── vesamenu.c32 #光盘 /isolinux/vesamenu.c32 文件

    │ └── vmlinuz -> ../images/vmlinuz #软链接

    └── bootx64.efi #光盘 /EFI/BOOT/BOOTX64.EFI 文件

 

  /var/lib/tftpboot/grub.cfg文件对应EFI的引导方式,这个文件的内容如下:

    set timeout=60

    menuentry ‘Install Kylin Linux Advanced Server V10′ {

    linuxefi /images/vmlinuz ip=dhcp inst.repo=http://192.168.10.254/ky10

    initrdefi /images/initrd.img

    }

 

  /var/lib/tftpboot/pxelinux/pxelinux.cfg/default文件对应Legacy的引导方式,这个文件的内容如下:

    default vesamenu.c32

    prompt 0

    timeout 600

    display boot.msg

    label linux

    menu label

    Install Kylin Linux Advanced Server V10

    menu default

    kernel vmlinuz

    append initrd=initrd.img ip=dhcp inst.repo=http://192.168.10.254/ky10

    label vesa

    menu label Install Kylin Linux Advanced Server V10 in

    basic graphics mode

    kernel vmlinuz

    append initrd=initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://192.168.10.254/ky10

 

四、WEB服务部署

  安装WEB服务:

    yum install httpd

 

  创建KY10目录用于提供中标麒麟高级服务器操作系统KY10安装介质的HTTP访问:

    mkdir -p /var/www/html/ky10

 

  准备WEB服务所需要用到的数据文件。这里我们提供了三种方式,分别是复制光盘数据到本地磁盘、直接挂载光盘到指定目录及直接挂载ISO文件到指定目录:

    挂载光盘到/mnt目录

    # mount /dev/sr0 /mnt

    复制数据到/var/www/html/KY10目录

    # shopt -s dotglob

    # cp -avRf /mnt/* /var/www/html/ky10

    或者使用下面方式,直接将光盘挂载到/var/www/html/ky10

    # mount /dev/sr0 /var/www/html/ky10

    如果使用的是ISO文件,可以这样挂载,请根据实际情况调整ISO文件路径:

    # mount -o loop /opt/ky10.iso /var/www/html/ky10

 

五、kickstart R系自动应答安装

  /root/initial-setup-ks.cfg

 

六、防火墙设置

  默认情况下,系统会开启防火墙设置,我们为了使上面的服务正常对外提供响应,需要开放下列端口号:

    - DHCP服务67/UDP

    - TFTP服务69/UDP

    - Web服务80/TCP

 

  通过 firewall-cmd 命令添加防火墙设置:

    firewall-cmd –add-service=dhcp –add-service=tftp –add-service=http –permanent

    firewall-cmd –reload

 

六、追加银河麒麟桌面V10的安装选项

  如果我们需要在已经部署完成的服务器网络安装基础环境上追加安装选项内容,需要调整引导启动过程提供的菜单列表,例如这里我们以添加银河麒麟桌面操作系统V10为例,进行讲解。

 

  银河麒麟桌面版本本身提供了LiveCD的运行模式,这个过程中加载了一个约2.7G的squashfs文件,如果通过网络下载这个文件,会花费大量时间,因此在桌面操作系统的网络安装配置上,和服务器版本略有区别,下面是部署过程。

 

  需求服务:dhcpd,tftpd,nfs,自动应答

 

  (一)调整引导配置文件

    我们首先需要修改的是对应EFI引导方式的 /var/lib/tftpboot/grub.cfg配置文件与对应Legacy引导方式的/var/lib/tftpboot/pxelinux/pxelinux.cfg/default配置文件。

 

    在/var/lib/tftpboot/grub.cfg配置文件中加入下面内容:

      set timeout=60

      menuentry ‘Install Kylin Linux Advanced Server V10’ {

      linuxefi /images/vmlinuz ip=dhcp inst.repo=http://192.168.10.254/ky10

      initrdefi /images/initrd.img

      }

      menuentry ‘ Install Kylin-Desktop V10’ {

      linuxefi /casper/vmlinuz boot=casper only-ubiquity netboot=nfs nfsroot=192.168.10.254:/opt/kylinos/V10 audit=0 quiet splash —

      initrdefi /casper/initrd.lz

      }

 

    在/var/lib/tftpboot/pxelinux/pxelinux.cfg/default配置文件中加入下面内容:

      default vesamenu.c32

      prompt 0

      timeout 600

      display boot.msg

      label linux

      menu label

      Install Kylin Linux Advanced Server V10

      menu default

      kernel vmlinuz

      append initrd=initrd.img ip=dhcp inst.repo=http://192.168.10.254/ky10

      label vesa

      menu label Install Kylin Linux Advanced Server V10 in

      basic graphics mode

      kernel vmlinuz

      append initrd=initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://192.168.10.254/ky10

      label desktop

      menu label Install Kylin-

      Desktop V10

      kernel /casper/vmlinuz

      append boot=casper only-ubiquity initrd=/casper/initrd.lz netboot=nfs nfsroot=192.168.10.254:/opt/kylinos/V10 audit=0 quiet splash —

 

    完成以上设置后,我们在引导成功后的启动菜单中,都能看到“Install Kylin-Desktop V10”的选项。

 

  (二)配置NFS服务

    我们使用NFS服务来对外共享前面提到的squashfs文件,这样客户端可以直接将该文件挂载到本地目录环境下进行访问。

 

    安装NFS服务:

      yum install nfs-utils

 

    创建目录/opt/kylinos/V10

      mkdir -p /opt/kylinos/V10

    这里我们用挂载的方式将ISO文件挂载到刚刚创建的这个V10目录,如果计划复制光盘中所有文件到本地磁盘或者通过光盘提供访问,可以参考本文前面服务器的操作方式进行操作。

      mount -o loop /opt/iso/kylinos_v10.iso /opt/kylinos/V10

 

    配置NFS共享,我们需要打开/etc/exports文件,添加下面内容:

      /opt/kylinos/V10 *(no_root_squash,no_subtree_check)

 

    启动NFS服务,并设置开机自动启动:

      systemctl restart nfs ; systemctl enable nfs

 

    防火墙开放NFS服务端口:

      firewall-cmd –add-service=nfs –permanent

      firewall-cmd –reload

 

  (三)准备TFTP文件

    为了系统能正常启动,我们还需要对/var/lib/tftpboot目录中的内容进行一些调整,因为在安装银河麒麟桌面时,加载的内核和服务器是完全不一样。

    /var/lib/tftpboot/

      ├── casper 需手动创建

      │ ├── initrd.lz 桌面光盘 /casper/initrd.lz 文件

      │ └── vmlinuz 桌面光盘 /casper/vmlinuz 文件

      ├── grub.cfg 需要修改

      ├── grubx64.efi 桌面光盘 /EFI/BOOT/grubx64.efi 文件

      ├── images 手动创建文件夹

      │ ├── initrd.img 服务器光盘/images/pxeboot/initrd.img

      │ └── vmlinuz 服务器光盘/images/pxeboot/vmlinuz

      ├── pxelinux 需手动创建,添加光盘/isolinux/*

      │ ├── boot.msg 服务器光盘 /isolinux/boot.msg 文件

      │ ├── casper -> ../casper/ 软链接

      │ ├── initrd.img -> ../images/initrd.img

      │ ├── pxelinux.0 R系/usr/share/syslinux/pxelinux.0

      │ ├── pxelinux.cfg 需手动创建

      │ │     └── default 需要创建修改

      │ ├── splash.png

      │ ├── vesamenu.c32 服务器光盘 /isolinux/vesamenu.c32

      │ └── vmlinuz -> ../images/vmlinuz

      └── bootx64.efi 桌面光盘 /EFI/BOOT/BOOTX64.EFI 文件

 

以上操作完成后,您在客户端通过PXE网络引导时,就能看到银河麒麟桌面版本的安装菜单选项,并可通过该选项进行操作系统安装。

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:3 更新时间:2026/5/28 17:15:43  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修