2013xiaokang 发表于 2016-11-29 14:32:02

求助各位高手关于UEFI模式下用bcdedit添加PE启动项目的问题

本帖最后由 2013xiaokang 于 2016-11-29 14:33 编辑

各位大大门好,如题,求助一下是怎么回事,批处理代码如下:
@echo off
set RAMDISK_OPTIONS={e92b8e30-a6e5-41f6-a6b9-188230a23dd2}
set RAMDISK_OPTIONS2={e92b8e30-a6e5-41f6-a6b9-188230a23dd3}
set WINPE_GUID={54b4c01f-dce0-102a-a4e0-462c07a00c5e}
set WINPE_GUID2={54b4c01f-dce0-102a-a4e0-462c07a00c5f}
bcdedit /timeout 10
bcdedit /create %RAMDISK_OPTIONS% /d "启动 PE 32位" /device
bcdedit /set %RAMDISK_OPTIONS% ramdisksdidevice partition=D:
bcdedit /set %RAMDISK_OPTIONS% ramdisksdipath \Boot\boot.sdi
bcdedit /create %WINPE_GUID% /d "启动 PE 32位" /application OSLOADER
bcdedit /set %WINPE_GUID% device ramdisk=\Boot\PE32.wim,%RAMDISK_OPTIONS%
bcdedit /set %WINPE_GUID% path \windows\system32\winload.exe
bcdedit /set %WINPE_GUID% osdevice ramdisk=\Boot\PE32.wim,%RAMDISK_OPTIONS%
bcdedit /set %WINPE_GUID% systemroot \windows
bcdedit /set %WINPE_GUID% detecthal yes
bcdedit /set %WINPE_GUID% nx optin
bcdedit /set %WINPE_GUID% winpe yes
bcdedit /set %WINPE_GUID% locale "zh-CN"
bcdedit /displayorder %WINPE_GUID% /addlast
bcdedit /create %RAMDISK_OPTIONS2% /d "启动 PE 64位" /device
bcdedit /set %RAMDISK_OPTIONS2% ramdisksdidevice partition=D:
bcdedit /set %RAMDISK_OPTIONS2% ramdisksdipath \Boot\boot.sdi
bcdedit /create %WINPE_GUID2% /d "启动 PE 64位" /application OSLOADER
bcdedit /set %WINPE_GUID2% device ramdisk=\Boot\PE64.wim,%RAMDISK_OPTIONS2%
bcdedit /set %WINPE_GUID2% path \windows\system32\winload.exe
bcdedit /set %WINPE_GUID2% osdevice ramdisk=\Boot\PE64.wim,%RAMDISK_OPTIONS2%
bcdedit /set %WINPE_GUID2% systemroot \windows
bcdedit /set %WINPE_GUID2% detecthal yes
bcdedit /set %WINPE_GUID2% nx optin
bcdedit /set %WINPE_GUID2% winpe yes
bcdedit /set %WINPE_GUID2% locale "zh-CN"
bcdedit /displayorder %WINPE_GUID2% /addlast
exit
以上代码,在bios启动模式下一切正常,可在UEFI启动模式下,把加载项改成winload.efi就不能启动了,显示自动修复,请问各位高手,小弟错在哪儿了,文件肯定都有的,还望不吝赐教,谢谢。

红毛樱木 发表于 2016-11-29 14:42:20

winload.exe
换成
winload.efi
前提是文件路径对

2013xiaokang 发表于 2016-11-29 16:04:09

谢谢红毛大大的回复,用过您的作品,非常好用。
不过,我能保证路径是对的,bios是\windows\system32\winload.exe,uefi是\windows\system32\boot\winload.efi,不知道为什么就是启动不了,写到优盘上efi模式能顺利启动,证明efi文件没问题,可是写到硬盘上就是不能启动,就是那个windows未能启动,自动修复的对话框。
补充一点,我本机系统是win7x64,但是在win10上也通不过,我的pe是8.1的。

红毛樱木 发表于 2016-11-29 16:05:23

win7的bootmgr或者bootmgr.efi类似文件是引导不了高版本的windows的

2013xiaokang 发表于 2016-11-29 16:09:37

可是10也不行啊

Mindfly 发表于 2016-11-29 16:39:51

我的笔记本,也是遇到了怪事。
本来uefi+gpt正常安装和启动的,现在因故需要重新安装,突然无法安装了,复制windows文件时没有反应。
即使是部署映像到C分区,添加启动项到efi分区,也是无法启动。
换bios+mbr,一切正常。
大惑不解,百思不得其解。

2013xiaokang 发表于 2016-11-29 16:55:44

楼上重新用dg快分试试,用diskpart有时候设置gpt guid会有问题,另外,windows要求efi必须>=100M,且最好有128 MB的MSR分区。

2013xiaokang 发表于 2016-11-29 17:08:36

我的问题有没有哪位高手知道的?我刚才按照红毛大大的指示,换了我pe里面的boot.efi还是不行,我现在无比郁闷。

KaiDo 发表于 2016-11-29 17:14:16

朋友的一台 GigaByte NB (UEFI+GPT == 内定)
用着觉得怪怪的就Ghost回当初的系统备存档
试数回皆卡在第一个开机处,改安全模式同卡
重上新的问题照旧!?
后来改 BIOS+MBR 延用至今尚未发现异常

不知 发表于 2016-11-29 19:51:48

先用bootice改一下BCD,新建启动项,看能不能启动?
如果不能启动,可能是wim内核出了问题。
如果能启动,可能是所用的GUID与原来系统中recoveryd的启动项冲突了。换一个GUID.也不排除有其它的可能性,比如BOOT.SDI路径不对,系统默认的BCD储存与实际启动时的BCD储存不一致等。
页: [1] 2
查看完整版本: 求助各位高手关于UEFI模式下用bcdedit添加PE启动项目的问题