mbr涌现成绩,次要是mbr代码被改写,由于被改写的代码没有同,因为出错消息也各没有相反。比方咱们装了windows7与ubuntu双系 统,ubuntu改写了mbr,正在咱们把ubuntu所正在的分区体例化后,既进没有了windows7,也进没有了ubuntu
windows7的发动进程的知识:计算机加电后,率先是发动BIOS顺序,BIOS自检终了后,找出硬盘上的主指导记载MBR,MBR读取DPT(分区表),居中找到运动的主分区,而后读取 运动主分区的PBR(分区指导记载,也叫dbr,终究该叫什么,网络上争执未休,咱们权且叫它pbr吧),PBR再搜索分区内的发动治理器资料 BOOTMGR,正在BOOTMGR被找出后,掌握权就交给了BOOTMGR。容易地说,windwows7下的bcd资料就相等于xp下的i资料),假如具有着多个操作零碎况且取舍操作系 统的期待工夫没有为0的话,那时就会正在显现器上显现操作零碎的取舍界面。正在咱们取舍发动WINDOWS7后,BOOTMGR就会去发动盘寻觅 WINDOWSsystem32winload.exe,而后经过winload.exe加载windows7内核,从而发动整个windows7系 统。
能够把某个进程容易地归纳为:BIOS--》MBR--》DPT--》pbr--》 Bootmgr--》bcd--》Winload.exe--》内核加载 --》整个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通知重写。要运转 Bootrec.exe 机器,必需发动 Windows RE。为此,请依照下列方法操作:拔出windows 7装置光盘,从光盘发动计算机,正在光盘发动实现后,按下shift+f10键,调出cmd通知提醒符。正在cmd通知提醒符中输出:bootrec /fixmbr回车。那样也就重写了mbr。
[图二]
分区表具有成绩,关于某个成绩,只限字数,没有做细致讨论。零碎盘没有是运动的主分区,这种情景只需用分区机器(比方diskgenius)把零碎盘设为运动的主分区即可。pbr涌现成绩,次要是pbr代码被改写,由于被改写的代码没有同,因为出错消息也没有相反。比方WINDOWS7零碎的运动分区,却被写入了适宜于XP的 pbr,那样开机的时分就会涌现如图的提醒:
[图三]
容易的处理方法就是用bootrec /fixboot通知重写pbr:拔出windows7装置光盘,从光盘发动,正在光盘发动实现后,按下shift+f10键,调出cmd通知提醒符。正在通知提醒符中输出:bootrec /fixboot回车。那样也就重建了运动分区的pbr。这外面再有一度罕用的通知也要提一下,这就是bootsect:拔出windows7装置光盘,从光盘发动,正在光盘发动实现后,按下shift+f10键,调出cmd通知提醒符。正在cmd通知提醒符中输 入:bootsect /nt60 sys /mbr回车。某个通知会改写运动分区的pbr,并同声会改写mbr,使得mbr和pbr适宜于windows7和vista。bootsect.exe顺序坐落windows7装置光盘的boot节目下,能够把某个资料提取进去,正在xp下的通知行能够运转某个顺序,也能够正在 winpe下的通知行运转某个顺序,因此某个顺序正在运用时很便当。而bootrec.exe通知的运用就没这样便当了。
因为BOOTSECT通知被使用得 更为宽泛一些。此外有一度要端需求指出,vista的装置光盘外面的boot资料夹也具有着某个壮工具,但vista的bootsect通知没有/mbr参数,因此它只 能改写pbr,而没有能改写mbr,这是必须要留意的。理论标明:把一度硬盘的mbr清零,而后运转windows7的bootsect通知,的确能够发觉 mbr被复原畸形。这也就标明了windows7的bootsect通知确实可以重写mbr。此外,bootsect通知也能够重写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:但需求留意,正在windows re下所看到的盘符与你正在windows7下所看到的盘符一定一样。因为需求率先用dir /a通知确认各盘能否准确。比方:cd /d c: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 missingpress ctrl+alt+del to restart.译者成华语就是:bootmgr缺失,按Ctrl + Alt + Del从新发动这是很罕见的毛病。既是是bootmgr缺失,咱们正常只需用bcdboot通知重建指导资料即可。这种情景发生的缘由,正常能够有:bootmgr资料的确没有了,这是最为罕见的。一种则是由磁盘错致的,这种情景下,正在winpe下运转一下 chkdsk /f通知也能够处理。有冤家运用 Diskeeper 对于MFT碎片停止拾掇,开机的时分也涌现了某个提醒。约莫能够是用DISKEEPER停止的MFT磁盘拾掇后,这或者许是diskeeper的一度bug, 因此没有必diskeeper停止mft碎片拾掇。一位网友由于猎奇。把C盘设成了运动的(active partition )。
是那样安装运动的:对于电脑点右键-治理-硬盘治理。右键点C盘,安装为运动的。靠。怎样回事啊。重启后竟然无奈发动!显现bootmgr is missing,Ctrl+Alt+Delete to restart。而后还是如此。这是从网上找出的一度案例,综合能够得出论断。他所装的windows7该当具有着一度躲藏的“零碎保存”分区,某个躲藏的零碎保存分区才是真正的运动主 分区,而他的c盘则该当没有是运动的。他把c盘设为运动,这也就象征着取缔了“零碎保存”分区的运动形态。但指导资料是正在“零碎保存”分区,而没有是正在c 盘,c盘成为了运动的主分区,mbr就会发动c盘的pbr,而c盘的pbr又会去c盘找bootmgr,但c盘没有bootmgr,因为出错也就是必定的 了。处理的方法实在只需容易地再把零碎保存分区设为运动即可。这位冤家打造了成绩,但好象并没能最初处理成绩。真叫做会者没有难,难者没有会。
案例三:开机的时分涌现:BOOTMGR is compressedPress Ctrl+Alt+Del to restart译者成华语就是:bootmgr被紧缩,按Ctrl + Alt + Del从新发动这种情景发生的缘由是由于对于零碎盘停止了紧缩。奇异的是,关于这种情景,咱们用bcdboot通知重建指导资料却并没有能处理。然而,咱们能够运转通知:compact /u /a /f /i /s c:那样能够使得成绩失去处理。compact顺序坐落windowssystem32资料夹下,因为咱们要先用CD通知进入windows system32节目。那里是假定c:盘是bootmgr所正在的盘,假如没有是,要改为对于应的盘符。网上有冤家用某个通知的时分并没有处理成绩,缘由则正在于,这有网友发觉,运转“Bootrec.exe /fixmbr、Bootrec /fixboot“而后重启,那样能够处理成绩。测试标明,实在只要要运转Bootrec /fixboot这一度通知即可。这是另类的处理的方法。猜测能够是,对于驱动紧缩后,PBR中的BPB表并没有随之修正,因为BPB表中所记载的分区消息 与实践的分区消息没有分歧。运转Bootrec /fixboot通知后重写了bpb,那样就使得二者变为了分歧。理论标明:用bootsect通知也能完成对于某个成绩的处理。有网友发贴,说是装了xp与vista双零碎,发动vista零碎涌现了BOOTMGR is compressed ,此外他正在xp下取缔了零碎盘的紧缩形态。但这位网友的话一定取信,由于假如ntldr也被紧缩了的话,则xp发动的时分会涌现:ntldr is compressedPress Ctrl+Alt+Del to restart除了这位冤家只紧缩了bootmgr,而没有紧缩ntldr,但这正常没有太能够。这种紧缩正常是对于整个盘停止紧缩的时分发生的,假如紧缩指名资料的话,一 般没有会有人去紧缩bootmgr和ntldr的。理论标明,正在windows7下,即使指名对于整个的零碎盘停止紧缩,正常也没有能紧缩bootmgr的,会 提醒拜访,然而,正在开机的时分仍会涌现出错提醒:bootmgr is compressed
案例四:先装的windows7,后装的linux,正在linux零碎出成绩后,既进没有了linux,也进没有了windows7,这外面的缘由是mbr和运动分区 的pbr被改写。只需重建mbr和运动分区的pbr,也就能够进入windows7了。最容易的方法是用bootsect通知处理:bootsect /nt60 sys /mbr
案例五:先装的windows7,后装的xp,没有了windows7的发动项:
某个需求三步处理成绩:
一、用bcdboot通知重建windows7的指导资料。
二、用bootsect通知复原windows7的mbr和pbr
三、进入windows7后,用bcdedit通知增添xp的发动项