Primary Partitions Full – How to Install Another System

fedoralinuxpartitioningwindows 8

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.

Related Question