你有没有想过? 如果学校机房有 50 台电脑,每一台都要重装 Linux 系统,用 U 盘一台一台装要累死啦!
    PXE + Kickstart 技术 就像“克隆大法”:只需一台服务器,其他电脑开机联网,就能全自动安装系统,连软件、账号都提前配好!是不是很酷?

PXE 预启动

Preboot eXecution Environment,网卡自带“上网技能”。电脑没硬盘也能从网络启动,像从网络“下载”操作系统!

客户端网卡支持PXE → 从DHCP拿IP → 从TFTP下载启动文件 → 自动装机。

Kickstart

自动安装“答题卡”!把所有安装选项(分区、语言、软件包)提前写成 ks.cfg 文件,安装时自动读取,没人值守。

就像考试交了标准答案,电脑照做就行!

DHCP + TFTP

DHCP 自动给客户机发IP地址(像宾馆分房间)。
TFTP 简单文件传输,传递引导文件 pxelinux.0,内核等。搭档工作,缺一不可。

HTTP/FTP 服务器

存放系统安装镜像、YUM软件仓库。客户端通过网络下载需要的 RPM 包,安装办公软件、ntfs-3g工具等。

PXE 网络装机流程

1️⃣ 电脑开机
网卡请求IP

2️⃣ DHCP服务器
分配IP + 告诉TFTP地址

3️⃣ 下载引导文件
pxelinux.0

4️⃣ 读取菜单配置
选装系统版本

5️⃣ 加载内核 + 自动应答文件
ks.cfg → 自动安装

✅ 完成!
无需人工干预

📌 小提示:服务器要提供 DHCP、TFTP、HTTP/FTP 服务,客户端只要从网络启动(Network Boot)即可。

核心组件配置

DHCP 配置(分配IP & 告诉客户端PXE服务器位置)

subnet 192.168.100.0 netmask 255.255.255.0 {
    range 192.168.100.20 192.168.100.150;   # IP池
    next-server 192.168.100.10;             # TFTP服务器地址
    filename "pxelinux.0";                  # 启动文件名
}

TFTP 服务 & 引导文件

# 安装 tftp-server syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
# 配置启动菜单 default

启动菜单示例:图形化界面,支持选择 CentOS / RHEL,甚至本地硬盘启动。

PXE 图形化菜单 —— 像游戏选角色

通过 vesamenu.c32 模块和背景图片,学生机开机可以选择:
 安装 RHEL 6.7 | 安装 CentOS 6.7 | 救援模式 | 从硬盘启动
菜单倒计时默认30秒,无操作自动从硬盘启动,很智能!

# 修改 /var/lib/tftpboot/pxelinux.cfg/default
vesamenu.c32
menu background splash.jpg
menu title Welcome to PXE Installation Server
label rhel6
  menu label Install RH^EL 6.7 (Kickstart)
  kernel rhel6/vmlinuz
  append ks=http://192.168.4.254/pxe/ks-el6.cfg initrd=rhel6/initrd.img

ks=http://... 就是告诉安装程序去哪里下载自动应答文件!

无人值守的秘密武器 —— ks.cfg

Kickstart 文件里写了安装时的所有答案:语言、键盘、分区方式、root密码、要装的软件包(比如办公套件 LibreOffice、NTFS支持工具)。还可以写安装后的脚本,自动创建管理员备用账号!

创建备用管理员账号(UID=0 拥有root权限)

# 在 ks.cfg %post 段可以执行命令
useradd -u 0 -o zyadm
echo "123456" | passwd --stdin zyadm

 这样 zyadm 和 root 权限一样,防止忘记root密码!

安装额外软件(LibreOffice + ntfs-3g)

%packages
@base
libreoffice5*
ntfs-3g
%end

提前把这些软件包做成 YUM 仓库,自动安装!

 部署自己做的YUM仓库( createrepo )

# 把 rpm 包放到 /var/ftp/other ,运行 createrepo 创建仓库数据
createrepo /var/ftp/other
# 客户端配置 .repo 文件指向 ftp://服务器/other

这样安装完系统,办公软件、NTFS读写功能就自动配好啦!

 自动部署服务器主要服务总览

服务名称 作用 相当于生活中的例子
DHCP 分配IP地址,告知tftp服务器位置 快递员分配取件码
TFTP 传递pxelinux.0 启动引导文件 & 内核 打开门的钥匙
HTTP/FTP 存放安装镜像ISO,YUM软件包,ks.cfg文件 自助餐厅取餐区
Kickstart 自动应答配置 提前写好的任务清单 
Syslinux 提供pxelinux.0 + vesamenu.c32 图形模块 启动小管家

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐