MBR,boot loader, partition table, backup, recovery, clean 硬盘引导记录,分区表备份,恢复,清空

时间:2021-01-19 19:31:41

linux/unix系统的分区表结构位于硬盘开始的MBR上。MBR上大小为512bytes。

MBR=446B启动信息+64B分区表+2B分隔符=512字节

前面的446bytes作为启动信息,启动信息跟分区表相关。启动信息会告诉BIOS在启动的时候,按照启动信息去找分区表里面的相关分区加载文件。

在如果修改的分区表结构不影响启动信息的分区的情况下(比如,启动分区没有做修改,只是修改增加改动了其他非启动信息的分区表结构在64B的分区表里面),则不会影响用户启动系统。

备份

所以,如果用户想备份mbr的话,可以这样

dd if=/dev/sda /path/to/mbr bs= count=

然后,我们想单独备份mbr中的引导结构可以这样

dd if=/dev/sda /path/to/bootstrap bs= count=

我们像单独备份mbr中的分区表结构可以这样

dd if=/dev/sda /path/to/partition_table bs= skip= count=

上面的 bs=512 skip=446 count= 是为了略过446个字节,定位其后的66个字节,用来保存到文件 /path/to/partition_table 里。

恢复

用户想整体恢复mbr

dd if=/path/to/mbr of=/dev/sda bs= count=

用户只想恢复引导记录信息

dd if=/path/to/mbr of=/dev/sda bs= count=

用户只想恢复分区表结构

dd if=/path/to/mbr of=/dev/sda bs= skip= count=

清空

清空整个mbr

dd if=/dev/zero of=/dev/sda bs= count=

只清空引导记录

dd if=/dev/zero of=/dev/sda bs= count=

只清空分区表

dd if=/dev/zero of=/dev/sda bs= skip= count= # 66 还是64 由用户本身需求而定,由于mbr最后2个字节是用来做分隔符的。当在保存的mbr 为512 位(含有最后2位分隔符)的时候,建议count=66

分区表,启动项硬盘工具

1、cfdisk

命令行下,可视化的选择工具

2、fdisk

命令行下,略显专业的硬盘工具

3、gparted

带UI的分区工具,鼠标操作

等等一些工具有很多很多