Non-destructively partitioning a Windows 9x disk for Linux installation using the free fips software.

This will assume you have C drive with one partition now.

1. (optional) Cleanup and then defrag C, if necesary. Backup critical files in the extremely unlikely case that something bad happens (but you should be doing this anyway). I've never experienced any loss partitioning. MS defrag isn't very good; it sometimes doesn't push all files to the front of the disk; this can become a problem using fips, since it will start right after the last file on the disk.

2. FIPS is a DOS program, so you need to boot DOS from a diskette. If you have a DOS system disk, just download and copy fips.exe to it. If you don't have a DOS system disk, the easiest way to make one is to create a W9x Startup Disk (also known as Emergency Boot disk). You might already have one. As a MS Windows user you should already have one. So just download and copy fips.exe to it. To make a Startup Disk:
Control Panel --> Add/Remove Programs --> Startup Disk tab
. DOS programs FDISK and FORMAT will be needed for the partitioning and they are on the Startup Disk.

Boot your DOS disk.
3. (optional) run FDISK, then choose 4 View. You'll see that C drive is 100% of the disk and is of type FAT32 (or 16) then exit back to DOS.

4. run FIPS. It shows the partition table (the adjustment is normal) and checks the FAT. Say Yes to make a backup copy of boot table. Tell it you want to partition partition #1. It shows the size of the pieces if the partitioning was done at this point. It starts at the end of data in the partition. Make the existing piece bigger, which decreases the size of the new piece. Adjust until there's enough extra space in the first portion and enough room in the second partition for Linux (the amount will depend on how much you have and want to install. A full install of Redhat 7.1 needs a couple of gig). Then say OK. fips then partitions the partition. It's normal that the system then needs to be rebooted.

5. Reboot DOS. (optional) Use FDISK with 4 View. You'll see there's a smaller C and a new D of unknown type with the sizes you specified. exit back to DOS.

6. The new D partition needs to be formatted because it will in turn be partitioned to create the Swap partition needed by Linux and fips can't partition an unformatted partition. run FORMAT D: It will say it's going to format D drive and all data on it will be lost (but of course, there's no data so no problem). Format takes a few minutes.

7. (optional) Use FDISK with 4 View and you'll see that D is now of type FAT32.

8. Use FIPS. Tell it to you want to partition partition #2 (the new D drive you've just created and formatted). The new partition only needs to be about the same size as the amount of RAM your system has. (Some say the swap partition should be twice the size of RAM. Whichever, it won't matter.) So if you've got 64M of RAM, make the new second portion roughly that size (probably can't get it exactly that size; no problem). So adjust the sizes of the resulting two pieces such that the first is all but the last 64M or whatever of the partition. Ex. if D is 4GB and you've got 64M of RAM, make the two sizes (roughly) 3936M and 64M, respectively. You'll reboot after fips has done the partitioning.

9. (optional) Use FDISK with 4 View to see that there's now an E drive of unknown type of size 64M or whatever you specified. D is that much smaller.

10. (optional) Use FORMAT E: to format the new E drive. It will format quickly since it's so small.

11. (optional) Use FDISK with 4 View to see that E is now of type FAT32.

Done. Now boot from the Linux CD-ROM and install it onto the new partition which Linux will recognize as /hda/hda2 (hda is the master drive on the first IDE controller, hda2 is the second partition on that drive, hda1 is the first, your C "drive").

More information on fips is available at its master's home:

Linux installation notes.

The most confusing part of Linux installation is specifying that the two new partitions are of "Linux Native" and "Linux Swap" type. At the point of installation that it asks what disk is to be used do the following: (This is using the Redhat 6.0 installation. Maybe other Linux distributions are different).

Choose Use Fdisk (this is Linux fdisk, not the DOS one you've used in the partitioning above). It's a text interface. m lists the commands. Use p to display the partition table; it'll show that there are 3 disks called /dev/hda1, /dev/hda2, /dev/hda3. hda1 is C, hda2 is D, hda3 is E. You need to change the type of hda2 to Linux Native (code is 83), and hda3 to Linux Swap (82) by using the t command. Using p again will show that the type numbers have changed. Then do the w command to write the changes. Then exit back to the installation. Then choose Disk Druid and put a / as the "mount point" on the line that says /hda/hda2. It's the partition where Linux will be installed.

Druid can be used alone. It's a bit more nerve-wracking because you have to Delete the D drive (remember how big it is first), then Add a partition of the same size and then Edit it to be Linux Native (or maybe the edit step is part of the Add step, I don't remember) and put the / as the "mount point". Also do the same for the E drive: Delete it, then Add as Linux Swap.

The other sometimes difficult part of installation is getting X Window properly configured. Know the name of your video card and if possible, the specs of your monitor (the horizontal and vertical refresh rates that are usually indicated in the manual). 16-bit 800x600 on a 15 or 17 inch screen is sufficient, so choose those on the configuration page. Most installations go smoothly but some don't, due to lack of a proper driver.

Update Redhat 7: installation is getting to be a no-brainer.

Some quality links:

X install & configure HOWTO

Video timings HOW-TO

Linux installation HOWTO

X installation from Running Linux.