Linux-系统启动与MBR扇区修复

2022/3/12 7:15:31

本文主要是介绍Linux-系统启动与MBR扇区修复,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 1.系统启动过程
    • 1.1 MBR扇区
    • 1.2 MBR扇区的备份与还原
    • 1.3 修复MBR
      • 1.3.1 dd备份MBR信息
      • 1.3.2 光驱启动修复
    • 1.4 gurd引导代码修复

1.系统启动过程

Linux系统启动过程分为五步。

image

1.1 MBR扇区

MBR扇区位于磁盘的第一扇区,一个扇区512字节。系统启动时候会最先读取MBR扇区,获取系统启动必要文件路径。MBR扇区中包含三个部分,446字节的引导代码(grud),64字节的分区表(4个主分区信息)和2字节结束标志。MBR分区表的损坏会导致系统无法正常启动,因此需要备份MBR扇区,防止由于MBR扇区的损坏导致系统的启动异常。

1.2 MBR扇区的备份与还原

系统启动盘的MBR扇区修复思路如下:

image

由于MBR扇区中包含着主分区表信息,所以当硬盘主分区变化时,MBR扇区的数据也会发生变化,所以当分区过后应当及时备份MBR分区表。防止修复后导致分区表信息错误,后导致数据丢失。

1.3 修复MBR

使用lsblk查看硬盘分区情况。

image

系统中系统盘为sda,数据盘为sdb挂载在目录/data下。挂载有光驱sr0,其中有centos的系统镜像。

1.3.1 dd备份MBR信息

由于sda是系统启动盘,所以其mbr扇区数据应当备份至其他盘中。因为当MBR扇区损坏时,读取自身磁盘中的数据较为困难

[root@localhost ~]# dd if=/dev/sda  of=/data/abc.bak bs=512 count=1 ## 将sda的第一个512字节块(MBR扇区数据)复制到abc.bak中
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000478688 s, 1.1 MB/s

将/dev/zreo中的数据拷贝至sda的MBR扇区中,以达到模拟破坏MBR扇区的效果。

[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1

重启系统。

1.3.2 光驱启动修复

当系统启动盘的MBR扇区破坏读取失败时,当光驱中有系统文件时时会自动进行光驱启动(也可使用u盘)。

image

进入救援模式
image

回车
image

选择后可获得shell。
image

在shell中输入图中指令即可完成sda的MBR扇区修复。
image

重启后,可正常进入系统

image

1.4 gurd引导代码修复

gurd引导代码由于处于MBR扇区当中,所以只要备份了MBR引导扇区,即可以同样的方式修复Gurd引导代码。



这篇关于Linux-系统启动与MBR扇区修复的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程