我目前有一块 250 GB 的硬盘,双启动 Windows XP 和 Ubuntu 11.04。主要分区如下:
- Windows XP 主分区:160 GB
- 仅包含媒体文件的 NTFS 分区:40 GB
- Linux 分区:45 GB
剩余的空间可能在 Linux 交换区中。
sudo fdisk -l
通过从 Ubuntu 终端运行,我得到:
omitting empty partition (5)
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc0cbc0cb
Device Boot Start End Blocks Id System
/dev/sda1 * 1 19663 157943016 7 HPFS/NTFS
/dev/sda2 19664 25252 44893642+ 83 Linux
/dev/sda3 25253 30400 41351310 f W95 Ext'd (LBA)
/dev/sda4 25497 30400 39391348+ 7 HPFS/NTFS
/dev/sda5 25253 25496 1959867 82 Linux swap / Solaris
/dev/sda3
我不是分区和上述数据的专家,但和有问题吗/dev/sda4
?它们似乎互相重叠。empty partition
上面的是什么?如果上面的分区有问题,我该如何修复它们?
答案1
如果让我自己决定的话,我会先启动分区并表面上调整某些东西的大小。由于您的交换仅仅是交换,我可能只会删除它,将 sda4 移到最左边,然后在其后创建一个新的交换。将交换物理地放置在驱动器的开头(为了速度)是很好的,但无论如何。
下面我们加入了更多的肉食供大家欣赏。
根据这个,这意味着你的分区表已损坏:
任何时候 fdisk 报告“省略空分区(X)”,不幸的是,这肯定表明您的分区表已损坏;这可以解释为什么安装程序无法识别您的分区。
您可能应该去那里读一下讨论,因为它似乎很相关。看来总体结论是,您的数据很容易恢复,只需付出一些努力即可。
我发现一个有趣的现象:您的 Linux Swap 被分配到 sda5,但其物理位置却位于 sda4 之前。也许这就是 fdisk 发出抱怨的原因?
否则,我建议您完全备份数据。备份后,我会(非常小心地)尝试精确地重建分区表,正如上面的 fdisk 向您报告的那样。如果您将所有内容完美对齐,则数据将保持可访问性 - 前提是给定的映射本身是正确的。
此处的讨论其中有一些建议,作者声称其中一条建议相当冒险:
擦除所有分区(使用 fdisk 或 GParted),然后使用 TestDisk(http://www.cgsecurity.org/wiki/TestDisk) 来定位和恢复分区。如果可行,这很容易,但 TestDisk 可能无法识别分区或错误识别分区,在这种情况下,您将陷入非常严重的麻烦。
答案2
如果您可以通过 fdisk 确认您的分区没有重叠(扩展分区容器除外),那么就没问题。
在使用 Paragon 运行分区还原后,我看到“忽略空分区”消息出现。然后分区还原会使相同的消息消失。以下是我不认为这值得担心的原因:
在扩展分区(例如 /dev/sda4)中,该方案允许在 sda4 容器内有一个或多个分区。每个分区都链接到一个链接列表中,第一个分区由扩展引导记录 (EBR) 指向。当您从 /dev/sda5 跳转到 ./sda6 和 ./sda7 等等时,每个分区中的条目都会告诉您下一个分区从哪里开始。
如果其中一个分区恰好为空(例如来自分区恢复实用程序),您仍然可以跳转到下一个分区,因为 EBR 仍然完好无损。它只是恰好被分配给一个未使用的分区。
我不知道 Paragon 为何如此粗心大意,把这个遗漏了,但到目前为止,这对我来说不是什么问题。YMMV。