我试图在vmware上设置一个ipxe环境。
我想用UEFI配置安装程序。
我已经设置了一个ubuntu服务器,并将其配置为pxe。
通过下载ipxe,isc-dhcpd,tftp-hpa和ngnix.
dhcp isc-dhcp.conf看起来像
subnet 192.168.101.0 netmask 255.255.255.0 {
range 192.168.101.50 192.168.101.100;
}
# add the following to /usr/local/etc/dhcpd.conf
option client-arch code 93 = unsigned integer 16;
if exists user-class and option user-class = "iPXE" {
filename "http://192.168.101.10/test.ipxe";
} else {
if exists client-arch {
if option client-arch = 00:00 {
filename "undionly.kpxe";
} elsif option client-arch = 00:07 {
filename "grubx64.efi";
} elsif option client-arch = 00:09 {
filename "grubx64.efi";
}
}
}并将tftp根配置为服务于grubx64.efi。
当我启动一个网络客户端时,我会得到grub命令提示符,在这里我希望得到一个grub菜单并选择OS来启动。

( echo $prefix,指向文件夹/EFI/ubuntu,我还尝试在该文件夹中配置grub以及grub.cfg .i.e。在root文件夹的根目录中。
我在这里所缺少的善意的建议,一旦我得到菜单,我将配置grub.cfg加载操作系统。
发布于 2021-07-13 17:34:02
这要归功于iPXE的工作方式。有几种不同的方法来解决这个问题。在https://serverfault.com/a/1069487/187998中可以看到一个答案,在那里构建iPXE时禁用/启用了一些特性,以便grub能够找到它在世界上的位置。
另一种方法是通过wimboot使用一些黑客,为grub提供一个虚拟文件系统,grub可以用来加载配置,请参阅https://forum.ipxe.org/showthread.php?tid=10739&pid=18277#pid18277
但是,有一种使用wimboot的方法很有效,您要做的是输入需要拥有可用的所有文件,您想要引导的可引导文件需要被命名为bootx64.efi,它可以本地地与imgfetch -n引导x64.efi连接到wimboot,这应该创建一个虚拟的VFAT (可以被grub读取),然后引导-n 64.efi,这就是您的grub。imgfetch与initrd是一样的,-n是-name的速记选项,您可以在文档中找到它。
尽管如此,您可能应该在iPXE和grub之间做出决定,而不是同时使用两者。
https://serverfault.com/questions/1066641
复制相似问题