我已经基于 Ubuntu Server 22.04.1 系统创建了一个大型 iPXE 服务器。我拥有不同 Linux 映像、Windows 安装程序和 Clonezilla Live 的条目。现在我还想包含一个条目扑通启动管理器,而且我发现没有任何可用的文档可以做到这一点,即使在 plop 启动管理器官方网站上也是如此。
我有一个名为 boot.ipxe 的启动菜单,配置如下本指南。
我尝试添加一个简单的条目来启动 plop 启动管理器,但是当我尝试启动它时,它失败了。这是该条目的内容:
:plpbt-5.0.15
kernel http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.bin
initrd http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.img vga=1 nfsmount=192.168.1.2:/free/pxe/os-images/plpbt-5.0.15/ nomodeset
boot
当我尝试启动该条目时,出现的错误如下:
http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.bin... ok
http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.img... ok
Could not boot: Error 0x2a818006 (https://ipxe.org/2a818006)
Could not boot: Error 0x2a818006 (https://ipxe.org/2a818006)
Insert system disk in drive.
Press any key when ready....
http 服务器(apache2)的根已经配置好了(我已经将它用于其他条目),但以防万一您需要它:它的/free/pxe
NFS 服务器配置为共享/free/pxe
(只读)我试图搜索一些关于 iPXE 菜单需要接收什么类型的文件作为内核和 initrd 的文档,但我认为关于这个问题的信息并不多。
那么有人知道我应该如何为 Plop Boot Manager 配置 iPXE 条目吗?
让我向您展示目录的树命令plpbt-5.0.15
:
.
├── 1README.TXT
├── doc
│ ├── liesmich.html
│ ├── liesmich.txt
│ ├── readme.html
│ └── readme.txt
├── experimental
│ └── usb4ksector
│ ├── 1README.TXT
│ ├── plpbt.bin
│ ├── plpbtrom.bin
│ ├── plpinstc.com
│ └── plpinst.com
├── install
│ ├── plpbtin.img
│ ├── plpbtin.iso
│ ├── plpinstc.com
│ └── plpinst.com
├── licence.txt
├── Linux
│ ├── 1README.TXT
│ ├── plpbt.bin
│ ├── plpbtrom
│ ├── plpbtrom.bin
│ ├── plpcfgbt
│ └── plpmkboot
├── pcmcia
│ ├── install
│ │ ├── plpbtin.img
│ │ ├── plpbtin.iso
│ │ ├── plpinstc.com
│ │ └── plpinst.com
│ ├── plpbt.bin
│ ├── plpbt.img
│ ├── plpbt.iso
│ └── plpbtrom.bin
├── plpbt.bin
├── plpbt.img
├── plpbt.iso
├── plpbtrom.bin
└── Windows
├── 1README.html
├── InstallToBootMenu.bat
├── InstallToMBR.bat
├── plpbt4win.exe
├── plpbt.bin
├── plpbtrom.bin
├── plpbtrom.exe
├── plpcfgbt.exe
├── plpcfgbtGUI.exe
├── plpinstc.bin
└── plpmkboot.exe
- 编辑 -
我意识到,根据我的经验,ipxe 配置文件条目中的参数通常最好放在行后面kernel
- 我以前见过 - 所以我尝试输入kernel
而不是initrd
,如下所示:
:plpbt-5.0.15
kernel http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.bin vga=1 nfsmount=192.168.1.2:/free/pxe/os-images/plpbt-5.0.15/ nomodeset
initrd http://192.168.1.2/os-images/plpbt-5.0.15/plpbt.img
boot
无论如何,它也没有用。
答案1
我已经找到了将 plop 启动管理器集成到我的 iPXE 菜单中的方法。
我所做的关键是将链式加载到 plop 启动管理器中提供的 PXE netboot-sample 示例中网站-文件链接。这是一个预配置的 PXE 工作示例,因此用户不需要配置任何东西,除了 DHCP - TFTP - 可能还有其他东西等等。
链式加载进入plop菜单的菜单项如下:
:chainplop
set 210:string tftp://192.168.1.2/ploplinux-netboot/
set 209:string pxelinux.cfg/default
chain http://192.168.1.2/ploplinux-netboot/pxelinux.0
设置命令,我在 ipxe 论坛上找到了答案 -iPXE 论坛
因此,当我进入:chainplop
选项时,它会加载 PXE(而不是 iPXE)并且我可以选择 Plop Boot Manager,这正是我最初想要的。