SEARCH

How-To Geek

What Are the Windows A: and B: Drives Used For?

2012-08-28_111422

The C: drive is the default installation location for Windows, if you have a CD/DVD drive on your machine it’s likely the D: drive, and any additional drives fall in line after that. What about the A: and B: drives?

Image by Michael Holley.

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-drive grouping of Q&A web sites.

The Question

If you’re a geek of a certain vintage—we won’t start naming years—the answer to this question is patently obvious to you. For younger geeks, however, the A: and B: drive have always been mysteriously unaccounted for on their computers.

SuperUser reader Linker3000 poses the question:

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:?

What and where, indeed? Thankfully we have some seasoned geeks to answer the query.

The Answers

2012-08-28_112739

Image by AJ Batac.

Veteran geek Adam Davis offers an in-depth look at the missing drive letters:

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 reassignable 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.

SuperUser contributor Nick chimes in with an interesting anecdote building off of the third paragraph of Adam’s answer dealing with letter assignments:

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 [primary] drive. As soon as I assigned that drive a different letter, windows indexed the drive. So much for being rebellious.

So much for being rebellious indeed—if you want to live on the edge you can assign a data drive to A: and B:, but not a boot drive.


Have something to add to the explanation? Sound off in the the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

Jason Fitzpatrick is a warranty-voiding DIYer who spends his days cracking opening cases and wrestling with code so you don't have to. If it can be modded, optimized, repurposed, or torn apart for fun he's interested (and probably already at the workbench taking it apart). You can follow him on if you'd like.

  • Published 01/10/15
  • W. Schroeder

    It is nice to keep up traditions. But floppies are really antiquated. You can use A and B for any drive assignment now.

  • Xhi

    Then there are those of us that remember when there were only A: and B: On my computer which had 28k, yes k, of memory upgradable to a maximum of 32k.

  • W. Schroeder

    LOL, You were spoiled. One of the first computers (an IBM 1401) on which I worked had 1.2K of memory (yes 1200 bytes) and was later upgraded to 4K. Then we were king. That was in 1961.

  • Lowell Heddings

    My first computer didn't even have a disk drive. TI99/4a booted to BASIC. I had to retype the code every time I wanted to play my game.

  • me me

    On my TI/99 4a I used to save to an audio cassette tape. You had to save at one volume level and load it back at a different one. Later, I spent $50 on a 3.5" floppy drive. Tunnels of Doom took several minutes to load from the audio cassette tape.

  • Lowell Heddings

    Oh yeah, I eventually had the cassette deck, and then the 5.25" disk drive. And the speech thing. I don't think I had the 3.5" floppy at any point.

    I spent a lot of time trying to use super extended basic to recreate my own Mario game, since we were really poor and couldn't afford one. Then I switched to learning assembler, although I wasn't good enough to make a full game.

    Of course I eventually got a Nintendo a few years after everybody else and didn't touch the TI again.

  • Tom Wilson

    I like the way CP/M used to do it: your boot drive was always A:, no matter what type of media it was.

  • Tom Wilson

    When I got my Commodore VIC-20, I bought a tape drive with it.... without that, I probably would have given up and run out in to traffic.

  • Tom Wilson

    Just out of curiosity, have you checked out Mari0, the Mario Bros/Portal mashup? It's written in Lua, using a 2D game development kitl.

  • Lowell Heddings

    I have heard about it but haven't actually tried it myself. Watched a video, pretty cool.

  • Martin Churms

    "LOL, You were spoiled." How I agree with you. Back in the days way before A: and B:, I guess before Lowell became a twinkle, let alone acquiring a TI99/4A in the early 80s, I was presented in 1960 to a Ferranti Pegasus to use. It had 55 words of memory, 39 bits each, which stood between paper tape and a magnetic drum, 4096 blocks of 8 words each. To programme it you wrote your code on paper programming sheets and then transcribed it to .... paper tape. And boy, we made the machine fly ! (OK, I was in the aircraft industry !) It is nice to reminisce from time to time.

    Lowell and co - thanks for what you do in your spare time and keep up the good work. I look forward to the daily email with its cartoon and obscure question together with the all important tips and research articles. This old programmer is not decompiling yet and is still learning.after 55 years.

  • W. Schroeder

    Hmm, we must be in the same age group. You mentioning drum storage reminded me the old IBM /650 where you had to calculate the rotational delay for optimal performance.

    On one occasion when I worked in the eastern European countries in the mid 60s I was shown a Russian computer with a drum. They apparently were not able to completely balance the drum. It had to be installed in the basement else the vibration would rip a hole into the floor.

    My first American front loading washing machine ( a Maytag) had the same problem. It would wander all over the room. But that was in the late 90s. I gave it back and got a Bosch.

    Here is a couple of pictures I took when the Russians came to Prague in 1968.

  • Martin Churms

    I thought that we are peers. Drum optimization - get your coding right in a loop and the next block of data on the drum became available at just the right time and the machine flew. The art was in knowing your machine code instructions and how many beats each took. Use the wrong instruction so that a loop took 1 beat longer and ... well shall we say that ones reputation as an efficient programmer was in tatters ... as the programme proceeded to misfire on all cylinders. Nowadays we tend to take latency as a fact of life and lump it. ( I had better find the SSDs I snapped up over Christmas in Maplin's clear out sale and put them to good use in both my desktop and laptop.) Similarly, get the timing wrong on a high speed paper tape reader and it literally screamed instead of whispering along a tape. The fun time was when we applied our well honed optimization skills and tapped into an internal event and managed to programme the Pegasus to play recognisable tunes from musical data encoded on paper tape ... it had a peculiar tonal quality which I can even now recall.

  • Martin Churms

    I trust that the passengers managed to get out of the bus OK

  • W. Schroeder

    The people had put those vehicles across the streets to keep the Russian tanks from moving freely. But as you can see, it was no match for a 60 ton tank. All those tanks were flown in over night - an amazing logistics plan.

  • Byron Jacobs

    I can't one-up you guys programming in the early '60's - although I did get the chance to do Autocoder and machine language on everything from a Honeywell 200, a Boroughs 3500 and a 1401 to a 360/40. But I first learned programming in 1969 on a 402 with sonic wire calculation capability. There was no real memory but you could multiply two numbers in a single card cycle. You had to plug wires into a 3 foot square panel to read cards, print lines and make decisions using relays. The company was paying IBM for a 72 Card/minute machine but we found a relay that was stealing every-other card cycle. We shoved a folded 5081 card into the relay contacts and sped the machine up to 144 cards/minute.If not the first hack, it was an early one.

    Btw, on early PC's, the A: and B: drives were for floppies or tapes so you could read one and write to the other. There wasn't enough memory for copying a floppy so this was the only way to do it.

  • Martin Churms

    Sonic wires ? The 55 memories on the pegasus were sonic wires. They were called delay lines. Disadvantage of that was that you couldn't hack it to make it go faster by overclocking. The memory just said that you will get the data when it was ready and not before so tough !!

    Actually you do one-up me in some ways - I never worked on Honeywell, Burroughs or IBM. I was schooled on Ferranti and ICL.

    I like the hack you had - to disable part of the m/c so that the whole thing can go faster. That's great. It reminds me of the time I cracked a metatarsal up on the fells above Grindelwald in Switzerland on holiday in 2002. The local A&E dept strapped me up, put me on crutches (25 SFr deposit) and gave me the X-rays to take along to my local A&E when I got home. My wife thought "Fine, I don't think, - that's mucked the holiday up !!" What the A&E had done, though I am sure that they didn't intend it, was to effectively convert my arms into legs ! So now I had four, three in A1 condition, the fourth disabled. After a day of rest, I realised I didn't want to be confined to inactivity. So back onto the fells and I found out what it is like to be a mountain goat, scaring my wife by what I found I could do and wouldn't have attempted on two legs, going faster, etc., and thoroughly enjoyed the rest of the fortnight !! I still have the crutches as a momento cluttering up a corner of our entrance hall. Funny, though. They don't give you such an advantage on the flat round here as I soon found out when I ricked an ankle at home a few years ago and felt like a lame duck, crutches or no crutches. On a steep slope / uneven ground it is a different story - I felt as if I had had a processor upgrade with another core to use !!

  • Peter Lopez

    I have assigned the letter B to my temporary backup partition and I use A as a sort of temp and/or miscellaneous drive.

  • John Hawkins

    Talking of BASIC, does anyone know a way of running BASICA programs on a Windows7 machine?

  • Tom Wilson

    It is possible to download the DOS QBASIC interpreter, which runs MS-BASIC programs just fine, but that probably won't work on a 64-bit machine, thanks to the lack of a 16-64 bit WOW layer.

    My suggestion would be DOSBOX and any version of MS-DOS.

  • John Hawkins

    Many thanks Tom I am using a 32 bit machine. I’ll give it a try.

    Best wishes Stewart Hawkins

Enter Your Email Here to Get Access for Free:

Go check your email!