恢复之前使用 cfdisk 保存的分区表

恢复之前使用 cfdisk 保存的分区表

我知道我的外部 320 GB 硬盘的连接器存在一些问题,每当我打算复制某些内容时,我都会首先通过以下方式创建 MBR 和分区表的备份(Ubuntu 9.04):

$ sudo dd if=/dev/sdc of=HDD_mbr_20100208 count=1 bs=512  
$ sudo cfdisk /dev/sdc

然后cfdisk我选择该Print选项,然后Raw选择以与写入磁盘相同的格式保存分区表的选项。

现在我需要恢复我保存的内容。 MBR 部分非常简单(只需更改第一个命令中的ifof部分),但没有明显的方法来恢复 中的分区表cfdisk。你知道怎么做吗?

我还很感激任何关于保存 MBR、分区表和 FAT(卷为 FAT32 格式)的更好方法的建议。

提前致谢。

塞尔吉奥。

答案1

根据您的分区布局,您的 MBR 恢复 ( dd if=HDD_mbr_20100208 of=/dev/sdc...) 可能已经完成所有操作。这是因为 MBR 和主分区表存储在驱动器的第一个 512 字节扇区中。要使其正常工作,您的驱动器:

  • 必须使用MBR 样式分区
  • 主分区不得超过 4 个,并且
  • 不得有扩展分区或逻辑分区。

如果你有一个扩展分区和封闭的逻辑分区,你可能需要翻译你的磁盘管理-创建分区表备份。我不知道有什么方法可以轻易地分辨磁盘管理或者磁盘管理要写入什么新分区表——磁盘管理可以轻松做到这一点,但磁盘管理raw 格式与什么不一样磁盘管理读取和写入。您或许可以手动将一种格式转换为另一种格式。

磁盘管理的原始输出采用以下两种方式之一进行格式化(来源:man cfdisk):

原始数据格式如果选择了写入命令,将打印将写入磁盘的扇区。首先,打印主分区表,然后打印与每个逻辑分区关联的分区表。数据以十六进制逐字节打印,每行 16 个字节。

...

原始格式的分区表将按分区号排序打印分区表。它将忽略所有可用和不可用的空间。从左到右的字段分别是分区号、标志(十六进制)、起始磁头、扇区和磁柱、文件系统 ID(十六进制)、结束磁头、扇区和磁柱、分区中的起始扇区以及分区中的扇区数。此表中的信息可以直接转换为原始数据格式。

答案2

对于备份部分,这里是一些例子。我个人使用磁盘管理备份/恢复分区表。

如果你已经破坏了分区表,但是没有覆盖数据,你可以使用测试磁盘尝试恢复分区表。

相关内容