bcdedit

 

我的电脑装了双系统:Win2003 SP2(C盘)和Win2008 SP2(D盘),最近2003一启动就蓝屏unknown hard error,安全模式也进不去,恢复注册表等方法试过也不行,但2008正常,覆盖安装2003也不解决,看来只有格盘重装了。重装2003和应用软件后,系统恢复正常运行。下一步就应该是恢复双启动菜单了。但我手头没有其他软件,只有系统安装盘,只好研究令我头大的那个bcdedit。微软的说明文字让我是一头雾水,上网查找了一些资料终于清楚了怎么用。
1.用2008的光盘启动到修复计算机下的命令提示符,在命令提示符下运行X:/boot/bootsect.exe /nt60 sys(X是光驱盘符)把2008的启动扇区写入C盘。
2.运行bootrec.exe /rebuildbcd重建启动菜单。

bootrec.exe的用法类似于XP的故障恢复控制台,常用参数如下:
/fixmbr 修复主引导记录
/fixboot 修复启动扇区
/scanos 扫描并添加已有的系统,注意扫描不到XP
/rebuildbcd 重建整个BCD(启动配置数据),这次由于格了C盘,所以必须重建

3.把2008系统目录下的boot/pcat文件夹(/Windows/Boot/pcat)下所有文件复制到c:/boot目录,命令:xcopy D:/Windows/boot/pcat/*.* c:/boot /e(/e表示复制子目录)
4.把/Windows/boot/fonts下所有文件复制到c:/boot/fonts目录:xcopy D:/Windows/boot/fonts/*.* c:/boot/fonts /e。注意系统会询问目标是文件还是目录,别选错了!
5.把boot目录下的bootmgr移动到C盘根目录下,命令:move c:/boot/bootmgr c:/
6.把boot目录和bootmgr文件添加隐藏、系统等属性,防止误操作。attrib +r +h +s +a c:/boot和c:/bootmgr
7.从硬盘启动,现在2008已经能正常使用,但是2003没有启动项,要手工添加,这里就要用到bcdedit。以管理员身份运行CMD,键入以下命令:

bcdedit /create {ntldr} /d "Windows 2003" (创建一个基于NTLDR的启动项,菜单里显示为“Windows 2003”)
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path /ntldr
bcdedit /displayorder {ntldr} /addfirst(把刚才创建的这个条目显示在启动菜单的第一位)
bcdedit /toolsdisplayorder {memdiag} /addfirst (在启动菜单里添加内存诊断工具)

重启后,双启动菜单恢复正常!

bcdedit说明:
在Vista/2008下,我们通过msconfig的“启动”选项卡可调整启动时的参数,也可通过系统属性-高级-启动和故障恢复对引导菜单进行调整。但这些项目和XP是类似的。有些功能在XP下非得修改boot.ini才能完成,比如添加一个启动项、修改启动菜单里的文字等,这些在VISTA下就只有用bcdedit了。这是一个命令行工具,必须以管理员身份运行。只要有点英语基础的人,看到命令都能猜出是什么含义,可是微软的帮助就是那么让人费解。其实对我们有用的参数也就那么几个。

一、备份和恢复启动配置文件
为减少像我这样的麻烦,大家在平时可以把启动配置数据导出来,恢复就很简单了。你也可以自己建一个配置文件,然后把启动项加入其中,以后就可以去别的电脑上用了。
例如:
bcdedit /createstore "C:/1.bcd" 创建一个名为C:/1.bcd的启动配置文件
bcdedit /export "C:/2.dat" 把启动配置导出到C:/2.dat
bcdedit /import "C:/3.abc" 从C:/3.abc导入启动配置

二、标识符
每一个bcdedit中的启动项都有一个唯一的标识符,格式类似于Windows的CLSID,如 {791d518d-3526-11de-8dab-b4cd0d61d150}。但有几个特殊的标识符是我们需要记住的。
{default} 默认启动项
{ntldr} 基于NTLDR启动的系统,如NT4.0、XP、2003
{current} 当前的Vista启动项
{bootmgr} Windows启动管理器,这个一般不用管,会自动生成
{memdiag} Windows内存诊断

直接运行bcdedit.exe就可以列出所有的启动项了,大家可以把标识符记一下。

以下的命令如果要修改自己创建的启动配置文件而不是引导菜单,只要用/store指定文件名即可。如:bcdedit /store "C:/1.bcd" /create {ntldr} /d "XP"

三、创建和修改启动项目
创建一个XP的启动项:bcdedit /create {ntldr} /d "XP" 
创建一个Vista的启动项:bcdedit /create /d "Vista" /application osloader
复制启动项:bcdedit /copy 要复制的标识符 /d 描述
/d指定启动菜单里的文字,可以自己起,不要忘了引号。
/application指定启动项的“应用程序类型”,创建非XP类型的启动项时才需要。常用的有两种:osloader(操作系统加载器)和bootsector(启动扇区)。一般来说VISTA都是从某个文件开始启动的,应该指定为“操作系统加载器”类型,如果是要从某个文件里读取启动扇区(如各种版本的LINUX启动文件、XP引导WinMe的bootsect.dos文件等),就应该指定为“启动扇区”类型了。
第二条和第三条命令运行后系统会给出一个新的标识符,请记下,修改时要用到。

删除启动项:bcdedit /delete 标识符。但要注意,删除XP的启动项时,应加上/f参数:bcdedit /delete {ntldr} /f
设置启动菜单显示时间:bcdedit /timeout 数值,单位为秒。
设置启动项显示顺序:bcdedit /displayorder 标识符。如:
先显示XP再显示VISTA:bcdedit /displayorder {ntldr} {current}
另外,用/addfirst和/addlast可以把启动项加入菜单第一位和最后一位,如 bcdedit /displayorder {ntldr} /addlast
用/toolsdisplayorder可以设定启动菜单里工具的显示顺序。
设置默认启动项:bcdedit /default 标识符。如:bcdedit /default {current} 把当前的VISTA系统设成默认启动。

四、列出启动项
我们可以用/enum列出启动项,格式为bcdedit /enum 应用程序类型 [/v]。
其中“应用程序类型”我们只需要知道常见的两种:active和all。active指的是启动菜单上有的项目,all则是所有项目。
/v是一个可选参数,使用它后,在列表的“Windows Boot Manager”部分的默认系统和显示顺序中,将以完整标识符(就是一长串的那种)代替显示原有的{default}、{ntldr}等特殊标识符。一般不需要使用。
我们刚才提到的直接运行bcdedit等同于运行bcdedit /enum active。
那么这个有什么用呢?举个例子,假设你装了几个VISTA引导类型的系统(比如2008和7、VISTA HB和U等),后来重装了其中一个或几个,那你有可能会发现启动菜单上并没有把你的这些VISTA全显示出来,你还得通过bcdedit手动添加缺少的系统。而通过上面的介绍大家可以看到,创建和修改新的VISTA启动项的参数时要用到系统生成的一长串标识符,而不是{current}这么简单。万一在修改参数的时候你忘了标识符怎么办呢?由于我们一般都习惯到最后才设置引导菜单上的显示顺序,你直接用bcdedit列启动项是看不出来的。这时用bcdedit /enum all就可以看到引导菜单上没有的启动项了。

五、设置启动项的参数
在启动项列表中,大家可以看到每一项的下面都有很多参数,这些命令就可以设置参数。基本格式如下:
设置参数:bcdedit /set 标识符 参数名 参数值
删除参数:bcdedit /deletevalue 标识符 参数名
如果不指定标识符,则默认为当前系统,即{current}。我们需要掌握的几个参数如下:
device:启动设备,如 bcdedit /set {ntldr} device partition=C:设置XP启动分区为C盘。对于{bootmgr}来说也是C盘,对于VISTA来说只要把C换成VISTA所在分区即可。
osdevice:系统启动设备,只在VISTA启动项里有效,一般设成和device一样。
path:启动文件路径,XP是/ntldr,Vista是/Windows/system32/winload.exe
description:启动菜单里显示的文字。
nx:DEP设置,类似于XP,可设为OptIn、OptOut。
这个,大家也可以列出启动项看一下。
在菜单里选择了要启动的系统后,bootmgr会从device指定的启动设备去寻找path中的启动文件,从而启动对应的操作系统。清楚了这一点,我们配置启动项就不困难了。

下面再举一个例子:Vista和Win ME双启动。
大家知道Win ME是微软推出的9X内核终结版,很多人说它是垃圾,其实Win ME不管从哪方面说都比98好(用过才知道)。它可以说是9X的精品,是当时最好的家用娱乐操作系统,既保留了98的良好兼容性又有不错的娱乐性能和软硬件支持。我对WinMe感情还是很深的,它陪伴我走过了8年。家里电脑还在用着它。不过,现在WinME已经过时了,我举例的目的只是告诉大家启动扇区文件的引导方法。
原理:装过WinMe和XP双系统的朋友都知道,C盘根目录下有一个bootsect.dos文件,这就是WinMe的引导扇区。boot.ini文件里有一句C:/=***,其实完整的语句是:C:/bootsect.dos=***。当在启动菜单上选择WinMe时,系统就会从bootsect.dos读取引导扇区从而启动WinMe。再后来,这种方法就被广泛用于一些XP下的DOS工具箱软件中。
实际上,根据这个原理,我们完全可以用Vista的引导程序启动WinMe。但由于在WinMe下无法运行Vista的安装程序,所以我们得先把WinMe的引导扇区提取出来。方法是:先安装好WinMe,然后在WinMe下打开DOS窗口,运行DEBUG,再依次输入以下命令:

-L 100 2 0 1
-N C:/bootsect.dos
-R CX
200
-W
-Q

说明:第一行把C盘的引导扇区读到内存里,第二行指定保存的文件名,第三、四行指定要写入200H个字节(即512D)的数据,第五行把引导扇区写入文件,第六行退出。
接着大家可以给它加上相应的属性,防止误操作破坏文件。

然后用Vista光盘启动,把Vista装在另一个分区里,装好后你会发现WinMe无法启动了。下一步我们就要修改引导菜单。
创建一个WinMe的引导项并加入菜单中。上面我们说过提取出来的是WinMe的引导扇区,所以应该创建为引导扇区类型:

bcdedit /create /d "Windows ME" /application bootsector并记下系统给出的标识符(下面以ID代替)
bcdedit /displayorder ID /addlast

给启动项设置启动文件:
bcdedit /set ID device partition=C:
bcdedit /set ID path /bootsect.dos

请注意这里的路径应该以实际情况为准,启动分区(即引导扇区文件存放的分区)应该以Vista下的盘符为准(Vista从光盘启动安装时会强行把所选分区改为C盘,所以盘符会不一样)
我试过,引导成功。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一招教你舍友学会尤克里里 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅视频源 洋味铁汁联盟

linux cpu softirq,linux softirq机制

Copyright © 2003 by 詹荣开E-mail:zhanrksohu.comLinux-2.4.0Version 1.0.0,2003-2-14摘要:本文主要从内核实现的角度分析了Linux 2.4.0内核的Softirq机制。本文是为那些想要了解Linux I/O子系统的读者和Linux驱动程序开发人员而写的。关键词&…

复盘:我的三个月远程办公实践,有自由,也有代价

这是头哥侃码的第244篇原创有人说,人生就是一个不断尝试的过程。我觉得,有时候这个词其实不准确,因为每个人的性格不同,成长经历及运势不同,所以对 “尝试” 俩字的理解也就不同。在我还是孩子的时候,几乎所…

信息网络传播权保护条例(2006)

信息网络传播权保护条例(2006)[url]http://www.ncac.gov.cn/GalaxyPortal/inner/bqj/include/detail.jsp?articleid9400&boardpid175&boardid11501010111602[/url]转载于:https://blog.51cto.com/dgcnn/20682

Silverlight专题(10)- WatermarkedTextBox使用

问题: 之前的Silverlight版本都有一个WatermarkedTextBox控件 但是到了Silverlight 2 Beta2版本,由于和WPF兼容的考虑 WatermarkedTextBox被移除了 虽然之前我有看到消息说Silverlight 2正式Release的时候会给TextBox一个Watermark属性 但是Silverlight …

asp.net ajax检查用户名是否存在代码

原文 asp.net ajax检查用户名是否存在代码 用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名 打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web窗体,命名为 Default.aspx 创建 XMLHttpRequest 对象所有现代浏览器 (I…

90后一代人还能通过攒钱改变现状吗?

全世界只有3.14 % 的人关注了青少年数学之旅每次打开公号,扑面而来一阵阵焦虑:95后毕业3个月就买房,你的同龄人正在抛弃你毕业3年,年薪超100万:赚钱,是一种修行一线城市财务自由门槛2.9亿,看看你…

linux中人脸识别不了,虹软人脸识别在 linux中so文件加载不到的问题

其实是可以加载到的,不过是so文件放的位置不一对,最简单的方式是放在 /usr/lib64 目录下,也可自己设置。 so文件加载不到会报这个错误:.lang.UnsatisfiedLinkError: no arcsoft_face_engine_jni in java.library.path] with root …

从高德侯军到《李嘉诚:商者无域》

从高德侯军到《李嘉诚:商者无域》 【编者按】转载这篇文章是因为看到了业内著名企业高德董事长侯军跻身2008胡润排行榜,让人不禁联想起高德在业内一贯的潜行风格,而侯军先生也颇有点“忍者神龟”的隐喻,在业内企业家当中属闷声发大…

测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机

龙芯3A5000 已经上市,从老伙计哪里搞来一台3A5000 机器,安装统信UOS。使用体验上看还可以,就是软件生态急需建设,软件生态的建设上自然有我dotnet 的一份力量。龙芯团队已经完成了LoongArch 的.NET Core 3.1版本的研发&#xff0c…

利用jquery给指定的table动态添加一行、删除一行

今天在项目中,刚好用到给指定的table添加一行、删除一行,就直接找google,搜出来的东西不尽如人意,不是功能不好就是千篇一律,简直浪费时间还不讨好,于是乎就自己动手封装个,现就把代码分享出来&…

求求你把输入法调小一点... | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅

LoadRunner Interview Questions

摘自:网络1. What is load testing? Ans. Load testing is to test that if the application works fine with the loads that result from large number of simultaneous users, transactions and to determine weather it can handle peak usage periods.2. Wha…

linux安装卷管理,Linux安装管理ISCSI卷(initiator端)

Internet SCSI(iSCSI)是一种网络协议,使用TCP/IP网络来传输SCSI协议。它是代替FC(Fibre Channel-based,光纤通道?) SAN的很好选Internet SCSI(iSCSI)是一种网络协议,使用TCP/IP网络来传输SCSI协议。它是代替FC(Fibre Channel-base…

SQL server 2000安装时提示我”以前的某个程序安装已在安装计算机上创建挂起的文件操作....”...

在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除该键值(这个键值是安装程序暂挂项目,只要找到对应的应用程序清除…

Blazor 事件处理开发指南

翻译自 Waqas Anwar 2021年3月25日的文章 《A Developer’s Guide To Blazor Event Handling》 [1]如果您正在开发交互式 Web 应用程序,根据不同的应用程序事件和用户操作动态更新用户界面是十分常见的做法。这些操作会触发事件,而作为开发人员&#xff…

android 开源组件合集-UI篇(2013-11-07更新)

其实也算不上合集,只是将我经常用到的部分整理一下,如果您有好东西,也可以留言补充 1.actionbar http://actionbarsherlock.com/ https://github.com/JakeWharton/ActionBarSherlock (推荐) 2.下拉刷新pulltorefresh https://github.com/chrisbanes/Android-PullToRefresh 支持…

改变世界的5大常数,学过数学的人,这一辈子都不会忘记!

全世界只有3.14 % 的人关注了青少年数学之旅何谓数学?数学家Eduardo曾这样回答“数学是永恒,是真理,是一切的答案。”回首往昔数学始终伴随我们左右纵横交错的几何、繁琐复杂的运算难以求解的方程、无从下手的猜想......尽管在数学道路上有多…

创维linux进入工厂模式,创维电视怎么进入工厂模式?

满意答案zrwemshwt54推荐于 2019.11.03创维彩电进入与退出工厂模式方法的汇总一. D系列5D01机芯:进入:在遥控器屏显键的正下方,加装一个按键(SERVICE键),按该键即可进入工厂模式。退出: 按遥控器上的TV/AV键…

收到在微软商店购买的商品

今天收到了在微软商店购买的商品,送货速度真快,20号下的订单,今天就拿到了,这么快就从美国通过UPS快递到国内,现在的物流越来越发达了。我购买的商品是:1、WM USB Powered Speakers(USB扬声器)2、LifeCam V…