bcdedit的研究
首先说明下引导:
微软在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的启动文件拷贝到该分区。
bcdedit的研究的更多相关文章
- BCDedit 研究
bcdedit的研究 系统引导安装 2009-11-12 22:21:13 阅读13 评论0 字号:大中小 首先说明下引导: 微软在Vista之前的系统,采用的是Ntldr来进行引导系统,使用的是bo ...
- Bcdedit命令使用详解使用方法
XP,WIN2003,VISTA,万indows,WIN2008多盘多系统多引导bcdedit的使用windows出了新系统vista,2008想赏赏鲜学习学习~~但又习惯于用旧的XP,2003,然而 ...
- bcdedit
我的电脑装了双系统:Win2003 SP2(C盘)和Win2008 SP2(D盘),最近2003一启动就蓝屏unknown hard error,安全模式也进不去,恢复注册表等方法试过也不行,但200 ...
- 闲来无聊,研究一下Web服务器 的源程序
web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(上)
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(下)
SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...
随机推荐
- DLL Injection and Hooking
DLL Injection and Hooking http://securityxploded.com/dll-injection-and-hooking.php Three Ways to Inj ...
- ReflectionToStringBuilder使用
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3 ...
- L脚本语言语法手冊 0.10版
L脚本语言语法手冊 0.10版 简 介 L脚本语言是一个轻量级的,旨在接近自然语言的编程语言,眼下支持在中文.英文基础上的编程.并可扩展为随意语种.L脚本语言的语法结构简单.程序结构相对 ...
- gradle 2.1构建android出现错误的解决方案
转自:http://www.tuicool.com/articles/YJNJbuA 使用不同版本Gradle构建Andorid 出现Gradle version xxxx is required 坑 ...
- Android学习进阶和IoC
1.成为Android高手一般分为六个阶段: 第一阶段:熟练掌握Java SE,尤其是对其内部类.线程.并发.网络编程等需要深入研究:熟练掌握基于HTTP协议的编程,清楚POST和GET等请求方式流程 ...
- [转] Markdown
转自 https://en.wikipedia.org/wiki/Markdown#Example 英文版本 - http://daringfireball.net/projects/markdown ...
- 用 Nokitjs 解决前端开发中的跨域问题
问题 在开发一些「单页应用」时,通常会使用 Ajax 和服务器通讯,比如 RESTful API,通常「前端」和「服务端 API」可能是有不同人员在负责,也不在同一个工程下,那么开发过程中就可能会遇到 ...
- docker学习总结--安装、卸载
参考:http://blog.csdn.net/u012562943/article/details/50463400 https://docs.docker.com/engine/getstarte ...
- android用jsonReader来解析json
对于这个json: { "id" : "3232", "data" : [{ "data1" : "555&q ...
- c# 使用api函数 ShowWindowAsync 控制窗体
1.需要匯入 System.Runtime.InteropServices 命名空間 2.宣告 ShowWindowAsync 函數 [DllImport("user32.dll" ...