Partitions 1 to 4 are by convention "physical" (they were the only type available back in the times). So you have:
Device Boot Start End Blocks Id System
/dev/sda1 2048 419424255 209711104 83 Linux
/dev/sda2 419424256 1258291199 419433472 83 Linux
/dev/sda3 1258291200 1300236287 20972544 f W95 Ext'd (LBA)
/dev/sda4 * 1300236288 1709836287 204800000 7 HPFS/NTFS/exFAT
/dev/sda5 1258293248 1275062271 8384512 82 Linux swap / Solaris
...sda1
is physical, Linux. sda2
is physical, Linux again. sda3
is a logical partition where other partitions (5 onwards) may reside. Finally sda4
is a Windows partition, marked bootable - I think only Windows cares for that anymore. GRUB2 will gladly boot whichever partition you desire, but Windows wants to be on a bootable partition.
Now, inside the logical partition sda3
, that cfdisk
does not show as such, there are the equivalent of more physical partitions. In this case only sda5
.
And since sda3
goes from sector 1258M to sector 1300M, but sda5
only uses them up to 1275M, sectors 1275062272 to 1300236287 are free (but allocatable to sda6
).
Finally, your sda4
(the last possible physical partition - the MBR only holds four) does not fill up to the end of the disk. It leaves about 116Gb off. That space is unusable because you cannot create a physical partition to cover it (the extended partition sda3
can't grow, because its extent is "blocked" by sda4
):
[SDA3...(sda5)...| FREE ][...sda4...][ UNREACHABLE SPACE ]end-of-disk
Solutions to recover the unavailable space
None painless, I'm afraid. Depending on the geometry, you could delete sda4
and annotate its boundaries. Then grow sda3
to include the whole disk (same start, 1258291200, but end up to the end of the disk), or delete it and recreate with same start and maximum end. Now you can create a partition sda6
inside sda3
, and make it so it ends at the cylinder just before sector 1300236288. This will occupy the free space currently left in the existing sda3
. Finally you create a partition inside sda3
, and it will be sda7
, telling the system it extends from 1300236288 to 1709836287 and is type 7.
If you do not format that partition, the contents will remain as it is, and it is a valid Windows partition. It is
Of course if things go wrong, you stand to lose all of your data. Physical partitions (as the Windows one is now that is sda4
) and physical-inside-logical partitions (as it would be once it became sda7
) do not necessarily mix; some tools will flat refuse to create them. I'd suggest making a test on a virtual disk of the same size, created inside a sparse file (the file itself would really be only a few gigabytes) or on an external disk.
Another way, maybe safer, is to delete sda5
(it's just swap) and sda3
, move sda4
parameters to sda3
(this may imply deleting sda4
and recreating sda3
with the old sda4
's parameters), and this will leave the sda4
slot free (and a "hole" in the middle of the disk). Most BIOSes allow for out-of-sequence partition tables. Again this should not require copying anything. sda4
now becomes sda3
and remains a physical partition, so its geometry should better agree with a partitioning tool's assumptions.
Of course the recommended and safest way (and slowest) of all is to backup all the partitions, reformat them all, and restore them after having "repositioned" them properly, with the extended partition last and occupying the whole remaining hard disk. This will get rid of the free space inside sda3 and reclaim the unavailable space at end, with no risks (if the backup is done properly - check it after backing up. I once backed up on a faulty external disk, which died on me upon restore. Wasn't amusing at all).
No problem. I was posting the same answer(s), and that one was the only one that you didn't nail down better than me. ;) – Ƭᴇcʜιᴇ007 – 2014-07-14T17:32:08.417