之前的项目涉及到PXE,PXE本来只是支持加载同一个一个winpe启动,因为受到bootmgr和bcd的限制,想同时加载不同的winpe不行,现在吧这俩玩意儿改了就好了。
当然,这试验的仅仅是legacy启动,不是efi。
PXE Multiple WinPE Boot SOP
Warning: This SOP Is Only Satisfied With The PXELegacy Boot Mode.
注意:该SOP目前仅支持PXE Legacy Boot .
1) 获取必要文件:
从PXE安装目录(例如C:\PXERoot,下同)处拷贝bootmgr.exe到另一个文件夹(例如I:\testEditPxeFiles,下同);
从C:\PXERoot\boot 处拷贝BCD和pxeboot.0到I:\testEditPxeFiles;
拷贝PECheckSum_32.exe 和PECheckSum_64.exe 到 I:\testEditPxeFiles;
2)重命名文件:
例如:
重命名pxeboot.0 为pxeboot002.0;
重命名 BCD 为 BC2;
重命名bootmgr.exe 为 bootmg2.exe;
3)编辑pxeboot002.0:
用UltraEdit打开pxeboot002.0,找到下图此处,并将bootmgr.exe改为 bootmg2.exe,
保存文件;
4)编辑bootmg2.exe:
用UltraEdit打开bootmg2.exe,找到下图此处,并将BCD改为 BC2,
保存文件;
5)更新bootmg2.exe的校验和:
管理员模式打开cmd,使用PECheckSum_32.exe或者 PECheckSum_64.exe 去更新bootmg2.exe 的校验和,如下图:
注:32位windows操作系统,请使用PECheckSum_32.exe;64位windows操作系统,请使用PECheckSum_64.exe
6)编辑BC2:
管理员模式打开cmd,使用bcdedit(系统自带)更改BCD文件的默认启动winpe,如下图,将默认启动winpe由WinPE.wim改为winpe002.wim;
去除BC2的完整性校验:
7)
至此,相关文件的修改基本完成,将bootmg2.exe拷贝至PXE安装目录(例如C:\PXERoot)处,将BC2 和 pxeboot002.0 以及winpe002.wim 拷贝至C:\PXERoot\boot处;
打开文件夹C:\pxeRoot\pxelinux.cfg,编辑default文件,例如:
文件末尾添加如下内容,即可在PXE 的Boot Menu添加新的栏目(例如test002),在通过PXE启动时点选test002,从winpe002.wim启动;
#_ _ _
Label winpe002
menu label test002
kernel boot/pxeboot002.0