用win7时我一直用win7的pe,也就是winpe3.X来维护系统,win8.1出了后pe就升级到pe5.X了。这样也没出什么问题,uefi和bios启动也都好好的,但最近water网友反馈win7系统不能以uefi方式启动在硬盘上的winpe5.1,问题在这里

http://www.wingwy.com/archives/2012_02_998.html/comment-page-3#comment-20981

刚好前几天用vm搞了个win7的虚拟机,就测试了一下,最终解决的办法很简单,但我觉得过程还有点意思,写下来记录一下。

我最开始以为是这winload.efi的path问题。在win下运行bcdedit,发现硬盘pe的path是C:\Windows\System32\winload.efi。而光盘版的path是C:\Windows\System32\boot\winload.efi。同样是efi方式启动wim文件,应该没区别啊,会不会是path出了问题?说实话微软这几年把windows的启动搞的让人不好理解,光是这个系统载入相关的就有C:\Windows\Boot\下的一堆文件,C:\Windows\System32\Boot下的winload以及C:\Windows\System32\下的winload。我也好久不折腾这个了,分不清这几个winload的作用。但光盘版efi启动的pe好好的,就把path改成C:\Windows\System32\boot\winload.efi,结果还是启动不了。

其实这个uefi启动的硬盘pe我是在win8下测试好了的,path应该没有问题。但这时候我还是怀疑启动配置bcd文件在win7下会不会有什么问题。刚好win7自带一个系统修复,在C:\Recovery一串guid下有个winre.wim。这个wim文件是可以正常启动的,而winpe.wim文件也没问题。那么用winpe.wim替换winre.wim是应该能启动的吧?覆盖后启动到菜单按F8调出系统修复,加载完进度条后又回到启动菜单了,还是不行。

这时候我突然想到很早前fujianabc网友在我网站就提到过win8的快速启动问题,当时也没详细研究win8那个metro的引导菜单。启动win8时可以直接进系统,而在metro的引导菜单下选择winpe则会重启一次后再进入pe。我想问题可能就是出在这里了,用win8的启动管理器替换win7的应该就能解决问题了。

以下是解决办法:
1 efi启动的GUID磁盘前面有个ESP(0)的分区,其中\efi\boot\bootx64.efi是最开始的启动入口,而\efi\microsoft\boot\bcd文件里存储启动信息的。可以用diskginus打开,如下图
efi-boot

2 把win8的Windows\Boot\EFI\下的所有文件复制到ESP(0)分区的\efi\microsoft\boot下并覆盖相关文件。

3 最好把win8安装盘\efi\boot\下的bootx64.efi也复制到ESP(0)分区的\efi\boot下。

重启后问题解决,win7和win8pe都能正常了。win7和win8双系统启动遇到问题的也应该可以这样解决。

标签: , , ,

13 条评论 发表在“uefi启动在硬盘上的pe遇到的问题”上

  1. samhjn说道:

    M$把引导越改越复杂可能有几个意图吧。
    一个是增强安全性,结合一块特定的芯片避免MBR Hook之类的安全风险;
    另一个是打击竞争对手,给GRUB的引导造成困难;
    还有一个估计是为了反盗版,如此一来那些运行在系统层以上的破解补丁就失效了。

  2. JM说道:

    bios开启了uefi后,u盘win pe启动会出现windows boot manager报错,应该怎么做,请大神赐教

  3. homyang说道:

    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\EUPP] 这个键值如何修改主页的?hex:后面的数值怎么解读?

  4. 本多忠胜说道:

    你好,无盘系统怎么做的?
    winpe5.1×86做法和win7pe一样吗?

    • wingwy说道:

      你好,你是说网吧的那种无盘系统?那个我没做过。
      win7pe是pe3.X,win8是pe4.X,8.1对应的是pe5.1,基本原理一样。最大的区别是,为了使用任务栏,pe5.1的登陆账户从system变成admin了,需要修改sam文件。

  5. 615170349说道:

    我就是随便看看

  6. 看看说道:

    呵呵,win8之后的对UEFI支持更好一点,还有win7 的 BcdBoot不支持创建UEFI启动项,

    • wingwy说道:

      好久不见~~
      win7后我就没怎么搞这个了,对win8那个快速启动也不熟,搞了好半天才发现。

  7. 匿名说道:

    是解决硬盘启动吧?U盘支持吗?

留下回复(本站有评论邮件通知功能)