buger 发表于 2014-9-17 15:34:00

ipxe uefi pxe HTTP启动文件及启动菜单的个人体会

ipxe 中的wimboot新完善了UEFI HTTP方式启动PE,经过测试成功,在制作启动文件和启动菜单中费了一番周折,一点体会和各位分享。
将wimboot复制到HTTP启动根目录,ipxe.krn复制到pxe启动根目录,当然最好是把HTTP启动根目录和pxe启动根目录设置在一起,这样可以共用所有启动文件,
步骤1 生成snponly.efi undionly.kpxe
https://rom-o-matic.eu/
script中按下面的格式生成
#!ipxe
dhcp
chain http://192.168.1.188/menu.ipxe
生成的snponly.efi undionly.kpxe复制到pxe启动根目录

步骤2 编辑http启动菜单menu.ipxe
如果希望uefi及pxe方式启动都用同一个菜单文件menu.ipxe
可以在菜单文件的开始使用 iseq ${platform} efi && goto is_efi || goto not_efi
然后在下面的两个段内分别编辑efi启动下的菜单及pxe启动下的菜单。
: is_efi
:not_efi
步骤3菜单文件编辑的要点,这里HTTP的ip为 192.168.1.188
isset ${ip} || dhcp
   isset ${next-server} || set next-server 192.168.1.188

这是uefi下的菜单,为简化结构,bcc为bcd改名而来,实践发现不需要bootx64.efi文件
:w8pe364
kernel http://${next-server}/wimboot
initrd -n BCD http://${next-server}/boot/bcc
initrd http://${next-server}/BOOT/boot.sdi
initrd http://${next-server}/winpe3.WIM
boot || goto failed
goto start

这是pxe部分启动菜单内的,为简化结构,bootmga.exe由bootmgr.exe修改BCD而来,bca为BCD改名而来,
:w8pe132pxe
kernel http://${next-server}/wimboot
initrd http://${next-server}/bootmga.exe    bootmgr.exe
initrd http://${next-server}/boot/bca         bca
initrd http://${next-server}/BOOT/boot.sdiboot.sdi   
initrd http://${next-server}/winpe1.WIM      winpe1.WIM   
boot || goto failed
goto start2

步骤4启动文件的准备
pxe启动在menu.lst中添加以下启动到HTTP方式
title HTTP高速启动菜单
pxe keep
chainloader --raw (pd)/undionly.kpxe

如果不想每次都到网站去生成undionly.kpxe,也可以用下面的菜单
title HTTP启动测试
pxe keep
kernel (pd)/Ipxe.krn
initrd (pd)/http.ipx
其中http.ipx为ANSI格式文本文件,文本内容可按本文开始script部分编辑。这样的方式修改比较方便。

UEFI启动只需在DHCP启动服务器的dhcpsrv.ini中添加下面这些,设置UEFI引导下的启动文件。
VendorClassId=PXEClient:Arch:00007:
BootFile2=snponly.efi
NextIP=192.168.1.188

我是神仙 发表于 2014-9-19 11:28:04

实践发现不需要bootx64.efi文件。。。

这个一般还是需要的。作者说了,默认也可以从boot.wim中自动解压缩bootmgfw.efi并自动改名为bootxx64.efi.如果找得到的话。有些PE精简了

2012jhbbwgl 发表于 2014-10-3 18:20:59

${next-server} 这是什么意思

510819776 发表于 2014-11-13 13:44:44

2012jhbbwgl 发表于 2014-10-3 18:20
${next-server} 这是什么意思

我真是苦逼
本以为自己的主板支持uefi pxe启动
结果主板设置都翻烂了 硬是没找到uefi pxe的启动设置
当硬盘有fat或efi分区时启动项会多出uefi ***字样 然后我把64位win7/8/ubuntu都用uefi方式搞定了
但是pxe启动 怎么都弄不出uefi -pxe之类的
整个主板设置 完全没有uefi/legacy之类设置 硬盘优盘主板直接通过是否有fat分区来判断能否uefi启动
但是网络启动是真的没有只能调出普通的pxe启动
后来突然想到 我bios不是原厂的原版 而是下载的别人修改的联想三激活的bios
难道是这个联想三激活的bios是把我原来bios的内置uefi pxe功能模块干掉了才换来的???
**
不过好在 插优盘直接就能uefi启动 也是很不错的 而且支持普通的pxe启动
只是我要测试uefi的pxe启动就死翘翘了

wh5486 发表于 2014-12-17 12:17:35

好文章必须上标记

a1379388505 发表于 2019-11-16 04:17:11

请问启动iscsi中UEFI的安装的win系统命令是怎么写的 我用传统引导的命令中途启动失败

hnrrn 发表于 2020-10-23 19:56:33

急急急 好评

王彬784428960 发表于 2020-10-29 21:06:53

ISCSI 这个里面可以放PE 放ghost文件 这样可以网络启动安装系统 不知道这个可不可以实现
页: [1]
查看完整版本: ipxe uefi pxe HTTP启动文件及启动菜单的个人体会