LET'S START TALKING ABOUT SETTING UP A HARD DISK FOR WINDOWS 9x.Most times, that is quite simple.
So, why should you read this thing here?
You are probably aware there are tutorials posted on the web.
If you had not yet noticed, you must know that CTH has tutorials on fdisk, format, and setup.
A good LOT more than that, actually. 
You can find related ones here
and here here
BUT... You know, I said MOST times...
Most tutorials I saw on the web, even Microsoft's, assume there is but ONE hard drive, and that it is brand new and empty.
That is NOT always so.
Two examples
A good many people add a hard drive, and a good many hard drives are (later) moved from one machine into another.
In short, there are quite a few situations where the above assumption is downright dangerous to your data...
There CAN be pitfalls...
So, let us first look at pitfalls.
==================================
One of the pitfalls is your boot disk.
PLEASE NOTE, a boot disk with another version of DOS may cause trouble for Windows SETUP.
Please try stay within same version, ESPECIALLY if you NEED to make C: BOOTABLE.
Why?
In some instances IO.SYS is not properly refreshed by setup. http://support.microsoft.com/support/kb/articles/Q149/1/10.ASP
In light of this; if you have no matching version boot floppy, you can either create a matching version, OR...
during format, simply not use the /s aka SYS switch, and not run SYS command.
(In fact, you seldom need to systemise the harddrive before you run setup, since Windows setup will do that during setup.)
This io.sys problem seems to be specific to older DOS versions
(up to and including MsDOS 6.22a)
You should not be using a DOS6.22 booter to prepare your hard disk anyway, since it cannot handle FAT32...
So, if you have a dos 5.0 or 6.22/win95 booter with CDROM support, make that win98 Emergency Boot Disk straight from CDROM. And then use the win98 EBD.
It will have FAT32 support and you are then able to make partitions greater than 2 Gigabyte
(Do you remember you had to TEST the booter you made? When EBD doesn’t support your old reader, this older version booter has a proprietary cdrom driver you can copy to win98's EBD, and you can also copy its config.sys and autoexec.bat to the EBD. If you do that right, booting from this changed EBD floppy will then load the correct driver.)
This will be better explained later on.
Determining which windows version you have in use http://support.microsoft.com/support/kb/articles/q158/2/38.asp
You can also find out which windows CDROM version you have, or what version these setup files in the options folder are on a working machine...
Just rightclick setup.exe to look up the version number.
TIP... you can compare this with what you see at the dosprompt.
At the dosprompt, VER will tell you what version is running.
(you do not want to run DOS 6.2x disktools on a fat32 win 9x drive...)
You read all this, and yes, I hear you groan.
Why boot off a floppy?
I can but repeat that not all windows CD's are bootable.
And, there are instances you simply shouldn't boot off CD.
(btw, disk and disc.. not just semantics)
There are other pitfalls ahead...
FDISK itself.
Fdisk has versions, dos 6x and win95 could not handle FAT32
Win95b aka OSR2 started FAT32 support for larger drives and partitions.
(win95 still does not support drives greater than 32 gigabyte.)
Windows 98 can go beyond 32 Giga per partition (better to stay under, actually).
BUT... in windows 98's FDISK, there is a limitation.
WHEN YOU WANT TO USE FDISK ON A DRIVE WITH A CAPACITY LARGER THAN 64.8 GIGABYTE, YOU NEED A NEWER VERSION OF FDISK.EXE.
IF your hard drive is larger than 64.8 GIGA, you COPY a newer version of FDISK on this floppy first.
see Microsoft article on issues with Fdisk over 64 giga, where you can download and install it
You can even do this on a computer with smaller drive.
( if you want to retain the original on this machine, FIRST move or rename to save the original FDISK.EXE, then install. ) http://support.microsoft.com/default.aspx?scid=KB;EN-US;q263044
Installing this update will replace fdisk.exe in windows\command and in \windows\options, but not in \command\EBD folder.
Because of this, when you make a floppy from control panel it will NOT have the newer fdisk, so you still need COPY the NEW version of fdisk found in \COMMAND\ over the one on FLOPPY.
and then make a diskcopy
note; Windows Millennium's start disk does not have this drivesize limitation..
---------
There are other possible pitfalls.
It can only get more interesting.
WHAT IF you have OVERLAY loaded on you HARD DISK;
A Disk Drive Overlay is used to overcome a BIOS drive size limit.
One sometimes uses it to put a large capacity hard disk in an older system that does not recognise the full size of the hard disk.
When your machine needs and has an overlay, and your machine BIOS is set to first try boot from FLOPPY or CDROM and you do so, the overlay is bypassed because you do not load the overlay from hard disk. Overlay software normally gives you an option to boot from floppy, but does that only after it got the options screen while initiating the bootprocess from HARD-DISK.
In other words, if you boot straight from a floppy, you may have bypassed an overlay, and the hard disk may inexplicably become invisible to DOS... or show a size of 504MB only...
Windows 98's FDISK not giving you the fat 32 option on a high capacity hard disk can be a giveaway symptom too...
(There are other ways to find out if there was/is an overlay which is discussed later in the thread... This symptomatic info is briefly mentioned here, since you want to load the overlay during boot time if your disk uses an overlay.)
And then there are drives [Compaq comes to mind] which can have a small partition which will hold their proprietary BIOS and/or system utilities. I can but suggest you take good care of the restore and rescue diskettes, utlities diskettes, and CD's, or make them, and, you should at the very least DISKCOPY the diskettes...
what if you have been using dual boot, where parts of the drive were formated into another filesystem, like NTFS or linux.
It's not really what butter was originally about, but...
M$-DOS won't see NTFS nor linux, so you cannot access the files in there from a DOS prompt.
(there are specialist tools to get files off NTFS partitions while running DOS, but some of those I heard about cost an arm and a leg.)
Win9X's FDISK cannot even delete linux partitions.
I've also noticed that in dualboot systems -win98/win2000 or XP- where win98 was put on first, if one formats the C: drive, you zap the dual boot option.
We also know that fdisk /mbr kills LILO, and having no bootloader, you risk making the linux partition inaccessible.
Oh, btw, when you make errors while setting up linux, that can make your windows inaccessible..
What I am driving at here is that you want to prepare for circumstances like these, and should create the system rescue floppies in win2000 and XP (may be one also finds such things in linux)
just do it folks...
Nose around in the OS, and/or on the CDs it came on, and you will find the tools to make these disks.
If you have recovery or restore CDROMs, and the restore or emergency recovery diskette to go with the set, PLEASE make two diskcopies of that precious diskette...
I never used linux.