linux分区表备份和还原
学习手动破坏分区表后,在救援模式下还原分区表,使系统正常启动
1、查看系统所在磁盘的前512字节
系统所在磁盘为/dev/sda


mbr分区前512字节信息说明:
446bytes:boot loader
64bytes:分区表,其中每16byptes标识一个分区
2bytes:55AA
hexdump -C -n 512 /dev/sda
2、备份分区表信息
备份位置应该选择另一块硬盘,或者保存到其他主机上。这样才能在救援模式下挂载可识别的硬盘,或者通过网络从其他主机拷贝备份信息
此处先挂载其他磁盘分区,然后备份分区表到此分区
mount /dev/sdb3 /mnt
dd if=/dev/sda of=/mnt/mbrback bs=1 count=66 skip=446
hexdump -C /mnt/mbrback


3、手动破坏分区表信息
此处只破坏512中分区表64字节
dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
hexdump -C -n 512 /dev/sda


4、关机,挂载镜像,启动进救援模式
机器重启后分区表被破坏无法进入系统,需要进挂载光盘进救援模式下修复

重启进救援模式
依次选择troubleshooting——rescue a centos system


此处分区表已被破坏,无法识别分区,系统也挂载不上,直接选择3,使用镜像shell

查看分区信息,发现只能识别/dev/sda,无分区信息,进行修复
lsblk
mount /dev/sdb3 /mnt
dd if=/mnt/mbrback of=/dev/sda bs=1 count=66 seek=446 #之前只破坏了64字节,而备份了66字节,此处直接使用66字节全覆盖演示

再次查看分区表,sda分区已识别,sync同步,重启正常进系统
lsblk
sync

本文来自博客园,作者:赛博狗尾草,转载请注明原文链接:https://www.cnblogs.com/gpysir/p/18895880
浙公网安备 33010602011771号