2024年1月9日发(作者:硕士论文致谢)
Win7 启动修复Fdisk命令
s命令行fixmbr [device_name(驱动器盘符)]是重新写入一个mbr
fixboot
下fdisk /mbr
3.删除linux分区后,启动不了
grup>rootnoverify(hd0,0)
chainloader+1
boot或root(hd0,0)
4.进入xp后运行清楚mbr
5.若连grub都启动不了,进入dos下fdisk/mbr
6.重装xp后,grub-install/dev/hda
安装故障恢复控制台d:i386//cmd cons,其中d是CD-ROM驱动器的驱动器号
2、用Fdisk命令修复
Fdisk不仅是一个分区程序,它还有着非常便捷的恢复主引导扇区功能,而且它只修改主引导扇区,对其他扇区并不进行写操作,因此对于那些还在使用Windows9x的朋友而言无疑是个非常理想的分区表修复工具。通过Fdisk修复主引导区的时候,先用Windows98启动盘启动系统,在提示符下输入“Fdisk /mar”命令即可覆盖主引导区记录。
提示:“Fdisk /mar”命令只是恢复主分区表,并不会对它重新构建,因此只适用于主引导区记录被引导区型病毒破坏或主引导记录代码丢失,但主分区表并未损坏的情况使用。而且这个命令并不适用于清除所有引导型病毒,因此使用的时候需要注意。
对硬盘第一分区为ntfs的情况,fdisk /mbr一直是一种误导性的解决办法
3、用Fixmbr修复引导记录
在Windows2000/XP中,我们一般会用到故障恢复控制台集成的一些增强命令,比如Fixmbr用于修复和替换指定驱动器的主引导记录、Fixboot用于修复知道驱动器的引导扇区、Diskpart能够增加或者删除硬盘中的分区、Expand可
以从指定的CAB源文件中提取出丢失的文件、Listsvc可以创建一个服务列表并显示出服务当前的启动状态、Disable和Enable分别用于禁止和允许一项服务或者硬件设备等等,而且输入“help”命令可以查看到所有的控制命令以及命令的详细解释。
比如输入“fixmbr”命令可以让控制台对当前系统的主引导记录进行检查,然后在“确定要写入一个新的主启动记录吗?”后面输入“Y”进行确认,这样就完成了主引导记录的修复。
t
向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用fixboot命令。
fixboot[drive]
参数 驱动器
将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:
范例
下列命令范例向驱动器D:的系统分区写入新的分区引导扇区:
Fixboot d:
注意:如果不带任何参数,fixboot命令将向用户登录的系统分区写入新的分区引导扇区。
修复启动磁盘的主启动记录。fixmbr命令仅在使用故障恢复控制台时才可用。
Fixmbr [device_name]
参数
device_name
要写入新的主引导记录的设备(驱动器)。设备名称可从map命令的输出获得。例如,设备名称:
\Device\HardDisk0
范例
下列命令示例向指定设备写入一个新的主引导记录:
fixmbr\Device\HardDisk0
注意:如果不指定device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。
如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问
数据恢复的定义是没有一个广泛认可的定义。一般所谓数据恢复就是把异常数据还原为正常数据的过程。对大多数用户而言,数据的重要性可以用一句话来概括,那就是:硬盘有价,数据无价!
经常在网上看见有网友问:我的移动硬盘要求格式化了,但里面的数据很重要,是不是可以恢复?答案当然是可以的。排除硬盘因为硬件问题导致要求格式化的原因,一般这种情况都是MBR损坏造成的。所谓MBR就是我们经常所说的“硬盘主引导记录”,它是写在硬盘零扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字组成。
在这里我们介绍两个微软自带的修复MBR的工具,简单实用。
一个是Fdisk命令。Fdisk命令行格式通常语法为:“Fdisk /参数开关”。它的一些基本参数大家应该都比较了解,其实它还有一些隐藏参数。其中/MBR参数功能:重新建立主磁盘的主引导记录。其功能对于有病毒感染主引导记录时,用来清除病毒非常有用。不过隐藏参数危险系数更大,需谨慎使用。
还有一个是Fixmbr。Fixmbr是微软提供的一个专门修复MBR的修复程序,该工具通过全盘搜索,来决定硬盘分区,并重新构造主引导扇区。
只有在使用Windows2000恢复控制台时,才能使用该命令。Windows2000恢复控制台可从Windows安装程序中启动。Fixmbr只修改主引导扇区,对其他扇区不进行写操作,所以很安全。
命令格式是:
Usage::Fixmbr [DriveNo][/A][/D][/P][/Z][/H]
DriveNo:HarddiskNo,Scope0-3,DefaultAll(指硬盘号,0代表第一个硬盘)
/AActiveDOSpartition.(激活基本DOS分区)
/PDisplaypartition.(显示DOS分区的结构)
/DDisplayMBR.(显示主引导记录内容)
/ZZeroMBR.(将主引导记录填零)
/HThismessage.(帮助信息)
命令示例:向指定设备写入一个新的主引导记录
fixmbrDeviceHardDisk0
默认的情况下将检查MBR结构,如果不正常,将提示是否修复,回答“Y”后将搜索分区。如果搜索到分区,会提示是否修复MBR,回答“Y”后完成修复。如果这时出现死机现象,要先将BOIS中的防病毒功能禁止后再做。
默认状态下将搜索所有存在的硬盘,并完成以上操作。完成的结果不对,可以用“/Z”参数将结果清空后重新启动,就可以恢复到原来的状态。
先让我们看一下windows7的启动过程的常识:
电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录,也叫dbr,究竟该叫什么,网络上争论未休,我们姑且叫它pbr吧),PBR再搜寻分区内的启动管理器文件BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。BOOTMGR读取bootbcd文件(BCD=BootConfigurationData
,也就是“启动配置数据”,简单地说,windwows7下的bcd文件就相当于xp下的文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找,然后通过加载windows7内核,从而启动整个windows7系统。
可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr-->Bootmgr-->bcd-->-->内核加载-->整个windows7系统
本文就来说一说MBR-->DPT-->pbr-->Bootmgr-->bcd这一段可能出现的故障的解决。
mbr出现问题,主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各不相同。比如我们装了windows7与ubuntu双系统,ubuntu改写了mbr,在我们把ubuntu所在的分区格式化后,既进不了windows7,也进不了ubuntu,开机的时候会出现如图的错误提示:
[图一]
解决的办法就是重写mbr。对于重写mbr,我们所熟知的是在dos下用fdisk /mbr命令进行重写。Fdisk /mbr所重写的mbr与xp是兼容的,但是,与windows7已经不那么兼容了。实践表明:用fdisk /mbr命令重写windows7的mbr后,需要重建bcd,否则不能正常启动windows7。有网友指出,这里面的原因是fdisk
/mbr命令改写了mbr中的硬盘签名。一般的分区工具都是可以重写mbr的,比如diskgenius,它所重写的mbr与windows7是兼容的。也可以用bootrec /fixmbr命令重写。要运行工具,必须启动WindowsRE。为此,请按照下列步骤操作:
插入windows7安装光盘,从光盘启动电脑,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:
bootrec /fixmbr
回车。这样也就重写了mbr。
[图二]
分区表存在问题,对于这个问题,限于篇幅,不做详细探讨。
系统盘不是活动的主分区,这种情形只要用分区工具(比如diskgenius)把系统盘设为活动的主分区即可。
pbr出现问题,主要是pbr代码被改写,因为被改写的代码不同,所以出错信息也不相同。比如WINDOWS7系统的活动分区,却被写入了适合于XP的pbr,这样开机的时候就会出现如图的提示:
[图三]
简单的解决办法就是用bootrec /fixboot命令重写pbr:
插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在命令提示符中输入:
bootrec /fixboot
回车。这样也就重建了活动分区的pbr。
这里面还有一个常用的命令也要提一下,这就是bootct:
插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在cmd命令提示符中输入:
bootct /nt60sys /mbr
回车。这个命令会改写活动分区的pbr,并同时会改写mbr,使得mbr和pbr适合于windows7和vista。
程序位于windows7安装光盘的boot目录下,可以把这个文件提取出来,在xp下的命令行可以运行这个程序,也可以在winpe下的命令行运行这个程序,因而这个程序在使用时很方便。而命令的使用就没这么方便了。所以BOOTSECT命令被应用得更为广泛一些。
另外有一个要点需要指出,vista的安装光盘里面的boot文件夹也存在着这个
小工具,但vista的bootct命令没有/mbr参数,因而它只能改写pbr,而不能改写mbr,这是必须要注意的。实践表明:把一个硬盘的mbr清零,然后运行windows7的bootct命令,确实可以发现mbr被恢复正常。这也就表明了windows7的bootct命令的确能够重写mbr。
另外,bootct命令也可以重写xp的mbr和pbr,而这也是bootrec命令所做不到的。xp的恢复控制台用fixmbr命令改写mbr,用fixboot命令改写pbr。
如果是引导文件的问题,一般可以用bcdboot命令重新写入引导文件:
插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在命令提示符中输入:
Bcdboot x:windows /s x:
注意,这前一个x:是windows7的windows文件夹所在的盘,一般是c:,如果你的不是c盘,请改为对应的盘符。这后一个x:是活动主分区的盘符所在,一般也是c盘。所以这个命令一般的写法是:
Bcdboot c:windows /s c:
但需要注意,在windowsre环境下所看到的盘符与你在windows7下所看到的盘符未必一样。所以需要首先用dir/a命令确认各盘是否正确。
比如:
cd/dc:
dir/a
这两个命令的作用是,首先进入c:盘的根目录,然后显示c盘根目录下的所有文件和文件夹,根据所显示的文件或者文件夹,可以判断这个盘具体是你在windows7下所看到的哪一个盘。
windows7的引导文件主要是bootmgr和boot文件夹里面的文件,而boot文件夹里面的文件主要是bcd文件。bcdboot命令会在指定的分区内重新写入全部windows7的引导文件。
如果只是bcd文件有问题,则可以用bootrec命令重建bcd:
插入windows7安装光盘,从光盘启动,在光盘启动完成后,按下shift+f10键,调出cmd命令提示符。在命令提示符中输入:
Bootrec /RebuildBcd
这个命令如果搜到没有写入bcd的windows7或者vista的操作系统,会提示你是否写入,按提示输入Y也就会写入了的。
或者用bcdedit命令手动改写bcd,但操作要复杂得多。
具体案例分析:
案例一:怪事,系统盘不是活动的主分区
在网上看到一则求助,windows7系统运行正常,只是在磁盘管理中所看到的则是:系统盘不是活动的主分区。
[图四]
我们在安装了一键还原精灵装机版后,在开机的时候按下F11键可以启动一键还原程序。但我们在格式化系统盘后,在开机的时候仍是可以这样操作的。而所谓的pbr是高级格式化的时候产生的。这表明了,一键还原精灵的启动代码不是写入了活动分区的pbr(如果是的话,在格式化的时候已经被清除了),而是写入了MBR。通过在MBR中设定首先读取一键还原精灵的隐藏分区,然后才读取活动
的主分区。那么,现在我们所遇到的这种情形是不是也通过改写mbr而指向特定的分区?
假设mbr没有问题,那么问题就可能出在pbr(也就是所谓的dbr),win7的pbr中写入的代码应该是去找bootmgr,但如果这个代码中规定了要找的是另外的一个特殊的文件,而再通过这个文件去启动另一个分区中的bootmgr,这样就能实现把另一个不是活动的主分区变为系统盘的目的。
通过上面的分析,我们可以得到结论:问题不是出在mbr,就是出在pbr,解决的办法就是先试着重建mbr,如果不能解决,那就可以肯定问题出在pbr,只要重建pbr就能解决问题的。
于是首先重建mbr,问题依旧,然后再重建pbr,问题果然得到解决。
案例二:
开机的时候出现:
BOOTMGR is missing
pressctrl+alt+deltorestart.
翻译成汉语就是:bootmgr缺失,按Ctrl+Alt+Del重新启动
这是很常见的故障。既然是bootmgr缺失,我们一般只要用bcdboot命令重建引导文件即可。
这种情形产生的原因,一般可能有:bootmgr文件确实没有了,这是最为常见的。一种则是由磁盘错误导致的,这种情形下,在winpe下运行一下chkdsk/f命令也可能解决。有朋友使用Diskeeper对MFT碎片进行整理,开机的时候也出现了这个提示。估计可能是用DISKEEPER进行的MFT磁盘整理后,这或者是diskeeper的一个bug,因而不建议用diskeeper进行mft碎片整理。
一位网友因为好奇。把C盘设成了活动的(activepartition)。是这样设置活动
的:对计算机点右键-管理-硬盘管理。右键点C盘,设置为活动的。靠。怎么回事啊。
重启后居然无法启动!显示bootmgr is missing,Ctrl+Alt+Deletetorestart。然后还是如此。
这是从网上找到的一个案例,分析可以得出结论。他所装的windows7应该存在着一个隐藏的“系统保留”分区,这个隐藏的系统保留分区才是真正的活动主分区,而他的c盘则应该不是活动的。他把c盘设为活动,这也就意味着取消了“系统保留”分区的活动状态。但引导文件是在“系统保留”分区,而不是在c盘,c盘变成了活动的主分区,mbr就会启动c盘的pbr,而c盘的pbr又会去c盘找bootmgr,但c盘没有bootmgr,所以出错也就是必然的了。解决的办法其实只要简单地再把系统保留分区设为活动即可。
这位朋友制造了问题,但好象并没能最后解决问题。真所谓会者不难,难者不会。
案例三:开机的时候出现:
BOOTMGR is compresd
PressCtrl+Alt+Deltorestart
翻译成汉语就是:
bootmgr被压缩,按Ctrl+Alt+Del重新启动
这种情形产生的原因是因为对系统盘进行了压缩。奇怪的是,对于这种情形,我们用bcdboot命令重建引导文件却并不能解决。
但是,我们可以运行命令:compact /u/a/f/i/s c:*
这样可以使得问题得到解决。compact程序位于windowssystem32文件夹下,所以我们要先用CD命令进入windowssystem32目录。这里是假设c:盘是bootmgr所在的盘,如果不是,要改为对应的盘符。
网上有朋友用这个命令的时候并没有解决问题,原因则在于,这位朋友所运行的命令是:compact /u/a/f/i/s c:
没有后面这个*,所以命令并没有实现运行者的目的。从命令本身所提供的帮助说明来看,这个*似乎是没有必要的,但实际操作表明,这个*是必须的。
这个命令会把已经压缩的C盘文件完全解压,真所谓解铃还須系铃人。
注意,只运行命令:compact /u/a/f/I c:bootmgr
并不能解决问题。
有网友发现,运行“ /fixmbr、Bootrec /fixboot"然后重启,这样可以解决问题。测试表明,其实只需要运行Bootrec /fixboot这一个命令即可。这是另类的解决的办法。猜想可能是,对驱动压缩后,PBR中的BPB表并没有随之修改,所以BPB表中所记录的分区信息与实际的分区信息不一致。运行Bootrec
/fixboot命令后重写了bpb,这样就使得二者变为了一致。
实践表明:用bootct命令也能实现对这个问题的解决。
有网友发贴,说是装了xp与vista双系统,启动vista系统出现了BOOTMGR is
compresd,于是他在xp下取消了系统盘的压缩状态。但这位网友的话未必可信,因为如果ntldr也被压缩了的话,则xp启动的时候会出现:
Ntldr is compresd
Press Ctrl+Alt+Del to restart
除非这位朋友只压缩了bootmgr,而没有压缩ntldr,但这一般不太可能。这种压缩一般是对整个盘进行压缩的时候产生的,如果压缩指定文件的话,一般不会有人去压缩bootmgr和ntldr的。实践表明,在windows7下,即便指定对整个的系统盘进行压缩,一般也不能压缩bootmgr的,会提示拒绝访问,但是,在开机的时候仍会出现出错提示:
bootmgr is compresd
案例四:
先装的windows7,后装的linux,在linux系统出问题后,既进不了linux,也进
不了windows7,这里面的原因是mbr和活动分区的pbr被改写。只要重建mbr和活动分区的pbr,也就可以进入windows7了。最简单的办法是用bootct命令解决:
bootct/nt60sys/mbr
案例五:
先装的windows7,后装的xp,没有了windows7的启动项:
这个需要三步解决问题:
一、用bcdboot命令重建windows7的引导文件。
二、用bootct命令恢复windows7的mbr和pbr
三、进入windows7后,用bcdedit命令添加xp的启动项。
可以在Windows恢复环境(WindowsRE)中使用工具解决和修复WindowsVista中以下项目的问题:
*主启动记录(MBR)
*启动扇区
*启动配置数据(BCD)存储
注意:使用WindowsRE解决启动问题时,应该首先尝试“系统恢复选项”对话框中的“启动修复”选项。如果“启动修复”选项不能解决此问题,或者如果必须通过较多个步骤手动解决此问题,请使用工具。
更多信息
要运行工具,必须启动WindowsRE。为此,请按照下列步骤操作:
1.将WindowsVista安装盘放入光盘驱动器中,然后启动计算机。
2.在系统提示时按某个键。
3.选择语言、时间、货币、键盘或输入法,然后单击“下一步”。
4.单击“修复计算机”。
5.单击要修复的操作系统,然后单击“下一步”。
6.在“系统恢复选项”对话框中,单击“命令提示符”。
7.键入,然后按Enter。
选项
工具支持以下选项。请使用适用于您的情况的选项。
/FixMbr
/FixMbr选项将与WindowsVista兼容的MBR写入系统分区。此选项不会覆盖现有的分区表。当必须解决MBR损坏问题或必须删除MBR中的非标准代码时,请使用此选项。
/FixBoot
/FixBoot选项使用与WindowsVista兼容的启动扇区将新的启动扇区写入到系统分区。如果满足下列条件之一,请使用此选项:
*启动扇区已被替换为非标准的WindowsVista启动扇区。
*启动扇区已损坏。
*安装WindowsVista后,安装了早期版本的Windows操作系统。在此情况下,计算机使用WindowsNT加载器(NTLDR)启动,而不是使用Windows启动管理器()启动。
/ScanOs
/ScanOs选项在所有磁盘中扫描与WindowsVista兼容的安装。此外,此选项还会显示当前未处于BCD存储中的条目。如果存在“启动管理器”菜单未列出的WindowsVista安装,请使用此选项。
/RebuildBcd
/RebuildBcd选项在所有磁盘中扫描与WindowsVista兼容的安装。此外,通过此选项还可以选择要添加到BCD存储中的安装。如果必须彻底重新生成BCD,请使用此选项。
注意:如果重新生成BCD未解决启动问题,则可以导出并删除BCD,然后再次运行此选项。这样可以确保彻底重新生成BCD。为此,请在WindowsRE命令提示符处输入以下命令:
*bcdedit/exportC:BCD_Backup
*c:
*cdboot
*attribbcd-s-h-r
*renc:
*bootrec/RebuildBcd
本文发布于:2024-01-09 00:36:37,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1704731798134045.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:win7启动修复Fdisk命令使用介绍.doc
本文 PDF 下载地址:win7启动修复Fdisk命令使用介绍.pdf
留言与评论(共有 0 条评论) |