在windows 7使用BCDEdit.exe修改启动菜单项

时间:2021-04-21 20:32:26

  最近重装了系统,电脑型号:Thinkpad R400 2784A74。原本想换个windows Server 2003的,可是没有与之对应的驱动程序,于是又换成windows 7 ultimate,考虑到之前使用的XP系统可能还会用到,于是想到做个双系统。

  安装windows7的步骤简单说下:使用虚拟光驱+光盘镜像进行安装,过程是漫长的。此处略去1个小时。

  成功安装windows7之后,启动系统时,在惊喜之余却发现启动菜单中怎么有2个windows 7启动项,于是便有了如下的解决办法。  

  首先根据从百科及其他博友的文章中总结了一下主要内容:

为什么要使用BCDEdit.exe?

在NT60系列操作系统(Windows 7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootloader,后者无须再使用boot.ini文件。也就是说,使用BCDEdit这个工具,能够修改NT60 系列系统的启动菜单。

在之前基于NT50系列(Windows XP/2000/2003)的Windows系统中,Windows使用Ntldr作为Boot Loader来启动系统, 但在新的NT60系列系统中,微软引入了一种全新的boot loader架构, Windows Boot Manager (Bootmgr.exe)。与Ntldr严重地依赖于硬件不同的是,NT60中的新架构可以实现完整的硬件独立性,且能够与多种操作系统无缝结合,让NT60的启动/引导过程更加快速与安全。同时,将之前Windows 系统中由Boot.ini管理的内容移交给新的Boot Configuration Data (BCD : 启动设置数据),当然,也提供了新的启动选项编辑工具,BCDEdit (BCDEdit.exe),来管理启动设置。

如何使用BCDEdit.exe?

要执行BCDEdit,首先应进入命令行窗口,并要将操作用户并提升至管理员权限。另外,该工具依赖于参数,如果不带参数,则不能正常使用。

常用参数说明

在BCD中,启动加载器的GUID可分为如下几类:

{ntldr}: 指存在上代NT50系列操作系统(Windows XP/2000/2003)的硬盘或分区;

{default}: 默认所在硬盘或分区;

{current}: 当前硬盘或分区;

{<GUID>}: 类似于这个格式的GUID指其他安装了操作系统的硬盘或分区。

 

示例(自己就是使用一下示例修改启动菜单项的)

1.[/set]

bcdedit /set {ntldr} Description “Windows XP Pro SP3” 修改上一代在启动菜单中的显示内容(命令中的引号不可省略)

2.[/default ]

bcdedit /default {current} :将当前启动硬盘/分区中的操作系统设置为默认启动的系统;

3.[/displayorder ]

bcdedit.exe /displayorder {ntldr} {current} :将首先显示Windows XP,然后再显示默认启动的系统如Windows7;

4.[/timeout]  

bcdedit /timeout 5     将默认的启动菜单显示时间更改为5秒

 

补充

1.使用BCDEdit修复硬盘/分区结构错误

    在对启动选项的修改过程中,如添加或删除某个硬盘/分区时,可能会因操作中的不慎导致硬盘/分区结构的混乱,除了采用恢复修改前的备份方法外,也可以首先使用BCDEdit来尝试一下修复。
   具体方法如下: 
   X:\>X:\boot\fixntfs.exe -lh -all : 这时的“ X: ”指引导目录 “boot” 所在的硬盘/分区;
   bcdedit /set device partition=X: : 将指定GUID的分区设为启动分区。注意,这里的“ X: ”的GUID须与指定值不同,同时,运行该命令后,必须接着运行下面的osdevice命令;
  bcdedit /set osdevice partition=X: : 将指定GUID的分区设为启动分区。注意,这个命令必须与上面的device命令配对使用,同时“ X: ”的GUID须与指定值不同。
  
  2.Bcdedit命令详解,自定义Windows7启动管理项
 
  Bcdedit 位于X:\Windows\system32\ "X:"为安装Windows7的盘符。
 
  储存操作指令
  ====================
   [/createstore] 创建一个新的空白启动配置数据文件。
   bcdedit /createstore C:\Data\BCD 创建BCD启动配置数据文件储存到“C:\DATA\”文件夹。
   
   [/export] 备份启动配置数据文件。
   bcdedit /export "C:\Data\BCD Backup" 备份BCD启动配置文件到“C:\Data\”文件夹,并以“BCD Backup”命名。
   
   [/import] 还原启动配置数据文件。
   bcdedit /import "C:\Data\BCD Backup" 从“C:\Data\”文件夹恢复BCD启动配置文件。
   
    储存项目操作指令
   ====================
   [/copy] 项目拷贝
   操作系统启动项目的拷贝:
   bcdedit /copy /d "Copy of entry"
   
   [/create] 新建项目
   创建操作系统载入程序项目的 NTLDR(Ntldr):
   bcdedit /create /d "Earlier Windows OS Loader"
   
   创建存储器磁碟另外的选择项项目:
   bcdedit /create /d "Ramdisk options"
   
  创建一个新的操作系统启动项目:
   bcdedit /create /d "Windows Windows7" /application osloader
   
  创建一个新的调试器:
   bcdedit /create /d "Debugger Settings"
   
   [/delete] 删除项目
   删除指定的操作系统项目:
   bcdedit /delete
   
   删除指定的操作系统项目但启动时不显示项目(彻底删除):
   bcdedit /delete /cleanup
   
   删除指定的操作系统项目但启动时显示项目:
   bcdedit /delete /nocleanup
   
   删除操作系统载入程序项目的 NTLDR:
   bcdedit /delete /f
   
   项目选择操作指令
   ====================
   [/deletevalue] 删除项目选择项。
   删除启动管理的bootmgr选择项项目:
   bcdedit /deletevalue bootsequence
   
   删除(WinPE)操作系统的数值开机项目:
   bcdedit /deletevalue winpe
   
   删除来自指定的操作的 Windows PE 数值系统开机项目:
   bcdedit /deletevalue winpe
   
   [/set] 设定项目选择项数值。
   设定操作系统“cbd971bf-b7b8-4885-951a-fa03044f5d71”引导分区“C”:
   bcdedit /set device partition=C:
  
   指定的操作系统引导文件“ windows\ system 32\ winload.exe”:
   bcdedit /set path \windows\system32\winload.exe
   
   设定“NX”为“OptIn”:
   bcdedit /set nx optin