通过 iPXE 安装 Debian

起源

想安装 Debian 12,但没 U 盘。

思考、观测

  • Debian 能通过网络安装,参考:Installing Debian using network booting

  • 但 PXE 太麻烦了,放弃。

  • 观测目标机器,发现其 EFI 有网络启动功能,还能按 Ctrl+B 进入 iPXE。

解决

  1. 开启网络启动,并关闭 Secure Boot。

  2. 看到 PXE 启动画面时,按 Ctrl+B,进入 iPXE。

  3. 输入 dhcp,使目标机器得到 IP 地址,成功即可下一步;但如果局域网内没有 DHCP Server,则需要手动配置:

1
2
3
4
5
6
7
set net0/ip 192.168.1.77
set net0/netmask 255.255.255.0
set net0/gateway 192.168.1.254
set dns 8.8.8.8

ifopen net0
ifstat net0

以上最后一条命令 ifstat net0 输入完后,应该能看到输出里有 open 的字样。

  1. 启动内核

以 Debian 12 为例,先设置网址前缀:

1
set URL http://mirrors.ustc.edu.cn/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/

注意,iPXE 里只支持 http。网址里的 mirrors.ustc.edu.cn 是中科大的镜像域名,在厦门、上海、长沙访问都很快。

1
2
3
kernel ${URL}linux console=ttyS1,115200n8 initrd=initrd.gz
initrd ${URL}initrd.gz
boot
  1. 加速安装

请参考《快速安装 Debian》,其中“按 Ctrl+Alt+F5 回到安装界面”这步需要改为“按 Ctrl+Alt+F1 回到安装界面”,因为通过 iPXE 启动的 Debian 安装程序是 TUI,运行于第一个控制台。

如果您使用微信,也可以关注公众号 UMU618,在公众号文章里评论。