Why do we still have to use drive letters to identify file systems?
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?
Solution 1:
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.
Solution 2:
use the subst ms-dos command which adds a drive letter for an existing drive letter or folder
Solution 3:
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".