引导记录损坏修复方法详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引导记录损坏修复方法详解相关的知识,希望对你有一定的参考价值。

参考技术A

win10引导记录中包括启动配置数据(bcd)和主引导记录(mbr)两个部分,当win10无法正常启动都是由这两个部分被破坏或无法正常访问所造成,这种情况下,可以看到“无法打开启动配置数据存储”、“找不到请求的系统设备”等类似的引导错误提示,那么 win10引导记录损坏怎么办 ?当win10出现引导记录损坏时,通常会要求重启尝试解锁,大家可通过下述方法进行win10引导修复解决。

一般情况下,系统都会自动修复引导,如果自动修复已经无法解决问题,我们可以尝试如下步骤来手动修复引导记录:

1、重启计算机2至3次进入re功能界面,使用命令提示符进行高级故障排除,如图所示:

2、在命令提示符窗口中执行bcdedit /enum命令,如果看到如下图提示,说明引导记录已经损坏。

3、执行chkdsk /r命令找到坏扇区并恢复可读取的信息,磁盘检查完成后,可以重新启动系统看问题是否解决,如图所示:

4、如果问题依旧,请重启进入re功能选择使用命令提示符进行高级故障排除,然后在命令提示符窗口中输入SFC /SCANNOW命令尝试重建并恢复已损坏的win10系统文件,如图所示:

5、依次执行如下命令修复win10的主引导记录并重建bcd配置文件:

BOOTREC /SCANOS

BOOTREC /FIXMBR

BOOTREC /FIXBOOT

BOOTREC /REBUILDBCD

如图所示:

6、最后,修复完成使用bcdedit /enum命令列出存储中的项目进行查看,如果修复成功就可能重启win10,如图所示:

总结:以上便是 win10引导修复 的具体操作方法,有需要的朋友不妨试一试。

详解CentOS 7系统中MBR引导扇区恢复方法

MBR引导扇区介绍

MBR位于物理硬盘的第一个扇区(512字节),该扇区又称为主引导扇区(MBR扇区),除了包含系统引导程序的部分数据外,还包含整个硬盘的分区表记录。当主引导扇区发生故障时,将可能无法进入引导菜单,或者因无法找到正确的分区位置而无法加载系统,通过该硬盘引导主机时很可能进入黑屏状态。

MBR 扇区故障恢复

下面将通过示例介绍对MBR扇区进行备份、模拟破坏、修复的过程。由于 MBR 扇区中包含了整个硬盘的分区表记录,因此该扇区的备份文件必须存放到其他的存储设备中。

  • dd命令——用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换

  • 命令格式

    dd [if=<文件>][of=<文件>][bs=<字节数>][count=<区块数>][cbs=<字节数>][conv=<关键字>][ibs=<字节数>][obs=<字节数>][seek=<区块数>][skip=<区块数>][--help][--version]

  • 参数说明

    if=文件名:输入文件名,默认为标准输入。即指定源文件。

    of=文件名:输出文件名,默认为标准输出。即指定目的文件。

    bs=bytes:同时设置读入/输出的块大小为bytes个字节。

    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

    cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。

    conv=<关键字>,关键字

    ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

    seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

    skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

    --help:显示帮助信息

    --version:显示版本信息

1、首先,我们在虚拟机中添加一块新的硬盘,并重启Linux系统,识别硬盘,然后,将新添加的硬盘进行分区设置、格式化(创建文件系统)与挂载。

[root@localhost ~]# ls /dev             //查看是否识别新添加的硬盘
agpgart          input               rtc       tty12  tty34  tty56    vcs2
autofs           kmsg                rtc0      tty13  tty35  tty57    vcs3
block            log                 sda       tty14  tty36  tty58    vcs4
bsg              loop-control        sda1      tty15  tty37  tty59    vcs5
btrfs-control    lp0                 sda2      tty16  tty38  tty6     vcs6
bus              lp1                 sda3      tty17  tty39  tty60    vcsa
cdrom            lp2                 sda4      tty18  tty4   tty61    vcsa1
char             lp3                 sda5      tty19  tty40  tty62    vcsa2
console          mapper              sdb       tty2   tty41  tty63    vcsa3
...//省略部分内容...                      //系统识别新添加硬盘sdb
[root@localhost ~]# fdisk /dev/sdb      //进行分区管理
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x62f310d1 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +sizeK,M,G (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# mkfs.xfs /dev/sdb1      //创建文件系统(格式化)
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkdir /data               //创建挂载目录
[root@localhost ~]# mount /dev/sdb1 /data     //挂载sdb1
[root@localhost ~]# df -h                     //查看信息
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda2        20G  3.8G   17G   19% /
devtmpfs        898M     0  898M    0% /dev
tmpfs           912M     0  912M    0% /dev/shm
tmpfs           912M  9.1M  903M    1% /run
tmpfs           912M     0  912M    0% /sys/fs/cgroup
/dev/sda5        10G   37M   10G    1% /home
/dev/sda1       6.0G  174M  5.9G    3% /boot
tmpfs           183M  4.0K  183M    1% /run/user/42
tmpfs           183M   24K  183M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/sdb1        20G   33M   20G    1% /data           //成功挂载

2、将MBR引导扇区备份到第二块硬盘中。

[root@localhost ~]# dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1
记录了1+0 的读入     //将MBR引导扇区复制到data目录中,文件名为sda.mbr.bak方便系统识别文件
记录了1+0 的写出
512字节(512 B)已复制,0.00222438 秒,230 kB/秒
[root@localhost ~]# ls /data  //查看目录中是否有创建的文件
sda.mbr.bak

3、模拟 MBR 扇区故障 。

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
记录了1+0 的读入             //从zero中拿去文件覆盖MBR扇区
记录了1+0 的写出
512字节(512 B)已复制,0.000130793 秒,3.9 MB/秒
[root@localhost ~]# init 6   //重启服务器

技术图片

技术图片

4、下面我们来修复MBR引导扇区,由于 MBR 扇区被破坏以后,就无法再从该硬盘启动系统,所以需要使用其他硬盘中的操作系统进行引导,或者直接使用 CentOS 系统的安装光盘进行引导。不管使用哪种方式,目的都是相同的——获得一个可以执行命令的 Shell 环境,以便从备份文件中恢复 MBR 扇区中的数据。 首先,我们需要在VMware 15虚拟机光驱中添加CentOS 7镜像文件,并使光驱处于连接状态,使Linux系统启动时可以识别(和我们安装Linux系统时相同方式),然后重启虚拟机,在读条界面点击ESC键,进入BOOT模式选择从光驱启动。

技术图片

技术图片

技术图片

5、选择从光驱启动后进入系统安装引导界面,这个时候我们选择最下面的一个选项疑难问题解决,回车,进入界面,然后选择第二个选项诊断CentOS 7系统,加载进入界面后输入1选择进入基本镜像模式,这个时候我们就会进入shell终端模式,我们就可以通过命令来进行修复操作。

技术图片

技术图片

技术图片

技术图片

技术图片

6、通过命令模式输入命令将备份的扇区信息恢复到sda中,然后重启系统,看是否可以正常开启系统。

技术图片

技术图片

技术图片

通过上面的操作完成了MBR引导扇区的恢复,希望可以帮助到大家!!!

以上是关于引导记录损坏修复方法详解的主要内容,如果未能解决你的问题,请参考以下文章

详解CentOS 7系统中MBR引导扇区恢复方法

Linux系统引导过程及引导修复详解

电脑开机显示LOadingoperatingsystem是啥意思

引导过程常见故障排除详解

引导过程常见故障排除详解

Linux单用户模式(修改密码运行级别)方法详解