博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bcdedit的研究
阅读量:5995 次
发布时间:2019-06-20

本文共 3064 字,大约阅读时间需要 10 分钟。

 

 

首先说明下引导:

微软在Vista之前的系统,采用的是Ntldr来进行引导系统,使用的是boot.ini文件。

在目前的Vista和win7中,采用的是新的引导方式Windows Boot Manager(就是Bootmgr),这个引导从修改的角度来说变成了数据库的形式,不能采取通过记事本修改的方法了,为此微软提供了修改的程序——bcdedit.exe。

 

提醒:个别功能可以执行msconfig进行修改!或者安装管理软件修改,如easy bcd等。

 

首先贴出一个bcdedit的例子:

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

Windows 启动管理器

--------------------
标识符                  {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  zh-CN
inherit                 {globalsettings}
default                 {current}
resumeobject            {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}
displayorder            {current}
                        {4f73a4f5-bfa7-11de-8f62-ebb3d51eb702}
                        {ntldr}
toolsdisplayorder       {memdiag}
timeout                 2

Windows 启动加载器
-------------------
标识符                   {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}
nx                      OptIn

Windows 旧 OS 加载器

------------------------
标识符                  {ntldr}
device                  partition=C:
path                    \ntldr
description             Windows XP

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

标识符及代号说明:

{4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}    这个就是Windows7

 

 

简单的bcdedit命令:

<查看帮助>

bcdedit /?                      查看帮助

bcdedit /? set                查看set命令参数的帮助

bcdedit /? createstore   查看createstore命令参数的帮助

...

 

<备份与恢复>

bcdedit /export "D:\backup"  保存BCD数据库到D盘backup文件

bcdedit /import "D:\backup"  从D盘backup文件恢复BCD引导

 

<多菜单修改>

bcdedit /timeout 30    修改启动界面等待时间为30秒

bcdedit /default     设置当前系统为默认启动系统。

bcdedit /default {ntldr} 设置标识符为{ntldr}的系统为默认系统。

bcdedit /displayorder {ntldr} {4f73a4f6-bfa7-11de-8f62-ebb3d51eb702}

                                  启动菜单顺数改为第一个为{ntldr},第二个为{4f73a4f6-bfa7-11de-8f62-ebb3d51eb702

bcdedit /displayorder {ntldr} /addlast 将{ntldr}放到启动菜单的最后一个。

                                  除addlast外,还有addfirst(放到第一位)和remove(移除此选项)

注意:bcdedit /displayorder后面必须接标识符,此处如果是{current}也不可以省略。bcdedit /displayorder /addlast是语法错误。

 

<菜单创建>

bcdedit /create {ntldr} /d "之前的 Windows系统"       创建一个描述为(/d后面的内容)"之前的 Windows系统"的菜单,这个可以用于创建XP等系统引导。

bcdedit /create /d "Windows Vista" /application osloader   创建一个描述为"Windows Vista"的菜单,这个用于Vista和win7等系统的引导。(和上面的就差在最后的/application osloader一句话)

 

<菜单删除>

bcdedit /delete {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} 删除标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单

bcdedit /delete {ntldr} /f  删除标识符为{ntldr}的菜单。(删除ntldr的菜单需要后面加上一个/f)

 

 

 

<菜单修改>

bcdedit /set description "windows 7 AT ONE"  将当前系统描述修改为"windows 7 AT ONE"

bcdedit /set {ntldr} description "windows XP AT ONE"  将标识符为{ntldr}的菜单描述修改为"windows XP AT ONE"

bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} device partition=C:   设定标识符为"cbd971bf-b7b8-4885-951a-fa03044f5d71"的菜单的引导分区为"C:"

bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} path \windows\system32\winload.exe     设定标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单的系统引导文件为"windows\ system 32\ winload.exe"

bcdedit /set {4f73a4f4-bfa7-11de-8f62-ebb3d51eb702} nx optin    设定设定标识符为{4f73a4f4-bfa7-11de-8f62-ebb3d51eb702}的菜单系统开启DEP保护

 

 

Bootmgr下面添加NTLDR范例:

bcdedit /create {ntldr} 

bcdedit /set {ntldr} device partition=C: 
bcdedit /set path \ntldr 
bcdedit /set description "WinXP"

 

第二行的C:是bootmgr启动所在分区,之后要把NTLDR的启动文件拷贝到该分区。

 

 

 

 

转载地址:http://zemlx.baihongyu.com/

你可能感兴趣的文章
简易RPC框架-上下文
查看>>
26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面...
查看>>
自定义ViewGroup
查看>>
25.管道流
查看>>
2017-2018:时间戳
查看>>
php实现 明明的随机数
查看>>
Guava中针对集合的 filter和过滤功能
查看>>
小程序顶部导航栏的自定义
查看>>
ZooKeeper系列(3):znode说明和znode状态
查看>>
Java Arrays.sort源代码解析
查看>>
使用buildroot创建自己的交叉编译工具链【转】
查看>>
使用superlance插件增强supervisor的监控能力
查看>>
Dcloud课程7 单例模式一般用在什么场景
查看>>
Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个...
查看>>
移动Web前端,游客点击商品的收藏按钮,登录完成,回来之后,如何自动收藏...
查看>>
css自适应浏览器大小
查看>>
C#与C++的发展历程第二 - C#4.0再接再厉
查看>>
VS Code使用 Vue工程配置 eslint
查看>>
107. 二叉树的层次遍历 II
查看>>
ionic3+angular4+cordova 项目实例
查看>>