How Windows 98 Assigned Drive Letters
Microsoft Windows 98 managed drive letter assignments using a hybrid approach rooted in MS-DOS partition conventions, supplemented by protected-mode drivers and graphical device management. Because Windows 98 still relied on underlying MS-DOS architecture during the boot phase, drive letter assignment followed a rigid, predetermined hierarchy for fixed disks, while allowing limited manual reassignments for optical, removable, and network drives.
The Boot Hierarchy and Hard Disk Enumeration
When Windows 98 initialized, the system scanned physical disks according to standard MS-DOS partition rules rather than treating every partition sequentially on a single disk:
- Floppy Drives: Drive letters
A:andB:were strictly reserved for floppy disk drives. If only one physical floppy drive was present, Windows assignedA:to it and reservedB:for a virtual disk interface. - Primary Partitions: The system scanned the Master
Boot Record (MBR) of the primary physical hard disk and assigned
C:to its primary active partition. It then continued across all subsequent physical hard drives, assigning the next sequential letters (D:,E:, etc.) to their primary partitions. - Logical Drives in Extended Partitions: After enumerating all primary partitions across all physical drives, Windows 98 returned to the first physical hard drive to assign letters sequentially to any logical drives inside its extended partition. It then proceeded to assign letters to extended partition logical drives on the second physical drive, third drive, and so on.
Because this ordering was hardcoded into the DOS/Windows boot routine, adding a new physical hard disk with a primary partition would shift existing logical drive letters on the primary disk. This frequently broke application shortcuts and system paths that pointed to specific drive letters.
Removable Storage and Optical Drives
After allocating letters to all detected hard disk partitions, Windows 98 assigned letters to optical drives (such as CD-ROM and DVD-ROM drives) and removable storage devices (such as Iomega Zip drives or early USB flash drives).
These devices were assigned the next available alphabetical letters
in the order their drivers loaded. For older ATAPI CD-ROM drives using
real-mode DOS drivers, the order was determined by
MSCDEX.EXE in AUTOEXEC.BAT. For devices using
32-bit protected-mode drivers (such as the Windows 98 native
ESDI_506.PDR or third-party USB drivers in Windows 98
Second Edition), Windows assigned the next free letter upon driver
initialization.
Manual Configuration via Device Manager
Windows 98 did not include the dynamic "Disk Management" console
found in modern Windows versions, meaning physical hard drive letters
could not be manually changed without repartitioning with
FDISK. However, Windows 98 did provide manual control for
non-fixed drives via Device Manager:
- Users opened the System control panel and selected the Device Manager tab.
- Under the properties of a CD-ROM drive, removable drive, or SCSI device, users navigated to the Settings tab.
- Under the Reserved drive letters section, users could designate a specific range using the Start drive letter and End drive letter drop-down menus.
Setting these fields forced the device to occupy a specific letter
(such as R: for removable media or Z: for
optical drives), preventing new hard disk partitions from shifting the
drive letter of CD-ROM drives.
Network Drives
Network shares mapped using Microsoft Client for NetWare or Microsoft
Client for Microsoft Networks were assigned letters dynamically by the
user. Administrators or users could pick any unassigned letter from the
remainder of the alphabet, typically selecting letters near the end of
the alphabet (such as Z:, Y:, or
X:) to avoid conflicts with locally added physical
devices.