如何手动编辑 MBR 来恢复丢失的分区?

如何手动编辑 MBR 来恢复丢失的分区?

我不小心删除了两个高频振动+分区。我知道这两个分区的起始和结束扇区。这些分区 100% 完好无损。我可以在 Raise Data Recovery 中看到它们,但 testdisk 看不到它们。我如何手动编辑膜生物反应器从 Ubuntu 或 Windows 恢复这些分区?

Ubuntu终端中的“sfdisk -l”命令显示:

Disk /dev/sda: 60801 cylinders, 255 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1         12+  12747-  12736- 102294528    7  HPFS/NTFS
/dev/sda2      12747+  48643-  35896- 288328704    f  W95 Ext'd (LBA)
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty
/dev/sda5      12748+  43870   31123- 249995466    7  HPFS/NTFS
/dev/sda6      43871+  48144-   4274-  34324480   83  Linux
/dev/sda7      48145+  48643-    499-   4001792   82  Linux swap / Solaris

其中 sda3 和 sda4 是这些分区。

答案1

也许,首先尝试一下这个:

apt-get install -y parted(基于 Debian 的发行版)

零件探测

parted /dev/sda
us (将单位切换为扇区)
p (打印分区表)
mkpart p开始结束(p - 主要的,这应该是你的 sda3)
mkpart p开始结束(应为 sda4)

我会跑零件探测完成后再次。如果它不起作用 - 那么是的,需要编辑膜生物反应器我想是手动的。

编辑:我想到的一件事是,你可能会遇到问题,当分开抱怨注入具有这种“超出规格”边界的分区。好吧,只需删除从sda5并在成功添加后以相同的方式重新创建它们sda3&sda4

答案2

您可以使用 sfdisk 添加这些空分区,例如

sfdisk /dev/sda << EOF
0,381230,0c
381231,84481,0b
465712,,S
EOF

每行有三个值:起始扇区和结束扇区,第三个值是分区类型。要使用此控制台模式,您需要安装一个特殊包。但我不知道这是否会删除分区内容。我建议使用 dd 进行复制。

相关内容