On its own, the title of this post is just a true piece of trivia, verifiable with the built-in
substtool (among other methods).Here’s an example creating the drive
[…]+:\as an alias for a directory atC:\foo:The
[…]+:\drive then works as normal (at least in cmd.exe, this will be discussed more later):However, understanding why it’s true elucidates a lot about how Windows works under the hood, and turns up a few curious behaviors.
↫ Ryan Liptak
Fascinating doesn’t even begin to describe this article, but at the same time, it also makes me wonder at what point maintaining this drive letter charade becomes too burdensome, clunky, and complex. Internally, Windows NT does not use drive letters at all, but for the sake of backwards compatibility and to give the user what they expect, a whole set of abstractions has been crafted to create the illusion that modern versions of Windows still use the same basic drive letter conventions as DOS did 40 years ago.
I wonder if we’ll ever reach a point where Windows no longer uses drive letters, or if it’s possible today to somehow remove or disable these abstractions entirely, and run Windows NT without drive letters, as Cutler surely intended. Vast swaths of Windows programs would surely curl up in fetal position and die, including many core components of the operating system itself – as this article demonstrates, very few parts of Windows can handle even something as mundane as a drive letter outside of A-Z – but it’d make for a great experiment.
Someone with just the right set of Windows NT skills must’ve tried something like this at some point, either publicly or inside of Microsoft.

A young person recently asked me why it started with C: and I just answered that B: was for the 5″1/4 floppy disk drive, like it was a really stupid question 🙂
B:: would also be the alias for A:… for those of us who were poor and could not buy a second drive.
The DOS drivers magically allowed using two names for two different floppy disks on one physical slot, allowing us to copy files — by swapping them many, many, many times. (It had built muscle memory to quickly swap and hit the R button)
My first PC (circa ’92) had a 3″1/2 drive on A: and a 5″1/4 on B: which was a pretty standard setup back then. A few years later, D: was used for my first CD-ROM drive.
larkin,
I might have missed that period. We either had 5.25 or 3.5 floppies, and rarely two drives.
Though… how did you manage to copy disks? Disable one of them in the BIOS?
sukru,
I could be misremembering, but I seem to remember my parents early computers having both 5.25 and 3.5 drives. It would have been very important at the time to have both in order to transfer one’s files from old media to new media.
In any case diskcopy is able to copy between disks using only one drive letter assignment and I believe it’s the default mode if you omit a target drive (or specify the same drive letter for both).
https://www.easydos.com/diskcopy.html
The rest of the specs were AMD386DX40 4Mo of RAM and a 80Mo HDD, running MS-DOS 5.0 and Windows 3.1. The 5″1/4 drive was a bit legacy but still used.
You could still find magazines with a game on floppy disk.
I also used them at home because it was cheaper to archive files and they never left their plastic box that opened with the key 🙂
Alfman,
You are right
The internal device swap logic in diskcopy was much better than the OS one, causing less swaps. I think there were some third party ones what would read *the entire disk* into RAM (HIMEM?) and even allow multiple duplicates. But this is more than 20+ years ago, so I am probably misremembering some details.
larkin,
AMD386DX40 + 4MB would be great for running DOOM. (Though DX266 was where the action were).
Yes, I remember getting magazines just for the bundled disk (later CD-ROM)
If memory serves (it’s been a very long time), which one was given A versus B depended solely on their position on the FDD controller cable ; mine also had a 5.25 and 3.5 both those were A and B respectively because of how they were hooked up. Pretty sure the floppies didn’t use jumpers to indicate master/slave like IDE hard disks did.
anevilyak,
Yes, It might be the position for floppies that assign master or slave, but there were options in BIOS to disable drives (for one reason or another)
(OR was it the “twist”? The cable was strange, and much longer than IDE if I recall correctly)
A: and B: were indeed reserved for floppy drives, but the capacity and physical disk size of the drives were completely irrelevant. Drive B: can be a 3.5″ 1.44MB drive, a 2.88MB drive, even a 160K 5.25″ drive.
Indeed, it was just a convention and the usual setup you would find on PC clones of that era.
I read somewhere that technically it is possible to use Windows without drive letters, they can be turned off. But I don’t remember where, and I’ve never seen it in use.
Angel Blue01,
Not sure if this is what you are talking about, but you don’t have to use drive letters because windows internally has other ids for volumes that you can use instead…
https://superuser.com/questions/465730/access-to-a-disk-drive-using-volume-id-instead-of-a-drive-letter-in-windows
I don’t think it’s a problem for windows, it should work whether or not the drive is assigned a letter, but software that tries to interpret paths might have trouble with it.
I’ll try this out sometime, but expect it to be much harder than this thread suggests. As the article points out, Explorer is making assumptions about drive letters.
What I do know is the original NT had an alias for SystemRoot, which was defined by the bootloader. All of the OS components operated from that alias, not from a drive letter. This allowed you to change the drive letter of the OS, and the system would still boot. Unfortunately this faded quite quickly – by NT 4, optional components would end up expanding SystemRoot into a drive letter path, so changing the drive letter allowed the OS to boot but all sorts of shortcuts would be broken.
But at that time, SystemRoot was still expressed in terms of a drive letter. I don’t know if the bootloader could fall back to any other designation. Note that mount points wouldn’t happen until Windows 2000, and mount points alone can’t achieve it (you need to navigate some path to find a mount point, so there needs to be a way to find an initial path without a drive letter.) All mount points did was reduce the assumption in software that there would be exactly 26 disk devices following a predictable pattern.
I’ll bet that thanks to SystemRoot, it’s probably possible to get the OS to boot without drive letters today too, but Explorer will be a casualty; it’ll need a simpler shell. Even CMD isn’t happy without drive letters (it doesn’t support UNC current directories, and believes \\?\ is a UNC path.)
This reminds me – up to, if I am not mistaken, Windows 2000, you could change the Windows installation path to anything you wanted. And NT 3.1, 3.51 and 4 defaulted to C:\WINNT.
I wonder what would happen if you just continuously upgraded an installation all the way from NT 4, if at any point it would fail because of that. It would be very surprising if C:\Windows is not hardcoded anywhere.
Even Windows 9X can be installed into any path you wanted… except it would still insist on creating “Program Files” folder. In an attempt to stuff it into one folder I have installed it into “C:\Program Files\Windows”. This worked, for a time, but then DirectX arrived… and started demanding that it should be copied from “C:\Program Files\Windows” to “C:\PROGRA~1\Windows”…
I’m pretty sure there are lots of hidden assumption like these in the Windows, these days.
malxau,
Software that performs path expansion correctly should work fine, but I can imagine a lot of software hard coding paths upon install such that reinstalling would be needed.
I assumed cmd was “dumb” enough to pass paths to the OS without trying to interpret them, but I have to test it….hold please…
Ok, so cmd apparently does try to parse the path and displays an error using the volume id when passing paths to cmd itself. However passing the volume IDs as arguments to other commands DOES work even from the command prompt. This is because cmd doesn’t interpret the command line arguments, but I’m sure you know that.
Edit: wordpress is bugging out with backslash characters. I’m just going to leave the wordpress mistakes as is, but just be aware of it.
Interestingly, while explorer’s input sanitation does not accept the volume ids, if you launch explorer using the start command or run dialog box, then apparently this bypasses the check because explorer let you browse and navigating \\?\volume even though you can’t input these paths using the UI!!! You can look at file properties and confirm that explorer is happy enough to work with such paths internally as long as the path sanitation does not get called. Explorer does check the path before running commands though.
Perhaps Windows could work with them but why? They are very convenient to use.
Back in the 1990s I think I found that you could have 104 different drive “letters”. I don’t remember how I came up with all of them but I found that I had reasons for needing more than 52 and found ways to have even more, a LOT more. But I’m 65 with lots of memories that are disappearing from my mind quicker than they should be. I don’t have dementia but doctors agree that something else IS going on and that it isn’t just my imagination and it isn’t that I just losing my memories at the same average speed of everyone else my age.
I used to be very literate in about a dozen different programming languages but now I struggle to do much of anyone with one. It’s _extremely_ frustrating when you KNOW that you KNOW things and you just can’t pull them from what feels like is close at hand.
Sabon,
You’re my dad’s age. For my generation, the US SS doesn’t even consider you to have reached full retirement age until 67 and incentive waiting until 70.
https://www.cbsnews.com/news/social-security-full-retirement-age-2025-what-to-know/
On top of that, the current system is projected to fall short of defined benefit levels, meaning even more cuts may be in the cards. Older generations not only retired years sooner, but often retired with a corporate retirement plan on top of SS (look up the concept of the “three legged stool”). These days, despite productivity and GDP being higher, corporations are keeping much larger portions for themselves. Not only do they pay fewer benefits, but we’ve been subsidizing their taxes too. Many people vote like lemmings and don’t seem to realize what’s going on. We’re slowly but surely drifting into a long term social disaster and although plenty of people are aware this is happening, those running the show are plagued by malice and ignorance.
I wonder what your input is on that? Would you be up for working a few more years are you glad you were able to get out when you did?
Yeah, that’s going to happen to every one of us as we age.
Alfman,
I stayed in an organization for the last 26 years of my career because of the guaranteed retirement benefits that I was locked into. I came to hate my job as bosses two rungs up the ladder more than just tolerated abusive executive management people.
The impact on me is that it made it a LOT harder to make sure that people that my programs and my systems analyst responsibilities were taken well care of DESPITE those a**h**** two levels above me. I fought them harder and harder every year speaking up in meetings where they really wanted to get rid of me because I called them out for their abuses of employees under them. They didn’t like having a light shown on them.
Thankfully about half of them got fired ALL on the same day in one meeting where they were “updated on how management was doing” and they were found severely lacking with some of those managers blaming me directly for their firing. I take great pride in the fact that I exposed them and they got fired in large part by me. But not all of them got fired like they should have been. I took that very personally.
I was in a union and my record of supporting my users was unblemished so they couldn’t touch me. I took great pride in that too. And I’ve got over a dozen programs that nobody asked for that I wrote because I felt that it would make multiple teams more effective in being able to support the people they were supposed to support by making support people’s jobs easier as well as tech people’s jobs easier.
For example, I wrote a program that employees could run if they were having problems with their computers that clearly showed the log file entries that most likely showed why their computers were having problems. And then all they had to do was click on OK and that file was sent to the team that supported them and included all the important computer and user information in a very clear and easy to read format. Nobody asked for that but I created that and about a dozen other programs which I’m proud of.
The stress of fighting against management two levels above me eventually took its tole after 26 years. I became diabetic during that time which sapped a lot of my energy due to pain and the effects of the medications that I was on to help alleviate maybe half of the pain but not nearly enough.
When I turned 62 and I had over 25 years in so I was fully vested I retired.
I never worked at a company where I got a bonus or stock but I did get a good retirement and my wife and I made decent investments but not great ones. Our standard of living is lower now that I’m retired. I’m definitely not rich but better off than most people through payments through investments, Social Security and that retirement I’m getting after working somewhere for 26 years where I only enjoyed the first three. The other 23 years I try to forget because they weren’t happy years except that I know that my customers and other teams customers were treated and helped as much as I could help them despite those two levels above me.
I want to note that half of my direct managers were great to work for and did a lot to try to shield me from two levels up because they knew that I was doing everything I could to make sure that employees computers were running the best they could between the programs I was responsible for and all of the ones that I created and was never asked for but pushed onto the organization after showing them to a large percentage of the support people who forced two levels up to push them onto everyone’s computers. If not for that my life would have felt VERY unfulfilled.
I believe that EVERYONE should have the same health benefits as those that supposedly represent us in government. I personally feel that nobody that represents us should have any benefits that are greater than the people they represent. Because who are you really representing when you life is significantly better than those you are SUPPOSED to be representing.
I also believe that we the people should be able to go on-line and grade our representatives each and every year and those grades should dictate whether or not they can vote themselves a raise. At the same time, if their grade is low enough, they should have to take a pay cut. And if they it TRULY low they should have take a MASSIVE pay cut. That would motivate them to TRULY represent us because they would only get paid well if we agree that they are representing us well.
But that’s just my opinion!
Sabon,
Yeah, pensions were good if you can find them. The only people I personally know with pensions are 1) older generations, and 2) government workers (and it turns out you are both, haha). In the private sector pensions have largely been replaced by self funded 401ks that come out of salary and shifting the risks of bad investments to the workers. If you’re lucky the company will match up to a certain amount but even then it can take time to become vested so not everyone who signed up for a 401k ends up receiving the full amount.
Yeah, I’ve been lucky not to experience too much toxicity in dealing with local companies. Not zero, but then I wasn’t really tied down to any one company so in that sense I had it easier. Although my biggest gripe has got to be that working for SMBs typically pays poorly and there’s a lot of pressure to cut corners. I hate this aspect of gig work, but if I put myself in my customer’s shoes I get it, many of them are struggling to stay in business. Amazon has single handed strangled what was once a booming ecommerce market.
I’m glad you have fond memories of things like that. I like having a sense of accomplishment, that feels good. I have some projects I am fond of too. Given that my main line of work was programming business applications for business requirements, I find most of the work tedious rather than innovative. Like most people, I entered CS thinking about more exciting prospects in my head only to realize later most employers only want to do the boring stuff, haha.
I didn’t know you worked in government. My wife does as well and we’re fortunate that her job covers family medical benefits because my job doesn’t. Before that I was paying for insurance myself at around $1.5/mo. Honestly all the savings I have are thanks to not having to pay for insurance. And somehow things keep getting much worse. I think there were projections that tens of millions will be loosing insurance altogether next year because families obviously can’t afford it and congress refused to extend the ACA subsidies. Yet they extended the tax cuts for wealthy businesses, because of course they did.
Yes, I’d say there are two problems. 1) congress failure to represent the people is certainly a big one. But the other problem is 2) there are still people voting for this crap either because they are benefactors of a corrupt system, or they are dimwitted sheep who let themselves be manipulated through us-vs-them politicos to distract from the fact that their elected politicians are actively hurting their own interests.
All legs of governments have become hyper partisan; shitting on the constitution is acceptable now and the supreme court doesn’t care. Checks and balances are severely damaged. Now all three branches have given the green light to partisan gerrymandering in order to keep hold of power. Gerrymandered districts are intrinsically undemocratic and designed to protect politicians from voters. The gerrymandering that’s underway across the country is going to make it much harder to vote out incumbents even if they are unpopular. Hopefully we can still save democracy while it is still breathing, but sadly authoritarian actors are actively killing it
Quote: I’m glad you have fond memories of things like that. I like having a sense of accomplishment, that feels good. I have some projects I am fond of too. Given that my main line of work was programming business applications for business requirements, I find most of the work tedious rather than innovative. Like most people, I entered CS thinking about more exciting prospects in my head only to realize later most employers only want to do the boring stuff, haha. End Quote
Remind me how to show things in quotes in here. I’m having troubles remembering how which is a large part of why I NEEDED to retire.
Anyway, I think I would have gone insane became I felt the same way about the programs that I maintained. But my sanity remained because of how much I respected the people that used my programs knowing what it felt like on both ends of creating and using programs and knowing good programs from s**t programs.
It’s also why I put in the energy and extra effort to write the programs nobody asked for but which helped everyone on both sides (users and people that supported them). That is what helped keep me from quitting that job and running my retirement.
And YES, I totally get that employees are getting screwed now which is why I’m such a big supporter of unions and those that support unions. More and more workers are ending up like they were just before they literally had to go to work to get respect and get the salaries and benefits they deserved.
Quote: I didn’t know you worked in government. My wife does as well and we’re fortunate that her job covers family medical benefits because my job doesn’t. Before that I was paying for insurance myself at around $1.5/mo. Honestly all the savings I have are thanks to not having to pay for insurance. And somehow things keep getting much worse. I think there were projections that tens of millions will be loosing insurance altogether next year because families obviously can’t afford it and congress refused to extend the ACA subsidies. Yet they extended the tax cuts for wealthy businesses, because of course they did. End Quote
I don’t usually like to tell people over the internet that I worked for a government organization. My insurance also covered my wife like your wife’s covers you. I know that our standard of living would have decreased a lot due to medical bills that both of us have had. Between insurance and my pension, I feel EXTREMELY lucky.
The way I got my government job is because of when I worked for a bank. We had a boss from hell. That’s what all the people that we supported called our boss. I didn’t have to say it, EVERYONE was saying it.
My boss tried to threaten me with insubordination because I wouldn’t do illegal things they wanted me to do. They kept threatening to take me to HR and cause trouble for me. Since I, and everyone I knew, KNEW I was on the right side of the law I had no fear and would pick up my coat and say, “Let’s go right now” and my boss had to drop it because they knew that if ANYONE got fired it would be them.
The thing that really pissed me off is that HR KNEW about my boss and what they were trying to get us to do and did nothing about it. It was mostly because they were having an affair with a senior manager which had authority over HR which is why HR did nothing about either of them.
The only reason I didn’t look for someone (maybe even the FBI) was because I knew that our bank was going to be bought by a national bank and everyone from top to bottom would have to apply for their job to try to keep it.
Neither my boss nor that SVP got rehired. In fact, only about 15% of those that worked for the bank I worked for got rehired. I was the only person in my group that got rehired. HR from my bank actually fought to keep me by telling the HR from the buying bank how ethical I was and how hard of a worker I was and they could ask 99% of the people that worked for the bank that if they kept anyone it should be me.
I found that out four years after my bank was bought. Someone who was leaving the bank and had worked for both told me about it before they left.
Anyway, five years after my bank was bought, one of the my fellow employees that worked for the boss from hell, who had left because they didn’t want to deal with that s**t, sent me a HUGE letter telling me that IT for there govt IT department needed someone who was great with working with very difficult people and I was the first person that he thought of.
I went to talk to him expecting the talk to only be with him. It turned out it was him and eight people from the government agency that he had talked to about me wanted to be in on the interview. They asked me questions for an hour and a half and then thanked me for coming. Before I got home (which took about a half hour) they had left several messages with my wife asking me to call them as soon as possible. This was back in 1996 before cell phones. I called them and they told me they really, really wanted me to come and work for the govt agency and what they offered me was 35% more than I was making at the bank with better benefits.
It just so happened that the bank was announcing record profits but they also told us that they wanted volunteers to be laid off. Everyone was stunned and very unhappy when I raised my hand telling them that I had a job offer that far exceeded what I was making for the bank and I wanted to be laid off.
They kept offering me 5, 6, 7% more to try to keep me. Finally I told them that the job I was taking was going to pay me 35% more than what they were paying me. They told me they weren’t authorized to go more than 10%.
I could tell you a lot more but I doubt everyone else would be interested. If you are interested or people want me to post some of my stories you and they can just ask. And if you want to take it off of here, just let me know your email address and we can email each other. It would be too much for texting.
Quote: Yes, I’d say there are two problems. 1) congress failure to represent the people is certainly a big one. But the other problem is 2) there are still people voting for this crap either because they are benefactors of a corrupt system, or they are dimwitted sheep who let themselves be manipulated through us-vs-them politicos to distract from the fact that their elected politicians are actively hurting their own interests.
All legs of governments have become hyper partisan; shitting on the constitution is acceptable now and the supreme court doesn’t care. Checks and balances are severely damaged. Now all three branches have given the green light to partisan gerrymandering in order to keep hold of power. Gerrymandered districts are intrinsically undemocratic and designed to protect politicians from voters. The gerrymandering that’s underway across the country is going to make it much harder to vote out incumbents even if they are unpopular. Hopefully we can still save democracy while it is still breathing, but sadly authoritarian actors are actively killing it End Quote
I agree with everything you said. Our federal government has gotten VERY corrupt with lots of grifting going on and people are voting for these very corrupt people thinking that they will make their lives better when they are getting ripped off right and left and don’t seem to understand what is happening to me.
Sabon,
It’s the html blockquote tag…
<blockquote>Quoted text</blockquote>
I understand.
I am not comfortable posting email addresses publically, but I give Thom permission to privately send you my registered email address if he reads this.
I don’t do texting 🙂
Yeah, growing up we were taught about external threats, but I worry the heath of democracy is declining from internal sabotage – I don’t think we are prepared for this.
D’oh! I’ve been working on a large spreadsheet for tracking a basketball team for personal use. I guess my mind is stuck on that and not letting me think of simple things like block quotes.
My texting is limited to the people that I personally know. And I don’t give out my email address for the same reasons.
I’ve lived through the 1960s until now which means Vietnam, Korea, gulf wars, etc., etc. And now are biggest threat is internal. Sigh!