如何手动修复分区表?

我最近在笔记本电脑上遇到了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 ,但是sda6cylinder 30402处终止; 大概是问题所在。

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

有没有一种简单的方法来解决这个问题?

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

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

下载并安装Boot Repair ,这是一种自动恢复工具,通常可以解决这些问题。