本工作室主要是写一些技术文章和心得,如有问题,可联系本工作室。

微信:15312167779
QQ:149824844

如何编辑BCD文件添加PE启动引导菜单(亲手做一遍就明白了)

如何编辑BCD文件添加PE启动引导菜单(亲手做一遍就明白了)

一、分析WIN7系统盘引导文件与目录

 

根目录bootmgr引导BOOT目录中的BCD文件,启动选项菜单,进入WIN7安装或进入PE。当然启动所需的不仅只是这些,BOOT目录的其他文件也是需要的。

 

如果是UEFI的主板,是bootmgr.efi引导EFI中microsoft目录中的BCD文件。同样,EFI目录中的其他文件是不可缺的(部分字体文件可删除)。说明,WIN7的32位系统盘中没有EFI目录及文件,如果想用,可以借助一下64位。

 

所以,添加PE启动核心是编辑BCD文件。

 

 

 

二、使用BCDEDIT.EXE编辑BCD文件

 

BCDEDIT.EXE文件是WIN7系统自带的。XP下没有,WIN7 PE有没有要看PE制作者是否保留它。

 

下面开始实例操作。例子是给WIN7光盘添加双PE,32位PE3.0和64位PE3.0。

 

将WIN7光盘的BOOT目录提取到F盘(F盘为例)

 

 

 

1、在F盘建一个CMD为后缀的批处理文件。名称:A.cmd,内容如下,并执行。

 

set path=f:\boot\bcd

 

bcdedit /store %path%

 

bcdedit /store %path% /timeout 20

 

bcdedit /store %path% /set {globalsettings}locale zh-cn

 

bcdedit /store %path% /set{bootloadersettings} locale zh-cn

 

bcdedit /store %path% /set {bootmgr} localezh-cn

 

bcdedit /store %path% /set {default} localezh-cn

 

bcdedit /store %path% /set {memdiag} localezh-cn

 

bcdedit /store %path% /set {default}description "安装 Windows 7"

 

bcdedit /store %path% /copy {default} /d"启动 WinPE 3.0 (64位)"

 

bcdedit /store %path% /copy {default} /d"启动 WinPE 3.0 (32位)"

 

PAUSE

 

 

 

2、新建一个PEenum_all.cmd文件,内容如下:

 

bcdedit /store F:\boot\bcd /enum all>bcd.txt

 

pause

 

 

 

3、查看F盘是否有一个BCD.TXT文件。这个文件的部分内容如下(蓝色与绿色字细看一下):

 

 

 

Windows 启动管理器

 

-------------------

 

标识符 {bootmgr}

 

description Windows Boot Manager

 

locale zh-cn

 

inherit {globalsettings}

 

default {default}

 

displayorder {default}

 

{18422457-4f48-11e2-a83a-003018a02f3b}

 

{1852d4cd-4f48-11e2-a83a-003018a02f3b}

 

toolsdisplayorder {memdiag}

 

timeout 20

 

Windows 启动加载器

 

-------------------

 

标识符 {18422457-4f48-11e2-a83a-003018a02f3b} 注:这一串数据随机产生的,你的不会跟例子一样的。

 

deviceramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

path \windows\system32\boot\winload.exe

 

description 启动 WinPE 3.0 (64位)

 

locale zh-cn

 

inherit {bootloadersettings}

 

osdeviceramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

systemroot \windows

 

detecthal Yes

 

winpe Yes

 

ems Yes

 

Windows 启动加载器

 

-------------------

 

标识符 {1852d4cd-4f48-11e2-a83a-003018a02f3b}

 

device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

path \windows\system32\boot\winload.exe

 

description 启动 WinPE 3.0 (32位)

 

locale zh-cn

 

inherit {bootloadersettings}

 

osdeviceramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

systemroot \windows

 

detecthal Yes

 

winpe Yes

 

ems Yes

 

Windows 启动加载器

 

-------------------

 

标识符 {default}

 

deviceramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

path \windows\system32\boot\winload.exe

 

description 安装 Windows 7

 

locale zh-cn

 

inherit {bootloadersettings}

 

osdeviceramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}

 

systemroot \windows

 

detecthal Yes

 

winpe Yes

 

ems Yes

 

 

 

注意一下,启动 WinPE 3.0 (64位)和启动 WinPE 3.0 (32位)各自所在的段落的标识符是不一样的。下面会用到它。你编辑时,这些标识符不一定跟例子中的一样,不要照复制我这里例子中的标识符。

 

 

 

4、再建一个B.CMD文件,内容如下,并执行。注意,颜色蓝色表示64位的,绿色表示32位的,好让大家更容易理解。

 

set bcd_path=f:\boot\bcd

 

setdev={7619dcc8-fafe-11d9-b411-000476eba25f}

 

REM 下面2行是X64的,boot\pe_x64.wim表示将引导boot目录下的pe_x64.wim文件。

 

REM {18422457-4f48-11e2-a83a-003018a02f3b} 就是标识符,要跟上述查看BCD文件时要一致。

 

bcdedit /store d_path% /set{18422457-4f48-11e2-a83a-003018a02f3b} device ramdisk=[boot]\boot\pe_x64.wim,v%

 

bcdedit /store d_path% /set{18422457-4f48-11e2-a83a-003018a02f3b} osdevice ramdisk=[boot]\boot\pe_x64.wim,v%

 

REM 下面2行是X86的,boot\pe_x86.wim表示将引导boot目录下的pe_x86.wim文件。

 

bcdedit /store d_path% /set{1852d4cd-4f48-11e2-a83a-003018a02f3b} device ramdisk=[boot]\boot\pe_x86.wim,v%

 

bcdedit /store d_path% /set{1852d4cd-4f48-11e2-a83a-003018a02f3b} osdevice ramdisk=[boot]\boot\pe_x86.wim,v%

 

pause

 

 

 

三、准备启动语言文件MUI

 

假定你安装的是WIN7系统(简体中文),制作的光盘带PE菜单也要简体中文的,到C:\Windows\Boot\PCAT\zh-CN目录下复制bootmgr.exe.mui和memtest.exe.mui这两个文件到F:\boot\zh-cn目录下。如果你不介意使用英文菜单,本步骤可略过(如果是中文一定要复制过去,否则会出现乱码)。

 

 

 

四、命名PE的WIM文件

 

根据上述BCD编辑的指令,64位PE的WIM文件必须命名为pe_x64.wim,32位PE的WIM文件必须命名为pe_x86.wim,这两个文件放在F:\boot目录下。

 

 

 

五、制作ISO

 

 

用ULTRAISO打开WIN7安装盘的ISO文件,将F:\BOOT目录替换进ISO文件的根目录。

 

 

 

六、其他

 

1、WIN8光盘带PE菜单做法类似。

 

2、EFI的菜单编辑做法类似。

 

3、如果仅是简体中文的光盘,boot目录中的fonts中的chs_boot.ttf、wgl4_boot.ttf要保留,其他的字体文件可删除。同样EFI目录下也有同样的字体文件可以删除的。boot目录内的其他文件不要随意删除。如,bootfix.bin缺失,将不会出现“按任意键启动DVD/CD”的提示,而是直接进入光盘(U盘)。

 

4、想了解bcdedit.exe的更多用法,命令提示符输入以下命令得到命令帮助。

 

bcdedit.exe /?

 

5、例子是添加双PE的,如果你只想添加一个PE,批处理中关于另一个PE的命令行去掉就可以了

 

上面是手动添加启动菜单,很简单,也可能用bootice.exe中的bcd编辑器直接修改。

 


微信:15312167779(系统交流学习)

邮箱:149824844@qq.com

更多我的学习技术文章:

https://boysky123.lofter.com

https://user.qzone.qq.com/149824844


 

 


评论

© JC网络工作室 | Powered by LOFTER