Drive letter assignment

From Free net encyclopedia

(Redirected from C:)

Drive letter assignment is the process of assigning drive letters to primary and logical partitions (drive volumes) in the root namespace as seen by a Microsoft operating system.

Contents

Origin

The concept of drive letters might have originated in the CP/M operating system, in imitation of the device prefixes in the RSX-11 and VMS operating systems. However, IBM's VM/CMS, an even earlier operating system, also had drive letters, identifying minidisks attached to a user session; a full pathname would be composed of a filename, filetype and disk letter called filemode.

Unlike the concept of mount points, where the user can create directories of arbitrary name and content in the root namespace, drive letter assignment implies that only letters are in this namespace, and they represent solely volumes. In other words, it is a process of naming the roots of the "forest" that represents the file system (with each volume being an independent tree therein).

JOIN and SUBST

Drive letters are not the only way of accessing different volumes. MS-DOS offers a JOIN command that allows access to an assigned volume through an arbitrary directory, similar to the Unix mount command. It also offers a SUBST command which allows the assignment of a drive letter to a directory. One or both of these commands are removed in later systems like OS/2 or Windows NT, but starting with Windows 2000 both are again supported: the SUBST command exists as before, while JOIN's functionality is subsumed in LINKD (part of the Windows Resource Kit). The JUNCTION command (available from the thrid party sysinternals) provides similar functionality.

Operating systems that use drive letter assignment

Order of assignment

Except for CP/M and early versions of MS-DOS, each of these operating systems assign drive letters according to the following algorithm:

  1. Assign the drive letter 'A' to the boot floppy, and 'B' to the secondary floppy.
  2. Assign a drive letter, beginning with 'C' to the first active primary partition recognized upon the first physical hard disk.
  3. Assign subsequent drive letters to the first primary partition upon each successive physical hard disk drive, if present within the system.
  4. Assign subsequent drive letters to every recognized logical partition, beginning with the first hard drive and proceeding through successive physical hard disk drives, if present within the system.
  5. Assign subsequent drive letters to any additional floppy, CD/DVD drives and network shares.

MS-DOS versions 3 and earlier assign letters to all of the floppy drives before considering hard drives, so a system with four floppy drives would call the first hard drive 'E'.

The order can depend on whether a given disk is managed by a boot-time driver or by a dynamically loaded driver. For example, if the second or third hard disk is of SCSI type and on MS-DOS requires drivers loaded through the CONFIG.SYS file (e.g. the controller card does not offer on-board BIOS or using this BIOS is not practical), then the first SCSI primary partition will appear after all the IDE partitions on MS-DOS. Therefore MS-DOS and, for example, OS/2 could have different drive letters, as OS/2 loads the SCSI driver earlier. A solution was not to use primary partitions on such hard disks.

In Windows NT, Windows 2000, Windows XP and OS/2, the operative system uses the aforementioned algorithm to automatically assign letters to floppy disk drives, CD-ROM drives, DVD drives, the boot disk, and other recognized volumes that are not otherwise created by an administrator within the operating system. Volumes that are created within the operating system are manually specified, and some of the automatic drive letters can be changed. Unrecognized volumes are not assigned letters, and are usually left untouched by the operating system.

Common assignments

Applying the algorithms discussed above on MS-DOS and Windows based systems typically results in the following drive letter assignments.

  • A:Floppy drive (3.5-inch is the modern standard).
  • B: — Reserved for floppy drive, historically also for a second floppy drive, usually 5.25-inch.
  • C: — Main partition.
  • D: through Z: — Other disk partitions are labeled here.
  • D: through Z:CD, DVD and shared drives begin lettering after the last used hard drive partition designation.

The C: drive usually contains all of the operating system files required for operation of the computer. On many modern personal computers only one hard drive is included in the design so it is designated C:. On such a computer, all of a user's personal files are stored in directories on this drive as well.

When there was not a second physical floppy drive, the B: drive was used as a virtual floppy drive marker for the A: drive, whereby the user would be prompted to switch floppies every time a read or write was required to whichever was not most recently used of A: or B:. This allowed for much of the functionality of two floppy drives on a computer that had only one (albeit usually resulting in lots of swapping).