糊涂 发表于 2013-3-30 14:03:44

GPT分区环境下通过WINNT辅助完成系统的引导修复

本帖最后由 糊涂 于 2013-5-11 18:02 编辑

以下内容已成历史!目前WINNTSETUP2.3.6正式版已经支持ESP分区挂载,只是不太智能,盘符有些固定,而且ESP分区已经挂载状态,执行WINNTSETUP2.3.6后会二次挂载。。。希望下个版本会修正此BUG

                                                                                                                              2013年5月8日

===================================================

简介

1楼为此帖总结(算是心得体会吧)
拿来与需要的朋友分享一下GPT分区的系统安装方法(条件所限,只测试了WIN7/8)

2楼及以下为与老师交流思想,得到不少朋友支持,感谢fujianabc 老师热心指导


目前最新版winntsetup2.3.5及以下版本都不能够完美使用在UEFI+GPT分区环境

其实WinNTsetup2.3.0及以上版本都集成着bcdboot工具,

不知道为什么此工具在GPT分区无法执行BCDBOOT命令?

而因为WINNT助手不能直接识别ESP分区

从而导致EFI文件生成到了WIN根目录,而并没有导入到ESP分区,进一步导致GPT分区引导失败

构想:能否在执行修复选项中添加BCDBOOT或执行修复选项时调入bcdboot c:\windows /l zn-cn命令?


希望原创完善此功能


小结:注:WINNT助手为winntsetup

(GPT下系统的安装不一定非得使用WINNT助手,Image、WimTool、WIMNT、、、等等工具都可以释放安装文件到指定磁盘分区;这里只是以WINNT助手为例,当然GHOST版WIN7/8同样适用!只要GPT分区有ESP引导分区即可)


13年3月31日,经过反复虚拟机与实机测试,找到几种方法辅助WINNT助手来完成修复GPT引导

本人菜鸟,方法笨,但适合新手操作,大师莫笑!




GPT分区系统安装及维护其实并不难,只要方法得当,并不需要多复杂的步骤就可以完成系统的正常引导

第一种方法,在执行完WINNT助手后(通过WINNT助手将系统WIM文件释放到磁盘某分区)此时WIN根目录已经生成一个“EFI”文件夹,将这个文件夹通过DG等工具手动导入到ESP分区,重启电脑即可引导系统安装;



第二种方法,在执行完WINNT助手后(通过WINNT助手将系统WIM文件释放到磁盘某分区),打开命令行窗口,
执行“bcdboot C:\windows /l zn-cn”也会自动完成GPT分区引导的自动修复(此命令会自动将WIN下EFI启动文件导入ESP分区达到修复引导的作用)





第三种方法,“指定盘符法”

                      1;进UEFI+GPT分区环境,打开DG(diskgen)工具,右键“ESP”分区,从选项里选择“指派新的驱动器号(盘符)”,注:此分区重启电脑后依然为隐藏不需要再做其他处理;



                     
                  2;开始使用WinNTSetup安装操作系统(WIN7x64、WIN8x64),WIM安装文件的位置不用多说,你的系统安装文件WIM在哪儿就选择哪儿了;下面这个选项才是最重要的——“引导磁盘的位置”;此前我们已经对“ESP”分区指定了盘符,所以在此我们只需要选择“ESP”分区所在盘符就OK;“安装磁盘的位置”就可以自定义了,C:\ ;D:\;E:\...你选安装到哪儿,系统文件就会安装到哪个分区!








                  3;调整优化都调整好后,点击“开始安装”,弹出一个修复引导选框,这个选框也是我比较郁闷的一个选项,相信下一版本如果不是此处更新就是“引导磁盘位置”那里有所改变;此选项里本来期待有一个bcdboot选项,但现在可选项为bootsect;假如与NT助手同目录有一个BOOTICE的话,此修复引导选项会多出一个BOOTICE选项;啰嗦了这么多,我们现在只有选择:bootsect了。。。








            做完这一切后,安装开始了。。。剩下的时间我们只有等待进度条走完,然后显示出***完成****类就OK了

         检查一下ESP分区吧,此时里面已经生成EFI相关启动文件。。。




下面测试一下引导效果。。。


















参考目录树:

EFI
├─Boot
│    └─Boot.sdi
├─EFI
│    ├─Boot
│    └─ Bootx64.efi
└─microsoft
      └─Boot
         └─*

为方便朋友们下载使用,WinNTSetup2.3.5友情链接如下:
http://pan.baidu.com/share/link?shareid=321380&uk=3473528667

已经修正主页推广问题

GPT分区激活WIN7工具下载



GPT分区智能挂载ESP盘符相关链接如下:
ESP分区挂载工具,不依赖diskpart、findstr等其它第三方工具

【完美版】挂载GPT磁盘的ESP分区的批处理





fujianabc 发表于 2013-3-30 16:37:32

不需要复杂脚本,bcdboot一条命令就能满足你两种情况的要求,比如系统文件夹在d:\windows,用win8的bcdboot.exe执行
bcdboot d:\windows /f UEFI /l zh-cn
即可,如果是挂载的wim文件,方法一样,路径替换掉d:\windows

fujianabc 发表于 2013-3-30 21:02:01

原帖由 糊涂 于 2013-3-30 20:50 发表 http://bbs.wuyou.net/images/common/back.gif
老师,我乱使用了命令:

bcdboot c:\windows /l zn-cn

bcdboot c:\windows /s h: /f UEFI
ESP分区生成了类似我模拟的目录树文件

感觉自己还不是太笨哈!嘿嘿。。。谢谢老师
gpt硬盘的情况下,不加/s参数,默认在ESP分区生成启动文件,加了/s:参数则在指定盘符生成

糊涂 发表于 2013-3-30 22:43:14

回复 #8 2013mnln 的帖子

如果是原WIM版释放文件后,接着GHO的镜像,这样的镜像可以使用BCDBOOT命令

先前回复有误!特此更正

[ 本帖最后由 糊涂 于 2013-4-1 17:27 编辑 ]

糊涂 发表于 2013-3-30 17:02:22

回复 #2 fujianabc 的帖子

一条命令够我消化半个月的!老师是这方面专家,不知道我的思路是否可行?

fujianabc 发表于 2013-3-30 19:14:31

原帖由 糊涂 于 2013-3-30 17:02 发表 http://bbs.wuyou.net/images/common/back.gif
一条命令够我消化半个月的!老师是这方面专家,不知道我的思路是否可行?
不用多理解,你试几下就明白了,这条命令就完成了你要做的。。。

糊涂 发表于 2013-3-30 20:50:43

回复 #4 fujianabc 的帖子

老师,我乱使用了命令:

bcdboot c:\windows /l zn-cn

bcdboot c:\windows /s h: /f UEFI
ESP分区生成了类似我模拟的目录树文件

感觉自己还不是太笨哈!嘿嘿。。。谢谢老师

糊涂 发表于 2013-3-30 21:06:46

回复 #6 fujianabc 的帖子

bcdboot c:\windows /l zn-cn
那这一条就OK了

老师能不能做一个有此命令的小工具?
方便释放WIN.WIM后加载EFI引导文件到ESP分区
对像我这样的菜鸟太有用了


刚又在WIN7X64系统又试一遍,bcdboot c:\windows /l en-us
开始以为一定是英文,没想到自动修复为中文状态了

[ 本帖最后由 糊涂 于 2013-3-30 21:14 编辑 ]

2013mnln 发表于 2013-3-30 22:05:25

原帖由 fujianabc 于 2013-3-30 16:37 发表 http://bbs.wuyou.net/images/common/back.gif
不需要复杂脚本,bcdboot一条命令就能满足你两种情况的要求,比如系统文件夹在d:\windows,用win8的bcdboot.exe执行
bcdboot d:\windows /f UEFI /l zh-cn
即可,如果是挂载的wim文件,方法一样,路径替换掉d ...

请教:如此这么说,在GPT分区的硬盘C盘安装了ghost版本的64位系统后,若事先备有ESP分区的话,只需用bcdboot就可以完成EFI引导的自动建立? 或者说, ESP分区根本不需要有个单独的备份是吗?

lgze 发表于 2013-3-31 01:06:44

那要怎么创建ESP分区呢,不明白求解?

糊涂 发表于 2013-3-31 06:47:55

回复 #10 lgze 的帖子

目前我只会使用DG来创建GPT环境中的ESP分区

现在知道ESP对于EFI引导的重要性,不知道MSR分区是否起什么作用?或者可有可无?待测试

2013mnln 发表于 2013-3-31 07:41:12

原帖由 糊涂 于 2013-3-30 22:43 发表 http://bbs.wuyou.net/images/common/back.gif
的确如此!只需要bcdboot命令“修复”创建ESP分区的EFI启动文件即可OK

非常感谢!我一直也是这样想,苦于无条件验证。如今我可以放心地将bcdboot.exe放入可以UEFI启动的U盘中了。

糊涂 发表于 2013-3-31 08:02:57

回复 #12 2013mnln 的帖子

其实WinNTsetup2.3.3及以上版本都集成着bcdboot工具,

不知道为什么此工具在GPT分区无法执行BCDBOOT命令?

还有就是,经测试:MSR分区似乎在GPT分区里角色不那么“重要”,

因为我创建了一个没有MSR的GPT环境,一样可以能过ESP分区引导系统

WIN7/8安装镜像中已经有这个命令行工具

多数PE中也是集成的,如果PE里没有,

自己集成一个,以备不时之需

[ 本帖最后由 糊涂 于 2013-3-31 08:37 编辑 ]

fujianabc 发表于 2013-3-31 09:08:49

原帖由 糊涂 于 2013-3-31 06:47 发表 http://bbs.wuyou.net/images/common/back.gif
目前我只会使用DG来创建GPT环境中的ESP分区

现在知道ESP对于EFI引导的重要性,不知道MSR分区是否起什么作用?或者可有可无?待测试
msr分区一般不需要,除非你要用基于GPT分区表的动态磁盘

2013mnln 发表于 2013-3-31 09:17:23

原帖由 糊涂 于 2013-3-31 08:02 发表 http://bbs.wuyou.net/images/common/back.gif
其实WinNTsetup2.3.3及以上版本都集成着bcdboot工具,

不知道为什么此工具在GPT分区无法执行BCDBOOT命令?

还有就是,经测试:MSR分区似乎在GPT分区里角色不那么“重要”,

因为我创建了一个没有MSR的 ...

勇于探索的精神可嘉,公开交流的做法更可赞!
我在网上看到某人也做了深入研究,但是到了这最后一步却封口卖关子:
http://bbs.icpcw.com/thread-2970462-1-1.html

[ 本帖最后由 2013mnln 于 2013-3-31 09:20 编辑 ]

糊涂 发表于 2013-3-31 09:50:57

回复 #14 fujianabc 的帖子

要是这样的话还是保留MSR分区吧,省得有需要的时候再刻意去创建调整。。。

WinNTsetup2.3在GPT分区不能加载BCDBOOT来修复或创建EFI引导,这个问题老师有方法解决吗?

如果这个工具在GPT分区释放WIM后自动调用BCDBOOT来修复或创建EFI引导文件,那真够另人兴奋一阵子的

(WinNTsetup2.3原文件中已经集成BCDBOOT)

[ 本帖最后由 糊涂 于 2013-4-1 09:35 编辑 ]

fujianabc 发表于 2013-3-31 09:55:54

原帖由 糊涂 于 2013-3-31 09:50 发表 http://bbs.wuyou.net/images/common/back.gif
要是这样的话还是保留吧,省得有需要的时候再刻意去创建调整。。。

WinNTsetup2.3在GPT分区不能加载BCDBOOT来修复或创建EFI引导,这个问题老师有方法解决吗?

如果这个工具在GPT分区释放WIM后自动调用BCD ...
可能是集成的bcdboot版本太旧了,用win8的bcdboot.exe试试

糊涂 发表于 2013-3-31 11:37:08

原帖由 fujianabc 于 2013-3-31 09:55 发表 http://bbs.wuyou.net/images/common/back.gif

可能是集成的bcdboot版本太旧了,用win8的bcdboot.exe试试

不清楚是怎么回事,反正修复引导选项里不显示BCDBOOT

而WinNTsetup介绍里从2.3.0就对UEFI是支持的

为什么就不能完成引导的修复呢?

我一会儿试下未汉化版本

糊涂 发表于 2013-3-31 11:42:44

回复 #17 fujianabc 的帖子

刚DG检查了一下WIN分区根目录里已经有“EFI”文件,手动将此文件夹导入ESP分区正常引导系统。。。

问题是,为什么不能自动完成此引导的修复呢?

[ 本帖最后由 糊涂 于 2013-4-1 09:36 编辑 ]

fujianabc 发表于 2013-3-31 17:35:27

原帖由 糊涂 于 2013-3-31 11:37 发表 http://bbs.wuyou.net/images/common/back.gif


不清楚是怎么回事,反正修复引导选项里不显示BCDBOOT

而WinNTsetup介绍里从2.3.0就对UEFI是支持的

为什么就不能完成引导的修复呢?

我一会儿试下未汉化版本
各种工具都不靠谱,我还是只信赖微软的bcdboot、bcdedit等原版程序

糊涂 发表于 2013-3-31 17:38:08

回复 #20 fujianabc 的帖子

有时候,最原始的东西才是最实用的,比如说:命令行!就连UEFI都不可能抛弃它。。。

zbkh 发表于 2013-3-31 19:36:51

回复 #2 fujianabc 的帖子

感谢老师的这条命令,受益匪浅!

2012zhd 发表于 2013-4-1 18:55:19

一个奇怪的现象,u盘要是先量产了,再u+楼主diy的uefi,启动后pe不能识别u+过的分区,但可以识别量产了的分区,要是不量产直接u+则一切正常,其他的uefi w8x64貌似也存在这个问题。这是什么原因?要是量产后不能识别剩余分区,岂不是废盘一个。

糊涂 发表于 2013-4-1 18:59:42

回复 #23 2012zhd 的帖子

不知道你用的主板是否支持UEFI启动,如果支持,试将U盘末端再划分出一个适合PE大小的分区,然后将ISO内所有文件导入到此分区,不对引导做其他修复。

如果主板不支持UEFI启动,试UD写入一个PE,看是否引导?

记得反馈结果

[ 本帖最后由 糊涂 于 2013-4-1 19:07 编辑 ]

糊涂 发表于 2013-4-1 19:06:11

原帖由 2012zhd 于 2013-4-1 18:55 发表 http://bbs.wuyou.net/images/common/back.gif
一个奇怪的现象,u盘要是先量产了,再u+楼主diy的uefi,启动后pe不能识别u+过的分区,但可以识别量产了的分区,要是不量产直接u+则一切正常,其他的uefi w8x64貌似也存在这个问题。这是什么原因?要是量产后不能 ...

本人对量产不太了解,请关注此帖:给知名品牌的量产PE增加U+B+隐藏功能下载

2012zhd 发表于 2013-4-1 20:07:53

回复 #24 糊涂 的帖子

主板不支持uefi启动,量产后的u盘再ud启动没有问题,我的u盘一直是这样用的。只是测试uefi bios双启pe时发现这样的问题。

[ 本帖最后由 2012zhd 于 2013-4-1 20:11 编辑 ]

糊涂 发表于 2013-4-1 20:39:02

回复 #26 2012zhd 的帖子

对于量产我本人一直持不支持态度

除非U盘主控需要量产来进行调整时才这样操作

如果是我,我会只保留UD与UEFI加U+功能,既然你喜欢使用量产,

为什么不考虑将量产区的ISO换成现在U+的这个ISO呢?

鱼与熊掌不可兼得,呵呵。。。

2012zhd 发表于 2013-4-1 20:57:52

回复 #27 糊涂 的帖子

量产区和U+区都放的是您diy的uefi pe,目的就是测试一下量产和u+的启动效果,无意中发现的问题。
“将U盘末端再划分出一个适合PE大小的分区,然后将ISO内所有文件导入到此分区,不对引导做其他修复”。这个方法好,如何将iso导入呢,不会啊。您给讲讲。

糊涂 发表于 2013-4-1 21:13:17

回复 #28 2012zhd 的帖子

感谢测试!

我使用的方法全是笨方法:
先将ISO内文件导出至桌面空文件夹中待用。。。
打开DG,选择U盘末端分区,然后将刚导出的ISO文件全部导入此分区即可!
如果想测试启动效果,建议恢复量产区容量到U盘,或停用量产区PE,不然某些量产会导致U+引导失败
此方法只针对UEFI启动;
如果想支持UEFI及BIOS启动,建议使用U+V2高端隐藏写入,前提是不要量产分区(个别主控对U+V2高端隐藏兼容不太好)
既然量产分区PE已经成功,那量产的分区肯定也是支持UEFI的,你习惯量产与UD,这样的搭配已经不错了

2012zhd 发表于 2013-4-1 21:57:02

回复 #29 糊涂 的帖子

真是手贱啊,用dg在末端划分一个500m的分区,结果把我ud区也给搞没了,辛辛苦苦修改的fba啊。后悔没备份,可见用dg类分区工具给u盘分区小心为妙。
页: [1] 2 3
查看完整版本: GPT分区环境下通过WINNT辅助完成系统的引导修复