MBR扇区位于磁盘的第一个扇区,其中包含系统的引导程序的硬盘的分区记录,若该扇区数据发生丢失或损坏,会直接导致系统无法正常启动。下面将教大家对MBR扇区进行备份与修复。
2、重启虚拟机,使用fdisk命令查看是否添加成功
[root@localhost ~]# fdisk -l
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sda:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b9fa2
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 10227711 4064256 82 Linux swap / Solaris
/dev/sda3 10227712 115085311 52428800 83 Linux
/dev/sda4 115085312 629145599 257030144 5 Extended
/dev/sda5 115087360 629145599 257029120 83 Linux
3、创建磁盘分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xdb600f99 创建新的 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 +size{K,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.
正在同步磁盘。
4、格式化磁盘
[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
5、将磁盘挂载到系统/mnt目录下并查看挂载情况
[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 50G 1.1G 49G 3% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 xfs 246G 33M 245G 1% /home
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /mnt
6、因为MBR引导文件存放在磁盘第一个扇区,我们先来进行备份
[root@localhost ~]# dd if=/dev/sda of=/mnt/sda.mbr.bak bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000547944 秒,934 kB/秒
7、模拟破坏MBR引导信息
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000243461 秒,2.1 MB/秒
再重启一下,通过光盘镜像引导系统,选择第三项“Troubleshooting”,再选择“再选择“Rescue a Centos Ststem”,
9、进入救援模式后,输入”1“进入命令行模式,输入以下内容
mount /dev/sdb1 /mnt ## 将sdb1挂载到/mnt目录下
dd if=/mnt/sda.mbr.bak of=/dev/sda bs=512 count=1 ## 将备份的文件写入sda
10、写入完成后使用reboot命令重启系统
发现可以进入登录界面了,修复成功!
【注意】:在使用光盘进行引导启动之前要在虚拟机中勾选以下两项