Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Drive letter assignment

From Wikipedia, the free encyclopedia
(Redirected fromLoad drive)
Alphabetical assignment to logical drives on computers (e.g., C:\)

MS-DOS command prompt with drive letterC as part of the currentworking directory.
File Manager displaying the contents of driveC.

Incomputer data storage,drive letter assignment is the process of assigning alphabetical identifiers tovolumes. Unlike the concept ofUNIXmount points, where volumes are named and located arbitrarily in a single hierarchical namespace, drive letter assignment allows multiple highest-level namespaces. Drive letter assignment is thus a process of using letters to name the roots of the "forest" representing the file system; each volume holds an independent "tree" (or, for non-hierarchical file systems, an independent list of files).

Origin

[edit]

The concept of drive letters, as used today, presumably[citation needed] owes its origins toIBM'sVM family of operating systems, dating back toCP/CMS in 1967 (and its research predecessorCP-40), by way ofDigital Research's (DRI)CP/M. The concept evolved through several steps:

  • CP/CMS uses drive letters to identifyminidisks attached to a user session.[1] A full file reference (pathname in today's parlance) consists of afilename, afiletype, and a disk letter called afilemode (e.g.A orB). Minidisks can correspond to physical disk drives, but more typically refer to logical drives, which are mapped automatically onto shared devices by the operating system as sets ofvirtual cylinders.
  • CP/CMS inspired numerous other operating systems, including the CP/M microcomputer operating system, which uses a drive letter to specify a physical storage device. Early versions of CP/M (and other microcomputer operating systems) implemented aflat file system on each disk drive, where a complete file reference consists of adrive letter, a colon, afilename (up toeight characters), a dot, and afiletype (three characters); for instanceA:README.TXT. (This was the era of8-inch floppy disks, where such small namespaces did not impose practical constraints.) This usage was influenced by the device prefixes used inDigital Equipment Corporation's (DEC)TOPS-10 operating system.[2]
  • The drive letter syntax chosen for CP/M was inherited byMicrosoft for its operating systemMS-DOS by way ofSeattle Computer Products' (SCP)86-DOS, and thus also by IBM's OEM versionPC DOS. Originally, drive letters always represented physical volumes, but support forlogical volumes eventually appeared.
  • Through their designated position as DOS successor, the concept of drive letters was also inherited byOS/2 and theMicrosoft Windows family.

The important capability ofhierarchical directories within each drive letter was initially absent from these systems. This was a major feature ofUNIX and other similar operating systems, where hard disk drives held thousands (rather than tens or hundreds) of files. Increasing microcomputer storage capacities led to their introduction, eventually followed bylong filenames. In file systems lacking such naming mechanisms, drive letter assignment proved a useful, simple organizing principle.

Operating systems that use drive letter assignment

[edit]
This list isincomplete; you can help byadding missing items.(November 2010)

Order of assignment

[edit]
icon
This sectionneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources in this section. Unsourced material may be challenged and removed.(February 2011) (Learn how and when to remove this message)

MS-DOS/PC DOS since version 5.0, and later operating systems, assigns drive letters according to the following algorithm:[4]

  1. Assign the drive letterA: to the firstfloppy disk drive (drive 0), andB: to the second floppy disk drive (drive 1). If only one physical floppy is present, driveB: will be assigned to a phantom floppy drive mapped to the same physical drive and dynamically assigned to either A: or B: for easier floppy file operations. If no physical floppy drive is present, DOS 4.0 will assign bothA: andB: to the non-existent drive, whereas DOS 5.0 and higher will invalidate these drive letters. If more than two physical floppy drives are present, DOS versions prior to 5.0 will assign subsequent drive letters, whereas DOS 5.0 and higher will remap these drives to higher drive letters at a later stage; see below.
  2. Assign a drive letter to the first active primarypartition recognized upon the first physicalhard disk. DOS 5.0 and higher will ensure that it will become driveC:, so that the boot drive will either have driveA: orC:.
  3. Assign subsequent drive letters to the first primary partition upon each successive physical hard disk drive (DOS versions prior to 5.0 will probe for only two physical hard disks, whereas DOS 5.0 and higher support eight physical hard disks).
  4. Assign subsequent drive letters to every recognized logical partition present in the first extended partition, beginning with the first hard drive and proceeding through successive physical hard disk drives.
  5. DOS 5.0 and higher: Assign drive letters to all remaining primary partitions, beginning with the first hard drive and proceeding through successive physical hard disk drives.
  6. DOS 5.0 and higher: Assign drive letters to all physical floppy drives beyond the second physical floppy drive.
  7. Assign subsequent drive letters to any block device drivers loaded inCONFIG.SYS viaDEVICE statements, e.g.RAM disks.
  8. Assign subsequent drive letters to any dynamically loaded drives via CONFIG.SYSINSTALL statements, inAUTOEXEC.BAT or later, i.e. additionaloptical disc drives (MSCDEX etc.),PCMCIA /PC Card drives, USB or Firewire drives, ornetwork drives.
  • Only partitions of recognizedpartition types are assigned letters. In particular, "hidden partitions" (those with their type ID changed to an unrecognized value, usually by adding10h) are not.

MS-DOS/PC DOS versions 4.0 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 driveE:. Starting with DOS 5.0, the system ensures that driveC: is always a hard disk, even if the system has more than two physical floppy drives.

While without deliberate remapping, the drive letter assignments are typically fixed until the next reboot, however,Zenith MS-DOS 3.21 will update the drive letter assignments when resetting a drive. This may cause drive letters to change without reboot if the partitioning of the harddisk was changed.

MS-DOS on theApricot PC assigns letters to hard drives, starting withA:, before considering floppy drives. A system with two of each drive would call the hard drivesA: andB:, and the floppiesC: andD:.

On the JapanesePC-98, if the system is booted from floppy disk, the dedicated version of MS-DOS assigns letters to all floppy drives before considering hard drives; it does the opposite if it is booted from a hard drive, that is, if the OS was installed on the hard drive, MS-DOS would assign this drive as drive "A:" and a potentially existing floppy as drive "B:". The Japanese version of theWindows 95 SETUP program supports a special option/AT to enforce that Windows will be on drive C:.

Some versions of DOS do not assign the drive letter, beginning withC:, to the first active primary partition recognized upon the first physical hard disk, but on the first primary partition recognized of the first hard disk, even if it is not set active.

If there is more than one extended partition in a partition table, only the logical drives in the first recognized extended partition type are processed.

Some late versions of the DR-DOS IBMBIO.COM provide a preboot config structure, holding bit flags to select (beside others) between various drive letter assignment strategies. These strategies can be preselected by a user or OEM or be changed by a boot loader on the fly when launching DR-DOS. Under these issues, the boot drive can be different fromA: orC: as well.

The drive letter 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 DOS, requires drivers loaded through theCONFIG.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 DOS. Therefore, 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.

InWindows NT andOS/2, the operating system uses the aforementioned algorithm to automatically assign letters tofloppy disk drives,optical disc drives, theboot disk, and other recognized volumes that are not otherwise created by anadministrator 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.

A common problem that occurs with the drive letter assignment is that the letter assigned to a network drive can interfere with the letter of alocal volume (like a newly installed CD/DVD drive or a USB stick). For example, if the last local drive is driveD: and a network drive would have been assigned asE:, then a newly attached USB mass storage device would also be assigned driveE: causing loss of connectivity with either the network share or the USB device. Users with administrative privileges can assign drive letters manually to overcome this problem.[5]Another condition that can cause problems onWindows XP is when there are network drives defined, but in an error condition (as they would be on a laptop operating outside the network). Even when the unconnected network drive is not the next available drive letter, Windows XP may be unable to map a drive and this error may also prevent the mounting of the USB device.[citation needed]

Common assignments

[edit]

Applying the scheme discussed above on a fairly modern Windows-based system typically results in the following drive letter assignments:

  • A:Floppy disk drives,3+12″ or5+14″, and possibly other types of disk drives, if present.
  • B: — Reserved for a second floppy drive (that was present on many PCs).
  • C: — Firsthard disk drive partition.
  • D: toZ: — Other disk partitions get labeled here. Windows assigns the next free drive letter to the next drive it encounters while enumerating the disk drives on the system. Drives can be partitioned, thereby creating more drive letters. This applies to MS-DOS, as well as all Windows operating systems. Windows offers other ways to change the drive letters, either through the Disk Management snap-in ordiskpart. MS-DOS typically uses parameters on the line loading device drivers inside theCONFIG.SYS file.

Case-specific drive letters:

  • F: — First network drive if usingNovell NetWare.
  • G: — "Google Drive File Stream" if usingGoogle Drive.
  • H: — "Home" directory on a network server.
  • L: — Dynamically assignedload drive under Concurrent DOS, Multiuser DOS, System Manager and REAL/32.[6][7]
  • M: — Drive letter for optionallymemory drive MDISK under Concurrent DOS.[6]
  • N:,O:,P: — Assignablefloating drives under CP/M-86 4.x, Personal CP/M-86 2.x,DOS Plus 1.1-2.1 (via BDOS call 0Fh), a concept later extended to any unused drive letters under Concurrent DOS, Multiuser DOS, System Manager, REAL/32 and DR DOS up to 6.0.[6][7]
  • Q: — Microsoft Office Click-to-Run virtualization.
  • U: — Unix-likeunified filesystem with virtual directory\DEV fordevice files underMiNT,MagiC, andMultiTOS.[8][9]
  • Z: — First network drive if usingBanyan VINES, and the initial drive letter assignment for the virtual disk network in theDOSBoxx86 emulator. It is also the first letter selected by Windows for network resources, as it automatically selects fromZ: downwards. By default,Wine mapsZ: to the root of the UNIX directory tree.[10]

When there is no second physical floppy drive, driveB: can be used as a "virtual" floppy drive mapped onto the physical driveA:, whereby the user would be prompted to switch floppies every time a read or write was required to whichever was the least recently used ofA: orB:. This allows for much of the functionality of two floppy drives on a computer that has only one. This concept of multiple drive letters sharing a single physical device (optionally with different "views" of it) is not limited to the first floppy drive, but can be utilized for other drives as well by setting up additional block devices for them with the standard DOSDRIVER.SYS inCONFIG.SYS.

Network drives are often assigned letters towards the end of the alphabet. This is often done to differentiate them from local drives: by using letters towards the end, it reduces the risk of an assignment conflict. It is especially true when the assignment is done automatically across a network (usually by a logon script).

In most DOS systems, it is not possible to have more than 26 mounted drives. Atari GEMDOS supports 16 drive lettersA: toP: only. The PalmDOS PCMCIA driver stack supports drive letters0:,1:,2:, ... to address PCMCIA drive slots.

Some Novell network drivers for DOS support up to 32 drive letters under compatible DOS versions. In addition, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02 genuinely support a CONFIG.SYSLASTDRIVE=32 directive in order to allocate up to 32 drive letters, namedA: toZ:,[:,\:,]:,^:,_: and`:. (DR-DOS 7.02-7.07 also supportsHILASTDRIVE andLASTDRIVEHIGH directives in order to relocate drive structures into upper memory.) Some DOS application programs do not expect drive letters beyondZ: and will not work with them, therefore it is recommended to use them for special purposes or search drives.

JP Software's4DOS command line processor supports drive letters beyondZ: in general, but since some of the letters clash with syntactical extensions of this command line processor, they need to be escaped in order to use them as drive letters.

Windows 9x (MS-DOS 7.0/MS-DOS 7.1) added support forLASTDRIVE=32 andLASTDRIVEHIGH=32 as well.

If access to more filesystems thanZ: is required under Windows NT,Volume Mount Points must be used.[11] However, it is possible to mount non-letter drives, such as1:,2:, or!: using the command lineSUBST utility in Windows XP or later (i.e.SUBST 1: C:\TEMP), but it is not officially supported and may break programs that assume that all drives are lettersA: toZ:.

ASSIGN, JOIN and SUBST in DOS and Windows

[edit]

Drive letters are not the only way of accessing different volumes.DOS offers aJOIN command that allows access to an assigned volume through an arbitrary directory, similar to theUnixmount command. It also offers aSUBST command which allows the assignment of a drive letter to a directory. One or both of these commands were removed in later systems likeOS/2 orWindows NT, but starting withWindows 2000, both are again supported: The SUBST command exists as before, while JOIN's functionality is subsumed inLINKD (part of the WindowsResource Kit). InWindows Vista, the new commandMKLINK can be used for this purpose. Also, Windows 2000 and later support mount points, accessible from theControl Panel.

Many operating systems originating from Digital Research provide means to implicitly assign substitute drives, calledfloating drives in DRI terminology, by using the CD/CHDIR command in the following syntax:

CD N:=C:\SUBDIR

DOS Plus supports this for drive lettersN:,O:, andP:. This feature is also present inConcurrent DOS,Multiuser DOS, System Manager 7, andREAL/32, however, these systems extend the concept to all unused drive letters from A: to Z:, except for the reserved drive letter L:.[7]DR DOS 3.31 - 6.0 (up to the 1992-11 updates with BDOS 6.7 only) also supports this including drive letter L:. This feature is not available under DR DOS 6.0 (1992 upgrade), PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02 and higher. Floating drives are implemented in the BDOS kernel, not in the command line shell, thus they can be used and assigned also from within applications when they use the "change directory" system call. However, most DOS applications are not aware of this extension and will consequently discard such directory paths as invalid. JP Software's command line interpreter 4DOS supports floating drives on operating systems also supporting it.

In a similar feature, Concurrent DOS, Multiuser DOS, System Manager and REAL/32 will dynamically assign a drive letterL: to the load path of a loaded application, thereby allowing applications to refer to files residing in their load directory under a standardized drive letter instead of under an absolute path.[7] Thisload drive feature makes it easier to move software installations on and across disks without having to adapt paths to overlays, configuration files or user data stored in the load directory or subsequent directories.(For similar reasons, the appendage to the environment block associated with loaded applications under DOS 3.0 (and higher) contains a reference to the load path of the executable as well, however, this consumes more resident memory, and to take advantage of it, support for it must be coded into the executable, whereas DRI's solution works with any kind of applications and is fully transparent to users as well.)In some versions of DR-DOS, the load path contained in the appendage to the environment passed to drivers can be shortened to that of a temporary substitute drive (e.g.SUBST B: C:\DIR) through theINSTALL[HIGH]/LOADHIGH option/D[:loaddrive] (forB:TSR.COM instead of, say,C:\DIR\TSR.COM). This can be used to minimize a driver's effectivememory footprint, if the executable is located in a deep subdirectory and the resident driver happens to not need its load path after installation any more.[12][13][14][15]

See also

[edit]

References

[edit]
  1. ^DuCharme, Bob (2001)."VM/CMS"(PDF).The Operating System Handbook, or, Fake Your Way Through Minis and Mainframes.
  2. ^Johnson, Herbert R. (2009-01-04)."CP/M and Digital Research Inc. (DRI) History".www.retrotechnology.com. Retrieved2009-01-28.
  3. ^"GEOS".
  4. ^"Order in Which MS-DOS and Windows Assign Drive Letters".Support Online from Microsoft Technical Support.Microsoft. 1996-04-17. Archived fromthe original on 1999-02-18. Retrieved2021-01-06.
  5. ^"Change a drive letter".Microsoft. Retrieved2019-03-04.
  6. ^abcConcurrent DOS 386 - Multiuser/Multitasking Operating System - User Guide(PDF).Digital Research.
  7. ^abcdConcurrent DOS 386 - Multiuser/Multitasking Operating System - Reference Manual(PDF).Digital Research. 1987.
  8. ^"The drive U: in MagiC". 2016-03-28.Archived from the original on 2017-01-15. Retrieved2017-01-09.
  9. ^"FreeMiNT-Portal - mint.doc". 2000-04-27.Archived from the original on 2017-01-15. Retrieved2017-01-09.
  10. ^"Wine FAQ".
  11. ^"simple volumes".Microsoft TechNet. Archived fromthe original on 2007-03-26. Retrieved2006-12-01.
  12. ^Paul, Matthias R. (1997-10-02)."Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archived fromthe original on 2003-10-04. Retrieved2009-03-29.[1]
  13. ^Paul, Matthias R. (1997-07-30). "II.11.iii. Interne Kommandos und Optionen von COMMAND.COM - Hinweise zu internen Kommandos".NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (in German) (3 ed.).Archived from the original on 2016-11-04. Retrieved2014-08-06. (NB. NWDOSTIP.TXT is a comprehensive work onNovell DOS 7 andOpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet largerMPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of theNWDOSTIP.TXT file.)
  14. ^Paul, Matthias R. (1997-05-27) [1996]."SETENV v1.11". Archived fromthe original on 2009-02-15. Retrieved2019-07-29.
  15. ^Paul, Matthias R. (2002-10-07)."Re: Run a COM file".alt.msdos.programmer.Archived from the original on 2017-09-03. Retrieved2017-09-03.[2]

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Drive_letter_assignment&oldid=1266556695#Load_drive"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp