I have a Fedora 18 system installed on my hard disk, but upon installation I created 4 partitions for boot, swap, root and home, and now I want to install Windows on some unallocated space (I need it, don't judge me :D) but I'm limited to 4 primary partitions. Is there anyway I can change one of them do logical, or something else to empty one partition?
I can free up to 300 GB, which can hold all 4 partitions easily, in the extended partition that holds only home, if it is possible moving.
fdisk -l /dev/sda
Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000668e4
Device Boot Start End Blocks Id System
/dev/sda1 * 133120 1026047 446464 83 Linux
/dev/sda2 1157120 8202239 3522560 82 Linux swap / Solaris
/dev/sda3 8333312 113059839 52363264 83 Linux
/dev/sda4 113190912 894853119 390831104 5 Estendida
/dev/sda5 113324032 894722047 390699008 83 Linux
Of course, without excluding existing partitions/files.
Best Answer
Yes, it's possible. My FixParts program will do the job, with some caveats. Most notably, you need at least one unallocated sector immediately preceding each to-be-logical partition. If such a gap doesn't exist, you can shrink the preceding partition by a small amount using GParted before using FixParts. Some Windows tools can also do the job, but I don't know offhand if any of them can handle Linux partitions.
Another option, if you're using a recent computer that supports EFI, is to convert the disk from MBR to GPT form, install Windows in EFI mode, and convert Linux to boot in EFI mode. This is likely to take more effort than the first approach, though. If you care to try it,
gdisk
can do the MBR-to-GPT conversion.