I recently had trouble with the MBR/partition table on my laptop. I managed to rebuild the partition table using testdisk, and install GRUB to get it booting properly again (I'm using a dual-boot with Windows 7). However, I can no longer run gparted properly as I get the error Can't have a partition outside the disk!.
fdisk -l output looks like this:
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
So the disk has 30401 cylinders, but sda6 ends at cylinder 30402; presumably that's where the problem is.
When I run testdisk it has the 6th partition ending at cylinder 30401, but writing it to the partition table does not make any difference.
Is there an easy way to fix this?
I've read elsewhere that I could fix this by manually editing the partition table, but I'd like really specific instructions as I don't really know much about this area!