一 BCDEdit命令操作实例

二 BCDEdit命令介绍

Bcdedit简介

在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),来管理启动设置。
  ——所谓boot loader,在指在内核运行之前执行的一段小程序,系统通过它来初始化硬件设备、建立内存空间的映射图等,将系统的软硬件环境设置成一个合适的状态,为最终调用操作系统内核准备好正确的环境。——在启动过程中,Ntldr 使用Boot.ini 文件来确定在启动/引导过程中要显示哪些操作系统选项,我们对启动选项的设置可以通过修改boot.ini文件中相应内容实现。Windows NT60 (Windows 7/Vista/2008)与早期 NT52 系列系统(Windows XP/2000/2003)启动的对比 在传统的基于BIOS的计算机中,如果只安装 NT60 系列操作系统(Windows 7/Vista/2008),您将会发现 Boot.ini 文件已经彻底从系统中消失;如果系统中安装了 NT60 和之前的 Windows 系统,如 NT52 系列操作系统 (Windows XP/2000/2003),虽然仍可找到 Boot.ini 文件,不过,这个文件只作用于那些系统,而不会对 NT60 的启动有任何影响。
  而在基于EFI (Extensible Firmware Interface : 可扩展固件接口,以后采用这种接口的PC会越来越多 )的计算机中,Boot.ini 文件则更不复存在,在基于EFI的系统中,启动选项被贮存在主板的存储器中。此时要修改启动选项,要么通过能够读写NVRAM的工具如NvrBoot,要么使用上文提到的BCDEdit。
  由此可见,在NT60中,想要再像之前 NT52 中那样通过一个简单的文本编辑器来修改Boot.ini(或用NT52自带工具 Bootcfg)的方式来管理启动选项已经不可能了,要对启动设置进行修改,只能使用命令格式相对要复杂得多的BCDEdit。
  此外,微软也在 NT60 中提供了可通过WMI (Windows Management Instrumentation : Windows管理规范)调用的 BCD 类,通过它可以用编程的方式修改BCD数据。不过,相信对绝大多数根本不会接触编程的用户而言,这更是不可能的任务。

BCDEdit 使用前注意

1.工具性质 
  需要注意的是,BCDEdit不是一个运行于图形界面下的程序,而是一个命令行工具,该文件 (Bcdedit.exe) 位于 “\Windows\System 32”目录下。
  2.启动
  要执行BCDEdit,首先应进入命令行窗口,并要将操作用户并提升至管理员权限。另外,该工具依赖于参数,如果不带参数,则不能正常使用。
  在命令行窗口中,转到系统目录如 “C:/windows/system32”下,然后输入“bcdedit <参数>” 即可。也可直接在任意目录运行,因为System32目录本身在环境变量“Path”的范围内。
  3.BCDEdit命令核心
  (1)帮助
  bcdedit /? : 显示全部的命令帮助(都只是概述)。
  bcdedit.exe /? <命令> : 显示指定命令参数的详细信息(无需带斜杠)。使用中对其他任何可用参数也均可使用本命令格式查看该参数的具体说明。
  (2)Enum
  通过命令行工具Bcdedit,我们可以添加、删除及修改BCD (Boot Configuration Data)中的对象。在BCD中,每个对象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一标识符),如系统中的每块硬盘、每个分区的GUID (全局唯一标识符)均不相同。
  在BCD中,启动加载器的GUID可分为如下几类: 
  {ntldr}: 指存在上代NT50系列操作系统(Windows XP/2000/2003)的硬盘或分区;
  {default}: 默认所在硬盘或分区;
  {current}: 当前硬盘或分区;
  {<GUID>}: 类似于这个格式的GUID指其他安装了操作系统的硬盘或分区。
  (注:相应的GUID可通过“ bcdedit ”或“ bcdedit /enum all ”命令查看。这样会显示BCD当前的启动设置数据,包含了所有在BCD记录中的操作系统,均能显示其GUID,用户可以此作更改启动数据的参考。)
  (3)保险措施(使用BCDEdit备份与恢复启动选项)
  在对Windows NT60的启动选项修改之前,最好先对其备份,以防万一操作失误或其他故障导致系统无法启动。 
  bcdedit /export <目录> : 将启动设置备份到指定的目录下;
  bcdedit /import <目录> : 恢复之前备份在指定目录下启动选项。
  注:当需要还原备份的启动选项时,应仔细检查备份的启动选项是否对应于自己所需要的,否则重新设置会比较麻烦。

使用BCDEdit修改启动菜单选项

作为一种良好的操作习惯,在对Windows Vista的启动选项进行任何修改前,首先要对BCD中的启动选项进行备份,相应的命令上页我们已介绍过,在此不再赘述;其次,使用“bcdedit ”或“ bcdedit /enum all ”来查看系统中硬盘或分区的正确 GUID 标识,并将其记录下来。毕竟,BCDEdit只是一款命令行工具,我们操作时需手动输入类似“”这样的长字符串时,很容易出错,而这往往会导致Windows Vista启动失败。
  下面详细介绍使用BCDEdit修改启动选项的常用命令格式: 
  bcdedit /set {ntldr} Description “Windows XP Professional SP2” : 修改上一代在启动菜单中的显示内容,比如说我们也可将其修改为“Vista天地de专用XP SP2”之类。注意,命令中的引号不可省略;操作系统
  bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改当前启动硬盘或分区上的操作系统在启动菜单中的显示内容。注意,当前分区上的操作系统可能为Windows Vista,也可以是其他系统,当然,命令中的引号也不可省略;
  bcdedit /set {<GUID>} description “Windows Vista Build 5270 x64” : 修改安装于其他硬盘或分区的系统在启动菜单中的显示内容,使用这项命令时一定要注意该硬盘/分区的GUID输入正确,相应的GUID可通过“ bcdedit ”或“ bcdedit /enum all ”命令查看。
  bcdedit /default {current} :将当前启动硬盘/分区中的操作系统设置为默认启动的系统;
  bcdedit /default {<GUID>} :设置指定GUID上的操作系统为默认启动的系统;
  bcdedit /default {ntldr} :设置上一代Windows 系统Windows XP为默认启动的系统;
  bcdedit /displayorder : 设置启用菜单中各项的显示顺序,如:
  bcdedit.exe /displayorder {ntldr} {current} :将首先显示Windows XP,然后再显示默认启动的系统如Windows Vista;
  bcdedit /timeout 15 :将默认的启动菜单显示时间30秒更改为15秒,当然,您可以将这个时间修改为任何您希望的数值。
  使用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须与指定值不同。
  Bcdedit命令详解,自定义Vista启动管理项
  Bcdedit 位于X:\Windows\system32\ "X:"为安装Vista的盘符。
  储存操作指令
  ====================
  /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 Vista" /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
更改系统名称

默认XP系统名称在Vista启动管理器中是"earlier version of Windows",更改:
  bcdedit /set Description "Windows XP Professional SP2"
  默认Vista系统名称在Vista启动管理器中是"Microsoft Windows",更改:
  bcdedit /set Description "Windows Vista 5456"
  输出控制指令
  ====================
  /enum 在储存中的列表项目。
  列出所有的操作系统载入程序启动项目:
  bcdedit /enum OSLOADER
  列出所有的启动管理项目:
  bcdedit /enum BOOTMGR
  列出默认的启动项目:
  bcdedit /enum
  列出指定的操作系统启动项目:
  bcdedit /enum
  /v 列出所有活动的项目
  bcdedit /enum ACTIVE /v
  启动管理控制指令
  ====================
  /bootsequence 设定启动列表顺序。
  设定二个操作系统项目和启动顺序:
  bcdedit /bootsequence {cbd971bf-b7b8-4885-951a- fa03044f5d71}
  加入操作系统项目为启动列表最后项:
  bcdedit /bootsequence /addlast
  /default 设定默认启动项目。
  设定默认启动项目:
  bcdedit /default
  设定默认启动操作系统程序为 NTLDR:
  bcdedit /default
  /displayorder 设定哪一个系统启动显示多启动画面。
  设定二个操作系统项目和在启动管理显示命令中被建立操作系统载入的程序 NTLDR:
  bcdedit /displayorder
  把指定的操作系统项目加入启动管理显示命令结束:
  bcdedit /displayorder /addlast
  /timeout 设定启动暂停数值。
  /toolsdisplayorder 设定命令在哪一个启动管理显示工具画面。
  设定二个工具项目和内存诊断在那启动管理工具显示命令:
  bcdedit /toolsdisplayorder
  把指定的工具项目加入启动的结束管理工具显示命令:
  bcdedit /toolsdisplayorder /addlast
  为一个启动应用程序控制紧急处理服务的指令
  ====================
  /bootems
  开启启动管理紧急处理服务:
  bcdedit /bootems ON
  /ems
  为目前的操作系统启动项目 EMS 开启:
  bcdedit /ems ON
  /emssettings 设定紧急处理服务参数。
  设定 EMS 参数使用基本输出入系统设定:
  bcdedit /emssettings BIOS

图解修改Windows启动菜单命令行工具BCDEdit相关推荐

  1. BCDEdit命令修改windows启动菜单

    BCDEdit命令简介 通过命令行工具Bcdedit,我们可以添加.删除及修改BCD (Boot Configuration Data)中的对象.在BCD中,每个对象均具有唯一的 GUID (Glob ...

  2. windows下的命令行工具babun

    Babun 可以直接在winodows下面编译linux代码 但是本人只成功编译过个个go的linux 和 C的linux,C++的编译不出来东西 安装很简单,下下来,直接双击批处理 install ...

  3. Windows 软件管理命令行工具scoop介绍

    我们知道Mac 上的brew,Ubuntu 上的apt命令行工具可以方便用来管理软件 类似的Windows 实际上也有一个开源命令行软件管理工具 Scoop下载地址(https://github.co ...

  4. windows使用linux命令行工具,替代Windows系统下cmd的10款命令行工具

    喜欢用Linux系统的或者从事开发编程的朋友可能会经常用到命令行工具,下面会整理一些Windows下命令行工具. 1.powershell 系统自带 powershell 它可以说cmd的升级版.补充 ...

  5. 基于Fluent Terminal和Cmder打造一个美观的Windows命令行工具

    前言   相信有很多小伙伴跟我一样,觉得Windows的原生命令行工具具有很多缺点:传统的黑底白字(Windows PowerShell则是蓝底白字)极不美观,复制文本不方便,不支持多Tab页导致多窗 ...

  6. 搭建最炫酷的 Windows Terminal 全新命令行更新以及美化指南 微软新版终端工具安装美化教程

    Windows发布了最新的Windows Terminal命令行工具,拜托了以前的黑色的边框以及一些缺点,我们先来预览一下效果吧 这是我修改保存之后的命令行工具 不仅可以支持快捷键操作还支持自定义快捷 ...

  7. 微软最强命令行工具 Windows Terminal,强势霸榜GitHub

    命令提示符也是算 Windows 系统的一大特色了,相信很多人刚看到这白底黑字的界面都有点哭笑不得吧,好在后来微软陆续推出了Powershell.cmd之类的命令行工具,来提供一些更加高级的功能 如今 ...

  8. ubuntu测试键盘工具_强势霸榜GitHub,微软最强命令行工具发布引爆技术圈

    "卧槽"."牛*!"."想买PC!"是昨天凌晨微软Build大会发布Windows Terminal后开发者们的第一反应. 如旋风般登顶Gi ...

  9. SVN_Windows安装Subversion(svn 命令行工具)教程

    命令行工具下载地址:https://www.visualsvn.com/files/Apache-Subversion-1.10.3.zip 下载后把压缩包解压,得到 bin 和 Licenses 两 ...

最新文章

  1. 2.逆向分析Hello World!程序-上
  2. 数据结构应用实例#栈#迷宫寻路
  3. java 字符串缓冲池 String缓冲池
  4. 十二届蓝桥杯C++ 1月 中 高级组试题 第4题 病毒繁殖
  5. mysql数据库group by_MySQL数据库对GROUP BY子句的功能扩展(1)
  6. OpenShift 4 - 基于CPU负载和网络负载的HPA
  7. nux 平台的 libpcap 源代码分析
  8. oracle数据基本操作,Oracle数据库基本操作
  9. [转载] Java 单例(Singleton)类
  10. java 可变参数列表 数组_java可变参数列表如何填充数组?
  11. JDK的问题:用C启动虚拟机跟java运行结果有差异
  12. selenium报错 : WebDriverException: ‘chromedriver‘ executable needs to be in PATH解决方案
  13. Oracle Instant Client安装与配置
  14. JavaScript分割字符串
  15. 关于使用js的setAttribute和getAttribute取dom属性在ie ff safri下的问题
  16. 页面性能优化办法有哪些?
  17. linux ubuntu动物,[趣闻]Ubuntu各大发行版的动物代号
  18. 3、身份证、数字、日期、手机号码等等的验证判断
  19. ksoftirqid进程CPU100%排查
  20. MySQL索引(详细,1万字长文)

热门文章

  1. MySQL 高级 - 存储过程 - 语法 - repeat循环
  2. CTFshow 反序列化 web257
  3. SSD算法 模板 匹配
  4. buildPyramid函数
  5. gevent.joinall()开启协程
  6. 基本粒子群算法(PSO)的改进
  7. 计算机网络技术中的NAT,计算机网络技术中的NAT-2.ppt
  8. android edittext 光标监听,Android EditText监听器,用于光标位置更改
  9. mysql中主从_MySQL的主从
  10. 孤荷凌寒自学python第八十一天学习爬取图片1