新的uefi启动的win8pe4.0在这里 http://www.wingwy.com/archives/2013_03_1240.html

早就听说efi和uefi,不过接触的新机器还都是bios模式的,没法体验。今年2月vm 8.0.2版本总算支持模拟uefi模式启动了,以后uefi也会慢慢代替古老的bios。这两天试了一下,以上一个“支持32位程序的64位winpe3.1修正版3” 为蓝本做了个支持uefi模式启动的64位pe:wingwy-pe3.1-v2-fix3-uefi,可以同时实现uefi和bios的双启动。因为接触uefi才这几天,有些问题我也不清楚,在这里讨论一下,期待各位网友的解答。

1 先说下efi和uefi

efi/uefi被视为bios的代替着,最基本的定义什么的就不啰嗦了,大家搜搜就有了。值得注意的是uefi的u意思是unified,由efi 1.10版发展起来的。早期的efi有32位和64位不同的shell,不过标准的uefi只支持64位了(据说有的厂家修改后任然支持32位),所以64位pe能从uefi的机器上启动。

由于没有支持uefi的实体机,我们可以用 vm 8.0.2机器以上版本来模拟。方法很简单,在生成的vmx文件中加一行  firmware = “efi”  就可以了,参见 http://bbs.wuyou.com/viewthread.php?tid=205898&extra=page%3D1

2 实现bios和uefi模式的双启动

大家都知道传统的bios方式启动win7pe或是win7安装盘的流程:引导信息—\bootmgr—\boot\bcd文件—wim文件—winload.exe。uefi模式的启动也是类似的,顺序大概是:引导信息—\bootmgr.efi—\efi\microsoft\boot\bcd文件—wim文件—winload.efi。两种模式不冲突,只要分别配置好了就能实现双启动。了解了这个,用uefi模式启动就很简单了,以wingwy-pe3.1-v2-fix3.iso为例,2个必要条件(1)需要光盘根目录有bootmgr.efi,(2)\efi\microsoft\boot\bcd 中{default} 的path指向\windows\system32\boot\winload.efi 。当然还有font文件夹等。据我尝试,其他文件的一些文件似乎不是必须的,后面再讨论。另外,ultral iso 9.5.1版本似乎不支持uefi模式的引导,用这个软件修改会导致uefi引导无效,要生成iso可以用.\boot\oscdimg.exe -b \efi\microsoft\boot\efisys.bin -u2 -udfver102 这样方式打包。这样打包后加入了uefi引导信息,但没有bios模式的,所以要写入2段启动文件,见第4部分。

3 uefi模式启动的bcd文件配置以及其他一些文件的作用

关于uefi模式启动的详细配置可以参考微软的文章 UEFIGuide.docx  http://msdn.microsoft.com/en-us/windows/hardware/gg463140.aspx 。 其中提到,bcd文件中{boomgr} 的path需要指向\EFI\Microsoft\Boot\bootmgfw.efi 。但据我验证,此步骤不是必要的,至少在vm8.0.2的efi模式下,不要这个bootmgfw.efi这个文件也能启动。文件中提到  {fwbootmgr} 是Firmware boot manager,需要 Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst 加入到bcd文件中,我不是很清楚这个文件的确切用途,bcd文件中没有他也能启动,莫非这个是刷在主板上的?内存诊断的路径也要重设成 {memdiag} path \efi\microsoft\boot\memtest.efi 。另外,我试便了把local设成zh-cn,也加入了中文的mui文件。但在选择菜单,比如“内存诊断”,的时候无法显示中文,但启动的时候实显示中文(如下图)。

我发现waik提供的64位pe3.1有\efi\boot\bootx64.efi这个文件,另外64位win7安装盘下有\efi\microsoft\boot\cdboot.efi 这两个文件似乎也不是必须的。不知道他们的作用是什么。

4 支持uefi模式启动的64位pe下载:wingwy-pe3.1-v2-fix3-uefi.iso

这个版本和wingwy-pe3.1-v2-fix3基本一致,就是加入了uefi启动。wim文件中在32位64位程序切换的时候加入了状态显示(感谢wuyou的 sratlf 版主)。如果想要64位pe支持uefi启动,fix3版本的可以不用新下载,只要下载这个wingwy-pe3.1-v2-uefi-base.iso,放入 \winpe\winpe.wim 就可以了。该文件适用于我做的pe3.1v2的其他版本,比如,如果你觉得fix3版本太大,加入的驱动你都用不上,你把fix2版的wim文件放进去也是可以的。最后别忘了用oscdimg -bootdata 这样方式打包实现uefi和bios双启动。比如全部合盘文件在D:\PC\pe\wingwy-pe3.1-v2\fix3\ISO 下面,运行

oscdimg.exe -m -o -u2 -udfver102 -lwingwy-pe3.1-v2-fix3-uefi -bootdata:2#p0,e,D:\PC\pe\wingwy-pe3.1-v2\fix3\ISO\boot\etfsboot.com#pEF,e,D:\PC\pe\wingwy-pe3.1-v2\fix3\ISO\efi\microsoft\boot\efisys.bin D:\PC\pe\wingwy-pe3.1-v2\fix3\ISO D:\PC\pe\wingwy-pe3.1-v2-fix3-uefi.iso

就可以了.

还有一点需要说明,uefi模式启动后bootsect.exe无法运行,我暂时没找到其他的代替品。

2.14日前下载的网友如果发现不能正常运行,可以不用重新下载,只要把”自定义修改WinPE光盘.bat”中的

echo 正在生成光盘ISO文件…… 后面改成

.\boot\oscdimg -m -o -u2 -udfver102 -lmy-pe-uefi -bootdata:2#p0,e,b%d_full%\boot\etfsboot.com#pEF,e,b%d_full%\efi\microsoft\boot\efisys.bin %d_full% %d_all%\My_PE.ISO

重新运行 自定义修改WinPE光盘.bat 就可以了。

 

===============================================
2012/03/12
感谢patatoo网友,无线网络可以正常使用了
http://www.wingwy.com/guestbook/comment-page-17#comment-9426
无线网可以连了,虽然不是完美解决方案,还有缺陷,但是可以用了。
1.添加缺少的文件。filelist.txt
2.修改注册表(“register.cmd [your winpe mount folder]”)
3.添加wifi.cmd “echowifi.cmd [your winpe mount folder]”
4.打包,启动,运行wifi.cmd
5.可以看到无线了。
http://115.com/file/c2rmmlw2

 

 

 

2013/03/31 新的下载地址  wingwy-pe3.1-v2-fix3-uefi.iso  MD5:8ed7fbd5e94e12b061f12e579bbecc0c

http://pan.baidu.com/share/link?shareid=441897&uk=1342512606

标签: , , , , , ,

231 条评论 发表在“uefi模式启动的64位pe,wingwy-pe3.1-v2-fix3-uefi”上

  1. fire说道:

    良心pe不过连接失效了,能再放下么?谢谢!网络上基本绝种了。找不到一个好pe重点是支持移动硬盘!

    • wingwy说道:

      你好,这个有点老,我现在也没了。但好像baidupan还可以搜得到,你注意对比下md5一样就行。

  2. shg2000510说道:

    我可以愉快的告诉你,我今天下载到了wingwy-win7pe3.1-x64-v2-fix3-uefi.iso,MD5值也对到了。还下载到了:64位winpe5.1修正版1(wingwy-pe5.1-v1f1),我想它合到我准备做的win 7 x64里面去,这两个哪个比较适合些?

    • wingwy说道:

      那太好了,wingwy-win7pe3.1-x64-v2-fix3-uefi.iso这个版本较老,但工具比较全。wingwy-pe5.1-v1f1这个版本新,但是没有放第三方工具,我自己用微软那套就够,看你个人喜好。

  3. philorain说道:

    百度盘链接已经失效了,115不方便,能否更新下百度盘的链接

  4. 迷妄有虚空说道:

    你好,我是一个初学者,有个问题想向你咨询:
    在win8的ISO镜像中是有bcdboot、 bootsect等工具的,但没有imagex工具,请问,怎样将imagex加进去。
    也就是说,当进入安装界面时,按shift + f10 打开cmd命令行后,不但可以运行diskpart、 bcdboot等等,还可以运行imagex工具。谢谢!
    我试过用 UlstroISO 将 imagex.exe 加入到 win8的原版ISO镜像中,但运行时提示“没有支持的子系统”。请问,有没有什么办法让我学习做做?

    • wingwy说道:

      你好,你把win8的iso里面的boot.wim调出来修改,修改boot.wim的第2段(我记不清了,一段是setup,一段是pe),然后把imagex还有支持的dll放到system32,再打包合并boot.wim(记得加/boot参数),最后和盘iso。

  5. cnpirate说道:

    W大,能否在分享一下自定义修改WinPE光盘.bat这个脚本啊,网上各种找不到啊,非常感谢,嘿嘿

    • wingwy说道:

      就在iso文件里面,我整和到了一个bat文件,给你选出来

      echo 请使用管理员帐户运行

      echo 请选择WinPE的工作空间(不要选择分区根目录)......
      setlocal
      Select_Folder "set d_temp=" "c:" "请选择WinPE的工作空间(不要选择分区根目录)" >%temp%\mype.bat
      call %temp%\mype.bat
      del %temp%\mype.bat>nul
      set d_all=%d_temp:~1,-1%
      set d_full=%d_all%\ISO
      set my_pe=%d_all%\My_PE
      md %d_full%
      md %my_pe%

      echo 文件复制中......
      xcopy .\*.* %d_full% /s /y /d
      echo 文件复制完成......
      attrib %d_full%\winpe\winpe.wim -r

      echo 正在展开PE文件......
      .\boot\imagex /apply %d_full%\winpe\winpe.wim 1 %my_pe%

      echo #########################################
      echo 文件展开完成请自己修改PE......
      echo 注意:
      echo PE文件在%my_pe% 下
      echo 光盘文件在%d_full% 下
      echo #########################################
      pause
      :custom
      echo PE修改是否完成?若完成修改,按"y"自动生成新PE光盘。按其他任意键则继续修改。
      set /p c=###########修改完了吗?###########
      if %c%==y goto makecd
      goto custom

      :makecd
      echo 正在打包PE文件......
      .\boot\imagex /capture /compress max /boot %my_pe% %d_full%\winpe\winpe.wim "WinPE 5.1" "my own winpe"
      echo 正在生成光盘ISO文件......
      .\boot\oscdimg -m -o -u2 -udfver102 -lmy-pe-uefi -bootdata:2#p0,e,b%d_full%\boot\etfsboot.com#pEF,e,b%d_full%\efi\microsoft\boot\efisys.bin %d_full% %d_all%\My_PE.ISO
      echo 成功完成,新PE光盘位置在 %d_all%\My_PE.ISO
      pause

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