[OT] Microsoft maldesign and drive letters
I've just been sweating through a common problem that exemplifies Microsoft's penchant for bad design: keeping drive letters straight when adding a hard drive or reconfiguring partitions. The problem, as most folks here probably know, is that if you add a hard drive or a disk partition to your system, drive letters change in a way that you cannot control or modify. That naturally messes up all references to files on the drives whose letters have changed. And needless to say, Unix (ergo Linux) has a perfectly straightforward solution to the problem: all devices hang off the root filesystem via mounts. You rejigger a drive, you change /etc/fstab and that's the end of it. Of course, Windows is stuck with the problem of backward compatibility. Yet ironically enough, at one time DOS (yes, DOS!) supported a workaround with the SUBST command that enabled you to redefine one drive letter into another. With SUBST you could work entirely with virtual drive letters and never have to reference the real ones. SUBST went out with the transition to Win 3.1, I believe; I haven't seen it for years. The real maldesign, though, is that there is a simple way that MS could have its cake of backward compatibility and still provide flexibility in adding hard drives: provide a "reverse SUBST" that would associate a directory with a drive. In other words, something like C:\AUX_DRIVE would be associated with, say, the G: drive. That would make C:\ equivalent to the Linux root, and all file references would then be to locations on the C drive. Why not? Paul
Partition Magic tries to get around this by searching your drives etc. and correcting the references... it works some of the time - enough that I used it every time I changed drives around. Later C. Paul Abrahams wrote:
I've just been sweating through a common problem that exemplifies Microsoft's penchant for bad design: keeping drive letters straight when adding a hard drive or reconfiguring partitions. The problem, as most folks here probably know, is that if you add a hard drive or a disk partition to your system, drive letters change in a way that you cannot control or modify. That naturally messes up all references to files on the drives whose letters have changed.
And needless to say, Unix (ergo Linux) has a perfectly straightforward solution to the problem: all devices hang off the root filesystem via mounts. You rejigger a drive, you change /etc/fstab and that's the end of it.
Of course, Windows is stuck with the problem of backward compatibility. Yet ironically enough, at one time DOS (yes, DOS!) supported a workaround with the SUBST command that enabled you to redefine one drive letter into another. With SUBST you could work entirely with virtual drive letters and never have to reference the real ones. SUBST went out with the transition to Win 3.1, I believe; I haven't seen it for years.
The real maldesign, though, is that there is a simple way that MS could have its cake of backward compatibility and still provide flexibility in adding hard drives: provide a "reverse SUBST" that would associate a directory with a drive. In other words, something like C:\AUX_DRIVE would be associated with, say, the G: drive. That would make C:\ equivalent to the Linux root, and all file references would then be to locations on the C drive.
Why not?
Paul
smaug42 wrote:
Partition Magic tries to get around this by searching your drives etc. and correcting the references... it works some of the time - enough that I used it every time I changed drives around.
Actually, at the moment I'm trying to recover from a situation that PM has trouble with: interchanging two drive letters. Maybe it can be done by going D->Z, E->D, Z->E. Dunno. But it shouldn't even be necessary. Paul
Hello, Paul. Actually, Windows 2000 allows you to do this, to a degree. If you add a new hard drive to a system, when you partition it out, you can select any drive letter you like (NT also allows this), or you can tell the system to mount it to a directory under a different drive. As far as I know, you can only do this with hard drives, though, not removable media. However, you can assign a different drive letter to a removable media drive. Credit where it is due, MS have addressed this issue at long last. I went off drive letters a long time ago when my local drives now run up as far as I: on my W2K box. What with multiple hard drives, CDs, DVD, CD Burner, smart media adapter etc, it starts to get a bit silly after a while. And, if you're interested, MS has also done a half-brained attempt at symbolic links at last, too. Unfortunately, it only happens on RIS volumes (Remote Installation Service) and is something the system does automatically to save space on said volume. User volumes still do not have this capability. Bye for now, Stuart. -----Original Message----- From: pwa@chmls20.mediaone.net [mailto:pwa@chmls20.mediaone.net]On Behalf Of Paul Abrahams Sent: Sunday, May 06, 2001 9:36 AM To: SuSE listserve Subject: [SLE] [OT] Microsoft maldesign and drive letters <snip> The real maldesign, though, is that there is a simple way that MS could have its cake of backward compatibility and still provide flexibility in adding hard drives: provide a "reverse SUBST" that would associate a directory with a drive. In other words, something like C:\AUX_DRIVE would be associated with, say, the G: drive. That would make C:\ equivalent to the Linux root, and all file references would then be to locations on the C drive. Why not? Paul </snip>
Stuart Powell wrote:
Hello, Paul.
Actually, Windows 2000 allows you to do this, to a degree. If you add a new hard drive to a system, when you partition it out, you can select any drive letter you like (NT also allows this), or you can tell the system to mount it to a directory under a different drive.
I didn't know that. If you create several partitions, can you control all the letters independently? Can you change them later? And is the ability to mount to a directory as flexible as the Linux approach to mounting?
As far as I know, you can only do this with hard drives, though, not removable media. However, you can assign a different drive letter to a removable media drive.
I can live with that, as I have under Win98. References to files on mountable media are exceedingly rare.
Credit where it is due, MS have addressed this issue at long last.
But it still hasn't percolated through to the consumer-level systems such as Windows ME, I gather. I wonder if WinXP will have it.
I went off drive letters a long time ago when my local drives now run up as far as I: on my W2K box. What with multiple hard drives, CDs, DVD, CD Burner, smart media adapter etc, it starts to get a bit silly after a while.
Drive letters are silly anyway. Look at that ridiculous B drive, for the second floppy!!!!
And, if you're interested, MS has also done a half-brained attempt at symbolic links at last, too. Unfortunately, it only happens on RIS volumes (Remote Installation Service) and is something the system does automatically to save space on said volume. User volumes still do not have this capability.
And of course that's where they're most needed. Shortcuts also provide a feeble version of symlinks. Paul
* Paul Abrahams [Sun, 06 May 2001 11:22:16 -0400]:
I didn't know that. If you create several partitions, can you control all the letters independently? Can you change them later?
Yes to all. But you'll still need a tool like CleanSweep to fix up references when you change them later :-(
But it still hasn't percolated through to the consumer-level systems such as Windows ME, I gather. I wonder if WinXP will have it.
As XP is more a consumer version of w2k (with IMHO horrible choices of colours and a really horrible user interface), it won't run on top of DOS anymore and will offer that feature. That is, if you're willing to accept the unavoidable registration. -- Penguins to save the dinosaurs -- Handelsblatt on Linux for S/390
Philipp Thomas wrote:
* Paul Abrahams [Sun, 06 May 2001 11:22:16 -0400]:
I didn't know that. If you create several partitions, can you control all the letters independently? Can you change them later?
Yes to all. But you'll still need a tool like CleanSweep to fix up references when you change them later :-(
Unlike Linux, of course, where a change to fstab affects very little else. Paul
Paul Abrahams a écrit :
I've just been sweating through a common problem that exemplifies Microsoft's penchant for bad design: keeping drive letters straight when adding a hard drive or reconfiguring partitions. The problem, as most folks here probably know, is that if you add a hard drive or a disk partition to your system, drive letters change in a way that you cannot control or modify. That naturally messes up all references to files on the drives whose letters have changed.
And needless to say, Unix (ergo Linux) has a perfectly straightforward solution to the problem: all devices hang off the root filesystem via mounts. You rejigger a drive, you change /etc/fstab and that's the end of it.
Of course, Windows is stuck with the problem of backward compatibility. Yet ironically enough, at one time DOS (yes, DOS!) supported a workaround with the SUBST command that enabled you to redefine one drive letter into another. With SUBST you could work entirely with virtual drive letters and never have to reference the real ones. SUBST went out with the transition to Win 3.1, I believe; I haven't seen it for years.
The real maldesign, though, is that there is a simple way that MS could have its cake of backward compatibility and still provide flexibility in adding hard drives: provide a "reverse SUBST" that would associate a directory with a drive. In other words, something like C:\AUX_DRIVE would be associated with, say, the G: drive. That would make C:\ equivalent to the Linux root, and all file references would then be to locations on the C drive.
Why not?
'cause it's bright. Nothing for M$ here. -- Alain DIDIERJEAN 01 64 23 10 15 I was born too young ~adj~ 06 74 53 71 81 in too old a world...
strangely, i've found with partition magic, I can hold order as long as I
keep the partitions in order.
ie
hda1 = c:
hda5 = d: (logical in extended)
hda12=e: (primary)
this may be of help but yes win$ does make it hard.
scsijon
----- Original Message -----
From: "Paul Abrahams"
I've just been sweating through a common problem that exemplifies Microsoft's penchant for bad design: keeping drive letters straight when adding a hard drive or reconfiguring partitions. The problem, as most folks here probably know, is that if you add a hard drive or a disk partition to your system, drive letters change in a way that you cannot control or modify. That naturally messes up all references to files on the drives whose letters have changed.
And needless to say, Unix (ergo Linux) has a perfectly straightforward solution to the problem: all devices hang off the root filesystem via mounts. You rejigger a drive, you change /etc/fstab and that's the end of it.
Of course, Windows is stuck with the problem of backward compatibility. Yet ironically enough, at one time DOS (yes, DOS!) supported a workaround with the SUBST command that enabled you to redefine one drive letter into another. With SUBST you could work entirely with virtual drive letters and never have to reference the real ones. SUBST went out with the transition to Win 3.1, I believe; I haven't seen it for years.
The real maldesign, though, is that there is a simple way that MS could have its cake of backward compatibility and still provide flexibility in adding hard drives: provide a "reverse SUBST" that would associate a directory with a drive. In other words, something like C:\AUX_DRIVE would be associated with, say, the G: drive. That would make C:\ equivalent to the Linux root, and all file references would then be to locations on the C drive.
Why not?
Paul
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/support/faq and the archives at http://lists.suse.com
participants (6)
-
Alain DIDIERJEAN
-
Paul Abrahams
-
Philipp Thomas
-
scsijon
-
smaug42
-
Stuart Powell