使用 PXE 网络引导安装 Ubuntu 系统(详细教程)
🧰 一、准备工作
项目 | 说明 |
---|---|
PXE 服务器 | 已安装 Ubuntu 的主机(建议 Ubuntu 20.04 或 22.04) |
目标机器 | 准备安装系统的空白主机 |
网络 | 两台设备需处于同一局域网中 |
Ubuntu ISO 镜像 | 下载地址:https://ubuntu.com/download/server |
📦 二、安装并配置 PXE 环境(在 Ubuntu 上操作)
1️⃣ 安装所需软件
sudo apt update
sudo apt install -y dnsmasq apache2 syslinux pxelinux
2️⃣ 准备 TFTP 服务(存储引导文件)
sudo mkdir -p /srv/tftp/pxelinux.cfg
sudo cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftp/
sudo cp /usr/lib/syslinux/modules/bios/* /srv/tftp/
3️⃣ 挂载 Ubuntu ISO 镜像
cd ~
mkdir -p /mnt/iso
sudo mount -o loop ~/Downloads/ubuntu-22.04-live-server-amd64.iso /mnt/iso
4️⃣ 复制 netboot 文件
sudo mkdir -p /srv/tftp/ubuntu-installer
sudo cp -r /mnt/iso/install/netboot/* /srv/tftp/ubuntu-installer/
5️⃣ 创建 PXE 引导菜单
sudo nano /srv/tftp/pxelinux.cfg/default
粘贴以下内容:
DEFAULT install
LABEL installKERNEL ubuntu-installer/amd64/linuxAPPEND vga=normal initrd=ubuntu-installer/amd64/initrd.gz --- quiet
6️⃣ 配置 dnsmasq(DHCP + TFTP)
找到你的网卡名称(用 ip a
,如 enp0s3
),然后:
sudo nano /etc/dnsmasq.d/pxe.conf
内容如下(替换网卡名称):
interface=enp0s3
dhcp-range=192.168.1.100,192.168.1.200,12h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/srv/tftp
pxe-service=x86PC, "Install Ubuntu", pxelinux
7️⃣ 搭建 HTTP 服务提供安装文件
sudo mkdir -p /var/www/html/ubuntu
sudo cp -r /mnt/iso/* /var/www/html/ubuntu/
sudo systemctl restart apache2
8️⃣ 启动 dnsmasq 服务
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
🖥️ 三、目标机器设置 PXE 启动
- 启动前按
Del
/F2
/F12
进入 BIOS 设置; - 启用 PXE Boot 或设置启动顺序为 Network Boot;
- 启动后,目标机会自动从网络加载引导程序;
- 然后你会看到 Ubuntu 安装界面,进入正常安装流程。
✅ 安装成功后
目标机器就能像正常那样完成 Ubuntu 安装,和光盘或 U 盘一样,只不过它是从网络获取安装内容。