1006

In Windows you have a C-drive. Everything labeled beyond that is with the following letter.

So your second drive is D, your DVD is E and if you put in a USB stick it becomes F and the following drive G. And so on and so forth.

But then, what and where are A and B-drives?

20 Answers20

803

Short Version: A: & B: are reserved by floppy disk drives, so C: is used by hard drives for backwards compatibility reasons.


Once upon a time, the early CP/M and IBM PC style computers had no hard drive. You had one floppy drive, and that was it. Unless you spent another $1k or so on a second floppy drive, then your system was smokin'! If you only had one drive it was common to boot from one disk, put in the other disk with your programs and data, then run the program. Once the program finished, the computer would request that you reinsert the boot disk so you could use the command line again. Copying data from one disk to the other was a series of

Please insert source disk into drive A:...
Please insert destination disk into drive A:...
Please insert source disk into drive A:...

By the time hard drives became cheap, the "expensive" computers typically had two floppy drives (one to boot and run common programs, one to save data and run specific programs). And so it was common for the motherboard hardware to support two floppy drives at fixed system addresses. Since it was built into the hardware, it was thought that building the same requirement into the OS was acceptable, and any hard drives added to the machine would start with disk C: and so forth.

During the transition from 5.25" disks (which were actually, physically floppy) to 3.5" disks (which were encased in a harder plastic shell) it was common to have both drives in one system, and again it was supported on the motherboard with hardware, and in the OS at fixed addresses. As very few systems ran out of drive letters, it was not thought to be important to consider making those drives re-assignable in the OS until much later when drives were abstracted along with addresses due to the plug'n'play standard.

A lot of software was developed since that time, and unfortunately much of it expected to see long-term storage on the C: drive. This includes the BIOS software that boots the computer. You can still attach two floppy drives, boot into DOS 6.1, and use it as you would have in the early 90's, with floppy drives A: and B:.

So largely the reason for starting the hard drive at C is for backwards compatibility. While the OS has abstracted data storage to some degree, it still treats A: and B: differently, in such a way that allows them to be removed from the system without altering the OS, caching them differently, and due to early viruses treating their boot sector with more caution than the hard drive's boot sector.

For Windows specifically, it's worth mentioning that you can use A: and B: as the names for volumes, be it a flash drive or an internal hard drive.

Stevoisiak
  • 16,075
Adam Davis
  • 4,405
671

A: and B: were used for floppy disks.


Edit: Someone asked for pics so here's an 8", 5.25" and 3.5" floppy disk. (8" disks were not used as standard on IBM compatible personal computers.)

floppy disks

Jonik
  • 5,940
lujop
  • 501
230

Less an answer, more of an anecdote. In this Microsoft article, it says:

"You can assign the letters C through Z to each drive on your computer. A and B are usually reserved for floppy disk drives, but if your computer does not have floppy disk drives, you can assign A and B to volumes."

So when I built a new computer recently with two internal drives, one for the OS and one for data, I thought, hey!, I'll make my data drive "A". I felt all rebellious until I discovered that Windows will not index drives lettered A or B. :( Took me quite a while to figure out what the problem was, but I found some other people who suffered the same issue when they used A or B for a drive. As soon as I assigned that drive a different letter, windows indexed the drive. So much for being rebellious. lol.

143

The two horizontal slots on the front of this PC are the A: and B: drives (5.25" floppies in this case). Note that you had to physically "mount" the disk by turning the lever on the front of the drive. Ahh, simpler times.

enter image description here

sawdust
  • 18,591
Ken
  • 272
99

Drive letters A and B are reserved for floppy disk drives. However, if your computer does not have a floppy disk drive, you can assign these letters to removable drives.

Source: How to change drive letter assignments in Windows XP

Zaid Masud
  • 101
  • 2
73

Ah... the good ole days.

A: was the first disk device, B: the second, and so on - in CP/M. As somebody else posted, this ran on the 8-bit 8080 and Z-80 machines that pre-dated MS-DOS.

MS-DOS in turn was a 16-bit (8086) knock-off clone of CP/M, or more specifically, CP/M-86, so it used the same drive letter conventions.

Back in those days the only conventions that were pretty much universal were set by CP/M (for example, the disk naming on the Apple-2 and Tandy TRS-80 was something different again... I once used a TRS-80 with 4 floppy drives... oh the power!).

With something like CP/M the first hard drives, when they came out, just appeared as the next available drive letter.

MS-DOS allocated 2 floppy drives pretty much universally and placed the hard drive at C:. Either you had two floppy drives, or the system "virtualised" access to a single drive - an application could access A: or B:, and the system would ask you to swap the physical floppies in the solo drive as necessary. This both increased software compatibility for cheaper systems (floppy drives were not exactly cheap, and software generally used a separate disk for the software, and another for your user data) and made e.g. copying floppies a lot more convenient (still annoying, mind...). This was still back in the day when hard drives were ridiculously expensive (a 6 MiB hard drive would cost around $5k of then-dollars, and a floppy drive around $1k) - most PCs didn't have one.

This convention has been preserved since, though as pointed out here numerous times - in windows - you can change this. As far as I know in MS-DOS you can't.


Slightly off topic:

Back in the 1980's it was pretty common on these early machines for disks to be a mixed bag of different types with legend incompatibilities. The IBM-PC imposed a bunch of standards with the format of its 5.25 inch floppies - before that you had all sorts of different arrangements with hard and soft sectoring, number of sectors / track, number of tracks, etc etc.

Data interchange between machines using floppy disks was a very hit and miss affair, which only got sorted with MS-DOS and the IBM-PC. The most reliable way to transfer files between machines back then was to write some programs (in assembler) to to file transfers using the serial port, and then wire them up. It was never very slow, because files were never very big.

My favourites from then were the high density drive my employer bought - it was an 8 inch floppy attached by a huge long ribbon cable. I think it stored about 200K, which was huge when developing software on a machine with 2 floppy drives, each of them 89K. Compiler on one, source and object code on the other. A compilation took minutes while the drives clanked away.

At the time the IBM PC was introduced you could get it running either CP/M-86 or MS-DOS, and there was no clear indication that one or the other would win. Eventually MS-DOS won the day - some bundling deals might have had a bit to do with that. The first IBM machine my employer bought did make things a lot easier... and the port of stuff to MS-DOS was pretty easy - mainly because of the same conventions for disk drive letters, and also because the system calls to read / write files and populate file control blocks (remember FCBs and the weird format they had in memory?) was the same.


C: wasn't rigid in MS-DOS as the first hard drive. Heath/Zenith MS-DOS had AB reserved for 5" floppies and CD reserved for 8"floppies.

The first default hard drive partition was E, Whether you had floppies installed or not. Their version also allowed 16 partitions on a single hard drive.

I think they may have been the first multi-booting systems as well. Hot-keys during the boot process would allow you to boot from any drive or partition, allowing custom environments and launching CP/M-85, CP/M-86, MS-DOS, Concurrent Dos or HDOS.

Luaan
  • 783
quickly_now
  • 1,938
58

A and B were used for floppy disk drives. As far as I'm aware, there are two because the older computers (with no hard drives) would boot the OS from A:\ and run applications from B:\

52

They are floppy drives. If you're curious to the order of the drive assignments, wikipedia has more information http://en.wikipedia.org/wiki/Drive_letter_assignment

Niklas B
  • 251
46

A: is the 5.25" 1.2Mb removable magnetic media, and B: is a more modern 3.5" 1.44Mb drive in my coding machine.

37

If I remember correctly on my DOS systems they were used for floppy drives but B:\ was not generally not an actual physical floppy disk but rather a virtual one.

It was a virtual floppy used when copying a floppy when there was only one drive. So you would copy from A:\ to B:\ but keep taking the source and destination disks out of the same drive as the memory buffer got full.

Kyle Brandt
  • 4,729
36

While it is clear that these are used for legacy floppy disk drives, I should note that they're still used to this day by default for these ancient storage media:

Floppy drive connected to laptop Drive A: in Windows 7

bwDraco
  • 46,683
34

A: was the boot device in the 8-bit CP/M operating system. It predates even the earliest MS-DOS. If you had a second drive, it was B:. A third would be C:, etc. Systems didn't have hard drives then. CP/M was originally targeted to the 8080 processor. CP/M was created in the 1970s. The very first small winchester disk drive was the ST-506 which boasted a generous 5 MB (five megabytes) of storage. They were expensive but they were fast (compared to what we were used to). Oh, and the primitive file system didn't have folders or subdirectories. There was no A:\. It was just A:.

Gani Simsek
  • 2,650
BillP3rd
  • 6,599
33

I feel old and I'm only 26. A and B traditionally are floppy drives. C traditionally is the main disk and D traditionally the CD-ROM

My computer at home has CDEF as hard drives and G as DVD RW

DonP
  • 161
30

On my first PC in 1992, A: was the 3.5" floppy, and B: was the 5.25" old-style floppy. Other machines had two 3.5" drives, and having two floppies was fairly common, hence hard drives starting at C: to leave room.

27

They are a legacy from the DOS days - A: and B: were the floppy disk drives that were standard on the original IBM PC. C:, the hard drive, was the third disk. Today, of course, nobody has floppies.

mtrw
  • 191
23

A:\ and B:\ still defaults to floppy drives, of course only visible if you have one installed (only have that for fun in some of my virtual machines)

22

Lots of good answers already, but they all refer to floppy drives in the past tense. The fact is that floppy drives are still sold, though I have no idea who buys them.

Another fun fact: if you have a single physical floppy drive installed, you actually have both an A: and B: drive. If you do

 copy a:bigfile b:

the system prompts you to insert the A: or B: floppy as needed.

Primitive by today's standards, but still a step up from storing data on audio cassette!

20

A:\ and B:\ were used for the floppy disk drives (remember them?) ;)

immutabl
  • 1,846
  • 6
  • 23
  • 33
10

The first pc I used professionally was an Apricot Xen. The internal hard drive was A: and the 3.5" floppy was B:. This was back in the day of MS-DOS 2.11, before Ibm pcs came along.

dr-jan
  • 111
0

Further to what the drive letters A: and B: were used for originally, here is how I use them now.

You can use the DOS command "subst" to assign an unused drive letter to a path on some other drive.

For example, I have multiple hard drives and directory structures that go many levels deep.

I use A: for my current project data folder, and B: for my current project code.

subst a: "d:\my documents\_PROJECTS\2024\SomeCustName\switches"
subst b: "f:\coding\_PROJECTS\2024\SomeCustName\bin"

In order to automatically run those subst commands whenever I boot my computer, the two lines are included in a text file, called autoexec.bat, that is stored here: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\autoexec.bat

The two drives appear in Explorer as the A: and B: drives, but they are shortcuts to my current project folders.

When I change projects, I update those subst commands.

cssyphus
  • 1,202