我已经为我的两个 RAID0 硬盘创建了两个映像文件 (.img)。现在我需要从映像文件中复制 MBR 字节,以便将它们复制到上述硬盘,因为我已在这些硬盘中重新创建了 RAID0,而现在它们的 MBR 已发生故障。
问题:
1)如何从图像文件(.img)中读取和复制 MBR 字节
2) 由于 RAID0,是否需要两个硬盘的 MBR 还是只需要第一个硬盘的 MBR?
更多信息:我的 RAID0 因蓝屏崩溃而失败,然后我从硬盘创建了两个映像,然后重新创建了 RAID0,但我忘记在 RAID0 重新创建之前备份 MBR,而 RAID0 的重新创建导致了 MBR 的更改。唯一正确的 MBR(分区列表)在我的映像文件中。
谢谢
答案1
您的 MBR 存储在磁盘的第一个块上,因此您可以使用它来获取它dd
(如果您运行的是 Windows,请使用 Linux Live CD)。
由于您使用的是 Raid0,请务必检查此项如何用于确定磁盘的物理顺序以及如何确定 MBR 的位置。
我建议你先从测试磁盘,一个分区恢复工具,它应该能够扫描您的媒体,识别分区,并为您写入新的分区表。
除此之外,Intel MBR 长度为 512B,引导代码占据前 446 个字节,后面是分区表信息。如果您想将其还原到具有现有分区表且与 MBR 来源磁盘不匹配的磁盘,这一点很重要。在这种情况下,您只需恢复第一个字节。
要将 mbr 备份到文件,请使用以下命令:
dd if=/dev/sda of=/tmp/mbrsda.bak bs=512 count=1
其中 /dev/sda 是您希望从中备份的磁盘,/tmp/mbrsda.bak 是您希望存储它的文件。该命令将获取第一个 512B 块('bs=512 count=1')。
如果您不知道磁盘的开发名称,可以使用 来查找fdisk -l
。