|
本帖最后由 mygamexxx 于 2025-9-11 13:11 编辑
发现IPXE脚本 -n 参数是有用的,能解决一些问题。
#!ipxe
ifopen net0
ifstat
dhcp
set protocol http #初始化协议变量,走http
isset ${proxydhcp/next-server} && set booturl ${proxydhcp/next-server} || set booturl ${next-server} #有代理dhcp信息就直接取值,智能获取启动ip
:start
menu iPXE Boot Menu BootServer--${protocol}://${booturl}
item --key 1 winpe 1.Boot WinPE 64 (wimboot)
item --key 5 reboot 5.Reboot computer
choose --timeout 5000 selected
goto ${selected}
:reboot
reboot
:winpe
kernel ${protocol}://${booturl}/boot/wimboot_ipxe ${wimbootcmd} gui
#前后文件名称不相同时,要加 -n 参数,同时两个文件先后顺序不一样。
iseq ${platform} efi && initrd -n bootx64.efi ${protocol}://${booturl}/bootmgfw.efi || ##不加 -n 参数没有影响,名称首先用bootx64.efi(安全启动必须用bootx64.efi名称),bootmgfw.efi好像也可。
initrd -n bcd ${protocol}://${booturl}/boot/bcdpxe || ##两个文件名称不一样,不加 -n 参数,在BCD加载出错。
initrd -n boot.sdi ${protocol}://${booturl}/boot/boot.sdi || ##两个文件名称一样,不加 -n 参数没有影响。
initrd ${protocol}://${booturl}/boot/boot.wim boot.wim
imgstat && sleep 10
boot
|
|