10

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?

2
  • 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. Dec 23, 2010 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, 2010 at 4:47

3 Answers 3

7

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.

6
  • 5
    +1, If programs choke when C:\ isn't correct, imagine how they'd behave when the entire concept of drive letters goes away! Dec 23, 2010 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. Dec 23, 2010 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. Dec 24, 2010 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. May 26, 2017 at 9:06
  • @AgiHammerthief: True, but then you just can't use slash separated names on the command line. May 26, 2017 at 18:00
5

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

4
  • 4
    Getting rid of drive letters isn't exactly accomplished by adding a few more.
    – Daniel Beck
    Dec 23, 2010 at 4:45
  • 3
    Still, it would solve the problem described. I think the downvote was unjustified.
    – itsadok
    Dec 23, 2010 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, 2010 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, 2010 at 9:00
2

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

1
  • 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, 2010 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.