How to Format a Hard Disk

Formatting a hard disk in DOS requires a few more tasks and careful thinking compared to formatting a floppy. Typically there are 3 programs you need to run to format a hard disk:

1) Run a "Low-level format" program
2) Run FDISK.exe to create partitions
3) Run FORMAT.exe to "high-level format" the disk.


Step 1) Low-Level Format

Low-level formatting a hard disk actually physically formats it - it actually lays down tracks and sectors and it wipes all data off the drive. This step is *only* needed if you have an extremely old MFM or RLL hard disk drive. If you're wanting to format an IDE or SCSI hard disk these come from the factory already low-level formatted, so jump straight to step 2.

Again, to be clear: WARNING: DO NOT LOW-LEVEL FORMAT AN IDE DRIVE! They have special hidden areas of the drive that store information about its capacity which is wiped out if low-level formatted. Hence permanent damage can (and probably will) occur if you do this!

For old MFM or RLL hard disk drives, each hard disk manufacturer would provide instructions on how to low-level format the drive - this typically involved using the DOS DEBUG.COM program to communicate directly with the hard disk controller card and send it an instruction to low-level format the hard disk (these hard disk controllers had a "ROM BIOS extension" with a low-level format program built-in). There are exceptions though, such as the original IBM PC XT 10MB hard disk which came with the IBM Advanced Diagnostics diskette. This contained a convenient program to perform the low-level format. On Zenith PCs there was a Zenith DOS command called PREP. If you know you need to use the DEBUG.COM utility, follow these steps:

After booting your PC using a floppy disk, at the A: prompt type:


You will get a '-' prompt. Now type one of the following commands, depending on your hard disk controller manufacturer:

-or- for Western Digital controllers
  G=C800:CCC          for Adaptec controllers.
  G=C800:5            for DTC (Data Technonolgy) controllers 
  G=C800:6            for OMTI controllers


It's worth mentioning that not all MFM/RLL hard disk controllers have a ROM BIOS with a formatter embedded within. If you have no luck with DEBUG, or you know your hard disk controller doesn't have a low-level format utility stored in a ROM, you can use a utility called Segate Disk Manager.

Step 2) Run FDISK

FDISK.exe is an external DOS command which is used to "partition" the hard disk after it's been low-level formatted. Even if you only want a single drive letter, say C:, for the entire drive, you must still run FDISK and define a partition. Depending on the DOS version you are using there are limits to the size of hard disk it supports:

DOS v3.3 supports hard disks up to 32 MB formatted capacity.
DOS v4.0 supports hard disks up to 512 MB formatted capacity.
DOS v5.0 supports hard disks up to 2 GB formatted capacity.

Since you probably don't have a hard disk already setup on your PC, you firstly need to boot into DOS using a bootable floppy disk which also contains FDISK.EXE. Once booted and you're at the A: prompt, type:


Within FDISK, drives are not letters yet - they are numbered starting from 1.

If you choose option 4 it will display all the current partitions on your drive. There will initially be none.
Go back to the main menu and choose option 1 to create a DOS partition. This is where you choose whether you want the full capacity of the drive to be a single drive letter or not.

You need to create a 'primary' DOS partition before anything else.
Subsequent partitions (should you want to create them) are called 'extended DOS partitions', and for these to have a drive letter you then create a 'logical DOS drive' within the 'extended DOS partition'. Confusing, I know, but this is due to design limitations laid out by the original IBM PC.
The last step to perform within FDISK is to set one of the partitions to be the 'active' one - this basically means the one the system will use to boot from.
After you've done all of the above FDISK steps, go back to option 4 from the main menu to see your partitions setup. Exiting FDISK will prompt you to restart your computer.

Step 3) High-Level Format

Now that you have defined the physical partitions and logical drives you need to do a "high-level format" of these drive letters. To do so following a reboot, at the A: prompt type:

A:\>format c: /s

This will format the C: drive and copy the operating system (the /s argument) files from the floppy disk to the hard disk's C: drive, making it bootable. If you chose a different drive letter to be the 'active' partition, choose this drive letter instead of C:.

Once the format has completed, you bill be able to restart your computer without a floppy disk in the drive and it will boot from the active partition on the hard disk instead.