Why is hard drive called C?

The hard drive letter C has its origins in the early days of personal computing. When IBM released the first PC in 1981, it came with a floppy disk drive designated as drive A. The first hard drive option available was designated as drive B. When the computer displayed drive options to the user, the floppy disk drive was labeled as A and the hard disk drive was labeled as B.

The Influence of CP/M

The labeling of drives in this manner was influenced by the CP/M operating system created by Gary Kildall in 1974. CP/M labeled the floppy disk drive as A and numbered additional drives starting with B. Since IBM wanted to make their PC compatible with CP/M to attract business users, they followed the CP/M drive naming convention.

However, when PC-DOS was created by Microsoft at IBM’s request in 1981, they decided to designate the first hard drive on a PC as C rather than B. This was done to avoid confusion with the existing CP/M drive naming, where drive B was always a second floppy drive. By labeling the first hard drive as C, PC-DOS created a distinction between floppy drives and hard drives.

Difference Between Floppy and Hard Drives

At the time, there were important differences between floppy disk drives and hard disk drives:

  • Floppy drives used removable floppy disks to store data. Hard drives had non-removable media that stored data permanently.
  • Floppy disks had limited capacity, often just 360KB initially. Hard drives had much higher capacity, typically 10MB or more.
  • Floppy drives were slow with data transfer rates of a few hundred KB per second. Hard drives were faster with data rates in the range of megabytes per second.

By labeling floppy drives A and B and hard drives starting with C, PC-DOS created a logical distinction that reflected the technological differences between these storage devices.

The IBM PC XT and AT

The original IBM PC only had room for one floppy drive, so it was labeled A by default. The 1983 IBM PC XT was the first PC with a built-in hard drive option. Since a 10MB hard drive was now included, PC-DOS labeled it as drive C by convention.

Later IBM PC models like the 1984 AT could support up to two floppy drives and two hard drives. The first floppy drive remained A, the second floppy became B, the first hard drive was C, and a second hard drive was assigned D. This numbering scheme persisted as the standard moving forward.

Why the Letter C?

This begs the question: Why did Microsoft choose the letter C rather than another letter like D when implementing PC-DOS? There are a few potential explanations:

  • C was the next sequential letter – After drives A and B for floppies, C was the next obvious choice alphabetically.
  • C for “Computer” – Designating the first hard drive with the letter C may have been an attempt to indicate it contained the main permanent storage for the computer.
  • C for “Converter” – Hard drives converted between logical block addressing and physical sectors, so C was used to indicate “conversion” or “controller.”

However, these explanations are speculative. Early IBM developers have said the choice of C was somewhat arbitrary. They needed to distinguish the hard drive from the floppy drives A and B, and C happened to be the next available drive letter.

Drive Letters Beyond C

As additional drives were added to PCs over the years, letters beyond C were utilized. Here is an overview of common drive letter designations:

Drive Letter Typical Usage
A: First floppy disk drive
B: Second floppy disk drive
C: Main hard drive (boot volume)
D: Second hard drive or CD/DVD drive
E: CD/DVD drive or third hard drive
F: CD/DVD drive
G: CD/DVD drive
H: CD/DVD drive
I: CD/DVD drive

This scheme persisted through the MS-DOS and early Windows eras. When Windows 95 introduced built-in support for USB mass storage devices, those were assigned letters starting after Z:

Example Drive Letters on Windows

Drive Letter Sample Usage
A: 3.5″ Floppy drive
C: Main hard drive (SSD or HDD)
D: Optical CD/DVD drive
E: Secondary HDD
F: USB flash drive
Z: SD card reader

The Boot Drive as C

One key aspect of drive C is that it contains the boot volume – the partition with the operating system files that are loaded at startup. This cemented drive C as the primary hard drive.

The main reason the boot volume is assigned to C is that the Master Boot Record (MBR) contained information on which drive to boot from. Since the primary disk was the first drive, the MBR info would point to drive C by default.

Boot Process on PCs

Here is a summary of the boot process showing the role of drive C:

  1. BIOS loads the Master Boot Record from the first hard drive (C:)
  2. MBR contains info to load bootloader code from the boot partition (also on C:)
  3. Bootloader locates the operating system kernel and loads it
  4. Operating system completes the boot process

Since this boot process was built around the assumption that the first hard drive is C, the boot volume and drive C became permanently associated. Changing the boot drive letter would break the operating system startup process.

Drive C and Operating System Installs

When installing operating systems like DOS, Windows, or Linux onto a PC, they are generally configured to use the first hard drive partition as the boot volume mapped to drive C. This configuration is chosen automatically to ensure bootability:

  • DOS/Windows – The installer writes boot files like IO.SYS and MSDOS.SYS to drive C: by default
  • Linux – The GRUB bootloader is installed to the MBR of the first drive and points to drive C:

If multiple operating systems are dual-booted, generally only one can be on drive C. The other OSes are installed to partitions mapped to other drive letters like D:, F: or G:. This ensures their boot files don’t conflict with the primary OS on C:

Dual Boot Example

Drive Letter OS Installed
C: Windows 10 (boot volume)
D: Ubuntu Linux
E: Shared data partition

In this setup, Windows would boot from drive C: and GRUB would offer the choice to boot Windows on C: or Ubuntu on D:. The shared data partition on E: is accessible to programs in both OSes.

The Future of Drive C

While drive C has been the traditional home of the startup volume since the earliest PCs, some modern systems are starting to buck this trend:

  • SSDs – With solid state drives, there is no technical requirement for the boot drive to be C. But Windows and Linux still default to C for compatibility.
  • NVMe drives – These directly attached SSDs don’t use traditional drive letters at all. Instead they rely on UEFI boot support.
  • ARM devices – Non-x86 devices like smartphones and tablets running iOS or Android don’t use drive C: labeling.
  • Cloud computing – In the cloud there is no reliance on drive C or any specific local boot volume.

As computing continues evolving, the legacy concept of drive C may fade away. But for now it remains a fundamental part of PCs and their boot process.

Conclusion

In summary, the origins of drive C lie in the early days of PCs:

  • IBM labeled floppy drives A and B based on CP/M conventions
  • Microsoft assigned C to the first hard drive in PC-DOS
  • Drive C became the standard boot volume on PCs
  • The boot process relied on the MBR info pointing to drive C
  • Operating system installs default to drive C for bootability

So while the choice of C was somewhat arbitrary, it became ingrained in PC architecture and operating systems. The boot process, MBR, BIOS, bootloaders and OS installers all revolved around the assumption that the primary hard drive is C. This made drive C a central part of PCs for decades.

That legacy remains today, although new systems like SSDs, NVMe and ARM devices are slowly moving away from the idea of drive C. But the influence of history is hard to escape, so do not expect drive C to disappear any time soon.