本帖最后由 我是神仙 于 2014-9-20 09:23 编辑 1、EFI本地启动与EFI网启BCD不一样 笼统的说 “EFI本地启动与EFI网启BCD不一样” 不大好,因为下面紧接着就说了“EFI网启”有两种。 而有一种网启是可以和本地启动使用同一位置的同一文件的,另一种网启位置不同但内容可以是复制的同样文件 这里实际有谈到三种EFI启动(还有光盘UEFI是另外一种) 1 EFI本地启动:\efi\boot\bootx64.efi--> \efi\microsoft\boot\bcd --> pe.wim 2 PXE EFI过程:bootx64.efi --> \boot\bcd --> pe.wim 3 iPXE EFI过程:snponly.efi --> wimboot --> bootx64.efi--> bcd-->pe.wim 前面有\开头的文件是绝对目录,不能改,其他文件可以是任意目录。 即 1EFI本地启动 和 2PXE EFI网启由于目录名使用了不同的绝对目录 不能使用同一BCD文件。而且目录名差异过大,主要是长度差异太大,无法通过修改的方式指向同一文件。 但 3 iPXE EFI过程这个全部使用的是任意目录,所以它可以和 1EFI本地启动使用同一文件, 也可以和 2PXE EFI网启使用同一文件。 均测试通过 如 initrd ${base}/efi/boot/bootx64.efi initrd ${base}/efi/microsoft/boot/bcd initrd ${base}/boot/boot.sdi initrd ${base}/sources/boot.wim 这就和本地EFI启动使用同一BCD文件 改成 initrd ${base}/boot/bcd 这就和PXE的EFI启动使用同一BCD文件 都可以启动。 2、我之所以说iPXE与PXE不一样应该是有根据的: 我记得在另一贴中回复过你的 http://bbs.wuyou.net/forum.php?m ... p;page=3#pid2966506 发表于 2014-9-10 14:08:11 | 只看该作者 hhh333 发表于 2014-9-10 13:58 我改过bootx64.efi,没有问题,不想搞很多启动文件 刚才我也试了下 查找5C 00 42 00 43 00 44 即\BCD 改为其他的如BCG 确实可以启动。 这是81update1中的bootx64.efi网启时的BCD位置: 好像不是这里吧。好像有两处 一处是\bcd 一处是\boot\bcd 都要改吧?反正我两处都改了,可以启动 kernel wimboot initrd ${base}/efi/boot/bootx64.efi initrd ${base}/efi/microsoft/boot/bxe initrd ${base}/boot/boot.sdi initrd ${base}/sources/boot.wim 完全可以启动 我使用的boot.wim其实就是你那个h3cdall.iso里面pe8164.wim 对这个bcd文件的重复使用 我前几天研究过怎么用最少的文件支持各种启动,还发了个帖子 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=337945 所以还是比较熟悉 不过这些启动方式也就这几天熟悉,过几天可能就忘了 总归是太复杂了 |
我的是群辉启动PXE 加载的文件是pxeboot.n12 但是在启动的时候提示File:\boot\bxd Status:0xc000000f 这个文件出错 这个文件在tftp根目录下也是有的不知道为什么就是报错 |
感谢分析 好多看不懂 还在学习中 |
分析pxe的引导过程 |
EFI启动及PXE/iPXE的BCD位置 |
謝謝分享 |
ipxe支持启动win10吗 |
可惜现在情况变了, 本地启动efi bootx64.efi和bcd同目录就行 新版wimboot更不限制bcd位置,一样与bootx64同目录就好 只不过非要用微软的bootx64.efi通过pxe启动,bcd只能是/boot/bcd 当然通过winhex可以改下 最后结果都放一起就好了 |
不错参考价值太大了 |
本帖最后由 zhaohj 于 2014-11-12 15:27 编辑 准备使用 iPXE测试看看,问大家: 原先的PXE启动的使用中文的,bcd中包含很多pe,如w8pe/w8pe.wim、w8pe/w8pe1.wim、w8pe/w8pe2.wim ...... 现在用 iPXE,BCD怎么写? 我用普通的bios启动的,非efi |
怎么修改wimboot文件的boot路径呢?就是存放wim的,例如/boot/h3_864.wim。现在我wim放在其它地方,例如/1234/h3_864.wim,改名后的BCD已经指定了路径为/1234/h3_864.wim(这里先不讨论BCD),uefi ipxe时错误,路径都改为/boot/...就没问题。或者能给出委婉的解决办法? |
hhh333 发表于 2014-9-20 11:56 无所谓啊 正好 三者都用同一个bcd文件 252好像hanwin不支持 |
我是神仙 发表于 2014-9-20 11:31 两个代表的意义不同好不好,你改两个地方,如果用这个来本地启动,你必须在efi\microsoft\boot下准备改名的BCD文件。 近期在与Tiny PXE Server 作者交流他这个软件,他有一种更方便的方式,用DHCP 252 option带@arch变量来指明BCD位置,感觉也不错。就是[arch]段的功能还没有很好地实现。 |
hhh333 发表于 2014-9-20 10:25 总之都改了 wimboot就可以用改过名字的bcd 了 |
本帖最后由 hhh333 于 2014-9-20 10:31 编辑 我是神仙 发表于 2014-9-20 09:12 如上面的图所示: 将bootx64.efi用winhex查找\bcd,会找到两个,一个是\Boot\BCD--PXE启动时使用的BCD(真正位置:${pxeserver root}\Boot\BCD),另一个是\BCD--本地启动时BCD,而且前面有变量,实际指向\efi\microsoft\boot\bcd,因为将这个改一个名如B64,则会到这个地方去找B64 32位与此相似,在我发布的盘中这两个地方都改成了B32,实际上是不同地方的B32。 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.