A friend has run into a problem where they installed Windows 7 from an external drive, and the internal boot drive is now assigned to H:. Theoretically this shouldn't cause problems because there are programming interfaces for getting the drive letter for the system drive. In practice though, there are quite a few programs that assume that C: is the only possible location for the system directories, and they refuse to run with the system directories on H:. That's not Microsoft's fault, but it's a pain none-the-less. The general consensus seems to be that a re-install, setting the internal boot drive to C:, is the only way to fix these problems.

UNIX-like systems display all file systems in a single unified directory tree and mostly seem to avoid problems like this. Is it possible to configure a Windows system without reference to drive letters, or does the importance of backwards compatibility mean that Windows will be working with drive letters from now until doomsday?

  • 1
    Sorry to say, but the date's been pushed back 10 years to 2022. We [I] are terribly sorry for the delay. If you have any questions, please hesitate to contact me. – Mateen Ulhaq Dec 23 '10 at 4:27
  • 5
    You answered your question yourself. If programs choke on something "simple* like this, imagine the problems a fundamental change causes. Remember all the permissions issues when Microsoft decided they didn't like everyone writing everywhere on the file system and users having admin capabilities all the time? – Daniel Beck Dec 23 '10 at 4:47

Microsoft has always made backwards compatibility a huge priority. It is exactly because of all those applications which assume C:\, or even the generic pattern of Drive:\path\ that they can't move to a structure like UNIX. All Windows applications are based on the assumption that paths will start with a drive letter (if they aren't a relative path). It is unlikely that this will be changed any time soon.

Some applications, when run in compatibility mode, may work properly with a non-standard installation drive.

Something which might work (I haven't tried, but will later and will add details) would be to create a small partition, name it C:, and mount the various system drives from H: in folders within the C: drive. That way, when a program requested C:\Program Files, it would be accessing the folder in H:\Program Files, mounted in the C: drive.

  • 5
    +1, If programs choke when C:\ isn't correct, imagine how they'd behave when the entire concept of drive letters goes away! – Stephen Jennings Dec 23 '10 at 4:19
  • I don't know: I bet they could allow drive stings without breaking too many things, as long as your boot partition is still limited to one character. So you could have a drive named something like: `FILES:\`. But the pain level hasn't been high enough to justify implementing it. – Joel Coehoorn Dec 23 '10 at 5:10
  • Actually drive strings are already there, and have been for a long time, in the form of UNC names; what I really wish they would change is allowing either \ or / as the component separator. I really don't see why the file system can't support C:\xxx and '/xxx' (and even //C/xxx) simultaneously. – Lawrence Dol Dec 24 '10 at 0:40
  • @LawrenceDol Some Windows (DOS?) programs expect an option/flag to start with / (instead of -) on Windows and will complain if paths contain it. – Agi Hammerthief May 26 '17 at 9:06
  • @AgiHammerthief: True, but then you just can't use slash separated names on the command line. – Lawrence Dol May 26 '17 at 18:00

use the subst ms-dos command which adds a drive letter for an existing drive letter or folder

  • 4
    Getting rid of drive letters isn't exactly accomplished by adding a few more. – Daniel Beck Dec 23 '10 at 4:45
  • 3
    Still, it would solve the problem described. I think the downvote was unjustified. – itsadok Dec 23 '10 at 6:54
  • @itsadok I didn't downvote this answer. Actually, nobody did, as I can see per this privilege. And, while probably helpful to the OP, this doesn't answer the question he or she actually posed, which is more fundamental. – Daniel Beck Dec 23 '10 at 7:55
  • I do think this is actually a very viable potential solution to their immediate problem, though perhaps not so effective long-term. – nhinkle Dec 23 '10 at 9:00

While we may be stuck with drive letters until doomsday, you can change them from Start → Programs → Administrative Tools → Computer Management → Storage → Disk Management. Right-click the volume and select "Change Drive Letter".

  • 6
    This is all true, but keep in mind that Windows will not let you change the drive letter of the boot partition, as doing so would break every single hard-coded link on the whole OS. – nhinkle Dec 23 '10 at 4:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.