
一、用bcbboot自动修复
(一)指定esp分区修复
环境为64位8PE,bios/uefi启动进入下都可以
1.启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区
2.打开cmd命令行,输入以下命令并运行
bcdboot c:\windows /s o: /f uefi /l zh-cn
其中:c:\windows 硬盘系统目录,根据实际情况修改
/s o: 指定esp分区所在磁盘,根据实际情况修改
/f uefi 指定启动方式为uefi
/l zh-cn 指定uefi启动界面语言为简体中文
注:64位7PE不带/s参数,故7PE不支持bios启动下修复
(二)不指定esp分区修复
环境为64位7或8PE,只有uefi启动进入PE才可以
不用挂载esp分区,直接在cmd命令行下执行:
bcdboot c:\windows /l zh-cn
其中 c:\windows 硬盘系统目录,根据实际情况修改
/l zh-cn 指定uefi启动界面语言为简体中文
注:在8PE中,我们也可以在uefi启动进入pe后,挂载esp分区用方法(一)修复
(三)用“UEFI引导自动修复”脚本修复
这个脚本,其实就是用了8PE的bcdboot,来修复uefi引导。测试可以在2003 7 8 PE
中自动修复uefi引导。
附件提供两套,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。
二、用bootice手动修复
从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在
各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就
完成efi引导修复。
1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区
2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。
3.在esp分区中建立如下空文件夹结构
\efi\boot\ (bootx64.efi等复制)
\efi\microsoft\boot\ (bcd等建立)
4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\
下,并重命名为bootx64.efi
5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,
打开并编辑bcd文件,添加“windows vista\7\8启动项,
指定磁盘为硬盘系统盘在的盘,
指定启动分区为硬盘系统分区(一般为c:)
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
最后保存当前系统设置并退出。
这样子,精简的UEFI引导就手工修复了,实机和虚拟机测试通过。
注:xpPE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就
可以让xpPE也能识别gpt磁盘格式分区
指定启动分区不是esp分区所在分区,就是硬盘64位7 8 系统所在分区
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
工具/原料bootice工具
双系统
环境一:原c盘(活动)xp系统,d盘安装win7
修复原理:进入win7系统后(也只能进入win7系统),由于安装win7的时候win7直接更改了硬盘的主引导记录mbr和c盘(活动分区)分区引导记录pbr(win7的pbr(只认bootmgr)),所以修复的过程就只有一个就是更改win7的BCD即可(添加xp系统启动选项)
修复过程:
更改win7的BCD文件:
(1)运行bootice工具。点击bcd编辑
(2)直接点击查看/修改,或者点击其他位置的bcd文件,找到活动分区中的boot文件夹下的bcd文件。点击完成后出现下面的画面:
(3)点击添加,添加xp系统的开机启动选项,如图:
出现下面画面
说明:由于xp系统在c盘,所以启动分区选择c盘。其他保持默认。
(4)保存全局设置和保存当前系统设置。
(5)退出软件就可以了。重启后就可以见到效果了。
END
环境二:原c盘(活动)win7系统,d盘安装xp
修复原理:1.进入xp系统后(也只能进入xp系统),由于安装xp的时候xp直接更改了硬盘的主引导记录mbr和c盘(活动分区)分区引导记录pbr(xp的pbr(只认ntldr)),而xp的ntldr只能引导低于或者等于xp系统版本的系统,不能引导更改版本的win7系统,而更高win7版本的bootmgr可以引导xp系统,这点很重要,所以修复的东西有以下几个:
(1)更改硬盘的主引导记录mbr为win7的nt6.x版本(也可以不修改)
(2)更改活动分区c盘的分区引导记录pbr为win7版本的pbr(bootmgr引导程序)
(3)更改c盘win7系统的BCD文件,添加xp系统引导目录
修复过程:
1.修改硬盘的主引导记录mbr(这步可以不做,但是还是推荐做下。)
启动工具bootice,打开主引导记录,如图:
选择最下面的nt6.x默认引导程序。之后点击安装/配置(s)后点击确定。
成功后再次点开主引导记录显示当前的主引导记录:如下图表示成功。
点击x后退出mbr设置。
2.修改活动分区的分区引导记录pbr
打开分区引导记录:
选择bootmgr引导程序,记住你要修改的分区引导记录是活动分区的。不然是没有用的。点击bootmgr后,点击安装/配置(s)后,点击确定--确定。如图:
再次打开分区引导记录后显示当前引导记录:bootmgr引导程序表示成功,点击x退出。
如图:
3.修改bcd文件
(1)打开bcd编辑,找到c盘(活动分区)中boot文件夹下的bcd文件。点击编辑,如图:
(2)点击添加添加xp启动选项:
出现下面图:
说明:这里的是安装版的xp,安装时,xp会把xp的ntldr文件等启动文件放在活动分区中也就是c盘中,所以这里的启动分区就是c盘,活动分区。别的就不用设置了。
(3)保存全局设置和保存当前系统设置。
(4)退出bootice工具。
(5)重启试试效果吧。
总结:
这里讲的两种方式都是基于win7-xp系统双系统启动原理来设置的。所以说了解启动流程(原理)很重要,对一些开机启动故障也有很大帮助。很有好处的。希望对大家有帮助
这里说下,对于很多安装ghost版本的系统的时候,ghost的过程实际上是复制的过程,有时候ghost完成后,不能启动系统,这是由于一些启动项必须在活动分区中,而不是ghost完成就可以用的系统,需要在pe环境下把系统启动的必要启动文件复制到活动分区中,比如ntldr,bootmgr,boot.ini等文件。当然在win7-xp双系统环境下,ntldr也可以在其他盘(非活动分区),也有例外的情况,呵呵。
百度经验:http://jingyan.baidu.com/article/d8072ac454aa69ec95cefdcd.html
用bootice手动修复
从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在
各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就
完成efi引导修复。
1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区
2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。
3.在esp分区中建立如下空文件夹结构
\efi\boot\ (bootx64.efi等复制)
\efi\microsoft\boot\ (bcd等建立)
4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\
下,并重命名为bootx64.efi
5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,
打开并编辑bcd文件,添加“windows vista\7\8 启动项 ,
指定磁盘为硬盘 系统盘 在的盘,
指定 启动分区 为硬盘 系统分区 (一般为c:)
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
最后保存当前系统设置并退出。
这样子,精简的UEFI引导就手工修复了,实机和 虚拟机 测试通过。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)