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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .