Resizing a Partition blocked from both beginning and end
I currently dual boot both Windows XP and SuSE, and in order to seemlessly share the files between them, I decided to make the Windows XP partition FAT32 and establish a system of symlinks. Because Windows has idiotically imposed a ~30 GB limit on FAT32 drives, I have my data split into a series of partitions.
/dev/hda1 (WINDOWS, primary)
/dev/hda2 (EXTENDED, primary)
/dev/hda3 (SUSE LINUX, ext3, primary)
/dev/hda4 (SWAP, primary)
My logical partitions under extended:
I'd like to try Slackware now in triple boot, so I'll have to create another partition. No problem, I thought: I still had about 6 gigs of disk space unallocated to any partion (plus many more gigs free). Partition Magic would do the job.
Unfortunately, I did not realize there was a four primary partition limit. My extended primary partition, furthermore, is locked betwee /dev/hda1. It looks something like this (the numbers are rough):
/dev/hda1 takes up cylinders 1-2000. /dev/hda2, 2001-10000. The logical partitions take up the cylinders between 2001-10000, split further among themselves. /dev/hda3 takes up 10001-11000; /dev/hda4, 11001-11500. I have about 12500 cylinders, so clearly, I could resize one of the partitions.
However, I can't add a primary partition because I already hav four. I can't resize /dev/hda2, because it's "sandwiched" between /dev/hda1 and /dev/hda3.
My first question pertains to the difference between primary and logical. Can I keep my /dev/hda1 (Windows) as a primary partition, as well as /dev/hda2 (Extended), and boot my SuSE and Slackware as logical partitions off the extended? (With swap, boot, and root partitions, if necessary).
Either way, I'd like to be able to do so without destroying any of my current partitions. /dev/hda5-9 (my data) CANNOT be touched. /dev/hda1 (windows), I can easily reinstall, but I don't think removing it would do any good (besides giving me MBR hell). I figure if I had to delete any partitions, it would be the SuSE partition and its swap file--then I would resize the Extended partition to the end of my hard disk, and establish everything as logical partitions from there. But I'm not too keen on reinstalling and reconfiguring SuSE, so my question is: can I resize my /dev/hda2 while preserving all its data? I.e., create logical /hda10 and /hda11 on the newly resized extended partition, and move the contents of /hda3 and /hda4 there (and update the boot loader accordingly).