这真的很奇怪。在玩了几次 ubuntu 22.04 之后,我制作了两个 ISO,可以自动安装 ubuntu 22.04 服务器/桌面。
现在我正在尝试配置我的旧 PXE 服务器以自动安装 ubuntu 22.04。我首先尝试 netboot.xyz,它提供 sanboot 命令以从 ISO 文件启动。好吧,它在虚拟机(proxmox)中工作,但不在物理机(acer 台式机、lenovo T470 笔记本电脑)中工作。我很快决定放弃 ipxe,我需要更多时间来研究 ipxe。
所以我回到我的旧的但稳定的 PXE 服务器,它已经提供带有/不带有预置文件的 ubuntu 18.04,20.04 桌面/服务器。
让 ubuntu 22.04 使用 PXE 启动和自动安装并不难,这是我的配置。
pxelinux.cfg/默认
label Ubuntu 22.04 Server auto install
menu label Ubuntu 22.04 Server auto install
kernel tftp://192.168.11.7/images/ubuntu/22.04/amd64/vmlinuz
initrd tftp://192.168.11.7/images/ubuntu/22.04/amd64/initrd.gz
append ip=dhcp cloud-config-url=/dev/null url=http://192.168.11.7/jammy-server/ubuntu-22.04-live-server-amd64.iso autoinstall ds=nocloud-net;s=http://192.168.11.7/jammy-server/
label Ubuntu 22.04 Desktop auto install
menu label Ubuntu 22.04 Desktop auto install
kernel tftp://192.168.11.7/images/ubuntu/22.04/amd64/vmlinuz
initrd tftp://192.168.11.7/images/ubuntu/22.04/amd64/initrd.gz
append ip=dhcp cloud-config-url=/dev/null url=http://192.168.11.7/jammy-server/ubuntu-22.04-live-server-amd64.iso autoinstall ds=nocloud-net;s=http://192.168.11.7/jammy-desktop/
除了最后一部分(用户数据/元数据存储的位置)之外,它们几乎相同,因此,使用此配置,我在 proxmox 中创建了一个新的 VM,从 PXE 启动并选择安装桌面,没有任何问题。
安装过程大约需要 12-15 分钟,第一次重启后,我可以看到 ubuntu 登录屏幕。
在虚拟机上成功安装后,我继续在物理机上进行测试,安装过程也运行正常,但重新启动后,这些物理机就是无法进入 ubuntu,但没有错误消息,无论我选择什么服务器/桌面。但我很确定安装“完成”,所以我用 Live USB 启动机器,然后打包 /var/log/installer,并尝试检查这里的问题在于安装程序日志文件。
https://cdn-145.bayfiles.com/r0u1mdrbya/0a9c191e-1655797475/installer.tgz
我不知道为什么相同的配置在 VM 中可以运行但在桌面/笔记本电脑上却挂起。我真的没有任何线索。
任何意见和建议都将受到赞赏。
更新 2022/06/23 我认为这与 bios/EFI 启动问题有关 我没有在用户数据中配置存储布局,只是使用文档中的支持布局
storage:
layout:
name: direct
根据 URL https://ubuntu.com/server/docs/install/autoinstall-reference
The two supported layouts at the time of writing are “lvm” and “direct”.
By default these will install to the largest disk in a system
但它没有创建任何 ESP 分区。这是 PXE 自动安装后虚拟机中的磁盘布局
我可以添加自定义存储布局来添加 ESP 分区,但在 22.04 中,这样做真的是一场灾难。我必须为不同类型的硬盘编写许多配置。(/dev/nvme0n1、/dev/sda、/dev/vda),否则安装过程将失败。