如何手动修复分区表?

如何手动修复分区表?

我最近在笔记本电脑的 MBR/分区表方面遇到了问题。我设法使用 testdisk 重建了分区表,并安装了 GRUB 以使其再次正常启动(我使用的是 Windows 7 双启动)。但是,我无法再正确运行 gparted,因为我收到错误Can't have a partition outside the disk!

fdisk -l输出如下所示:

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: 0x188f12a9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         154     1228800    7  HPFS/NTFS/exFAT
/dev/sda2             154       13446   106775171    7  HPFS/NTFS/exFAT
/dev/sda3           13447       28745   122880000   83  Linux
/dev/sda4           28745       30402    13317664+   f  W95 Ext'd (LBA)
/dev/sda5           28745       29127     3069944   82  Linux swap / Solaris
/dev/sda6           29127       30402    10240000    7  HPFS/NTFS/exFAT

因此磁盘有30401 cylinders,但sda6结束于cylinder 30402;大概这就是问题所在。

当我运行 testdisk 时,它有第 6 个分区以 结尾cylinder 30401,但将其写入分区表没有任何区别。

有没有简单的方法可以解决这个问题?

我在其他地方读到过,我可以通过手动编辑分区表来解决这个问题,但我想要非常具体的说明,因为我对这个领域不太了解!

答案1

使用 fdisk。使用 命令将其置于扇区模式u,然后p打印表格,d删除分区,然后n重新创建它。重新创建时,使用相同的起始扇区,但结束扇区实际上适合磁盘。完成后,再次检查(p),使用 保存并退出w

答案2

下载并安装引导修复,一种通常可以解决此类问题的自动恢复工具。

相关内容