Step By Step 8 - Drive PartitioningOriginally published in Australian Personal Computer magazine, June 1998. Last modified 03-Dec-2011.
Most IBM compatible computers run one, and only one, operating system.
But where's the fun in that?
If you feel a hankering to set up two or more operating systems (OSes) on your computer - perhaps Windows 95 and NT, or 95 and Linux, or Linux and OS/2 and MS-DOS and NetBSD and OS/9 - you'll probably need to know about multi-format partitioning. Different operating systems often use different disk formats - and, even if they're compatible with the same disk format, they don't necessarily work when they're all installed on the one partition.
Step-by-step instructions on setting up a machine for all the weird and wonderful possible combinations of operating systems would take rather a while, so this article is of necessity more of a data source than a recipe.
First, Partitions 101. A partition is a section of the hard drive which behaves, as far as the user is concerned, like a whole separate drive unto itself. It's still really just part of another drive, so you can't copy data from one partition to another as fast as you can from one real drive to another. Ignoring performance considerations, though, a separate partition might as well be a real separate drive. A 4Gb drive can have, say, three partitions, adding up to its total capacity but referred to by the computer as C:, D: and E:.
Partitions are useful for two basic reasons - they get around the drive size limitations of older operating systems, and they let you have multiple, differently formatted "drives" on one physical hard drive.
The MS-DOS hard disk partition table, the little chunk at the beginning of the disk that tells the computer where partitions begin and end, has room for only four "primary" partitions. If you want more than four partitions on one physical disk, you have to designate one of these primary partitions as an "extended" partition, which lets you subdivide it into "logical" partitions. Your first hard drive must have at least one primary partition, but subsequent drives can have only extended partitions, if you like.
Other operating systems get around this inelegant limitation by using different kinds of partition tables. They generally still need a basic MS-DOS-style partition table on the first active partition, though, which points to their own partition information. It's this sort of thing that causes people to be so rude about the backward compatibility of IBM compatible computers.
Getting back to the antiquated MS-DOS partitioning system - which, realistically, is probably what you're going to end up using - primary partitions are named before extended partitions. If you have two hard drives, each containing a primary and two extended partitions, the primary partition on the first drive is C:, the primary partition on the second drive is D:, then the extended partitions on the first drive are E: and F: and the extended partitions on the second drive are G: and H:. This is a point to remember for multi-drive OS installations, if you add or remove drives. If you add another hard drive with a primary partition on it, it'll push all of your drive letters along one, and OSes on re-lettered drives will probably stop working.
When you've got multiple operating systems installed, the only elegant way to boot the one you want is by using a "boot manager" of some description. Operating systems can only be booted from a primary partition; the one to boot is marked as "active" in the partition table. Boot managers get around this by residing on a primary, active partition themselves, and making it possible for operating system components on different partitions to load.
Probably the best of the currently available boot managers is V Communications' System Commander. It supports all of the popular operating systems, and even lets you run Windows, OS/2 and DOS from the same primary FAT (MS-DOS format) partition. You make your partitions, install your first OS, and then install System Commander; now, when you install more OSes, System Commander automatically detects them and adds them to its menu.
Setting it up
Rearranging partitions used to be a painful exercise. If you had a 600Mb and a 400Mb partition, and wanted to change their sizes, you had to back up all of your data, delete the partitions, repartition the drive, reformat the partitions, and restore your data. Fortunately, modern partition management software like Powerquest's very popular Partition Magic lets you create, remove, squeeze and stretch partitions at will - although, of course, you can't make a partition smaller than the size of the data it contains.
Every OS also comes with its own program for creating and deleting partitions, usually inventively called FDISK. Without a program like Partition Magic, you have to use an operating system's own FDISK to make the partition that operating system will reside on, unless the OS manual explicitly says the MS-DOS FDISK will do. MS-DOS FDISK only writes the MS-DOS System ID to partitions it creates. The System ID is a one-byte code in the partition table which identifies each partition's allegiance. A dedicated FDISK for a particular OS will write the correct System ID.
Current Microsoft OSes cohabit well on the one machine. Dual-installing Windows 95/98 and Windows NT is easy enough - all you have to do is install 95/98, and then install NT on the same partition, and NT will automatically detect the other OS and set up a boot menu. Microsoft OSes are, however, less flexible in their installation options than OS/2 or Linux, the most popular other choices. MS-DOS has to be installed on C:. Windows 95/98's boot files must also be on C:, though its data files can be elsewhere. Windows NT has to install a loader on your first FAT partition. But OS/2 and Linux can be installed anywhere.
Using Partition Magic gets you around the multiple-FDISKs problem; you use Partition Magic to build all of your partitions, specifying what kind they should be. With the help of a good boot manager like System Commander it gets even simpler - make the partitions, install your Microsoft must-be-on-C OS (assuming you want to install a Microsoft OS), then install System Commander and keep installing OSes, with System Commander adding each new OS to its menu automatically as you go.
The only trick here applies to those who want Windows 95 and MS-DOS 6 as well - if you installed DOS 6 as your first OS, installing System Commander and then Windows 95 will prevent System Commander from booting, until you boot from a DOS 6 floppy and run the SCIN program in the System Commander directory.
Overall, setting up multiple OSes is becoming easier and easier, even as the number of "sensible" operating systems for average IBM compatible folks to use drops towards one. As things stand, it's Windows 95/98 for the masses and Windows NT for the power users, with MS-DOS for the hardy traditionalists. Fortunately, Linux is going great guns, and recent versions are becoming almost user-friendly. So you still don't have to be a TOTAL propellorhead to care about this stuff.