一个朋友遇到了一个问题,他们从外部驱动器安装了 Windows 7,现在内部启动驱动器被分配到 H:。理论上这不会导致问题,因为有用于获取系统驱动器盘符的编程接口。但在实践中,有相当多的程序假定 C: 是系统目录的唯一可能位置,并且它们拒绝与 H: 上的系统目录一起运行。这不是微软的错,但它仍然是一种痛苦。普遍的共识似乎是重新安装,将内部引导驱动器设置为 C:,是解决这些问题的唯一方法。
类 UNIX 系统将所有文件系统显示在一个统一的目录树中,并且似乎主要避免了此类问题。是否可以在不参考驱动器号的情况下配置 Windows 系统,或者向后兼容性的重要性是否意味着从现在到世界末日,Windows 将使用驱动器号?
Microsoft 一直将向后兼容性作为重中之重。正是因为所有那些假设的应用程序C:\,甚至是通用模式Drive:\path\,它们都不能移动到像 UNIX 这样的结构。所有 Windows 应用程序都基于路径以驱动器号开头的假设(如果它们不是相对路径)。这不太可能很快改变。
某些应用程序在兼容模式下运行时,可能会与非标准安装驱动器一起正常工作。
可能有用的东西(我没有尝试过,但稍后会添加详细信息)是创建一个小分区,命名它C:,然后从驱动器H:内的文件夹中安装各种系统驱动C:器。这样,当程序请求 时C:\Program Files,它将访问H:\Program Files安装在C:驱动器中的文件夹。
使用 subst ms-dos 命令为现有驱动器号或文件夹添加驱动器号