使用 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 install
    KERNEL ubuntu-installer/amd64/linux
    APPEND 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 启动

  1. 启动前按 Del / F2 / F12 进入 BIOS 设置;
  2. 启用 PXE Boot 或设置启动顺序为 Network Boot;
  3. 启动后,目标机会自动从网络加载引导程序;
  4. 然后你会看到 Ubuntu 安装界面,进入正常安装流程。

✅ 安装成功后

目标机器就能像正常那样完成 Ubuntu 安装,和光盘或 U 盘一样,只不过它是从网络获取安装内容。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐