为什么我们仍然必须使用驱动器号来识别文件系统?


10

一位朋友遇到了一个问题,他们从外部驱动器安装了Windows 7,现在将内部启动驱动器分配给了H:。从理论上讲,这应该不会引起问题,因为有用于获取系统驱动器驱动器号的编程接口。但是实际上,有许多程序假定C:是系统目录的唯一可能位置,并且它们拒绝与H:上的系统目录一起运行。那不是微软的错,但是那仍然是一种痛苦。普遍的共识似乎是重新安装并将内部启动驱动器设置为C:是解决这些问题的唯一方法。

类似UNIX的系统将所有文件系统显示在一个统一的目录树中,并且大多数情况下似乎避免了此类问题。是否可以在不参考驱动器号的情况下配置Windows系统,或者向后兼容性的重要性意味着Windows从现在开始直到世界末日都将使用驱动器号?


1
不好意思说,但是日期已经推迟了10年,到2022年。对于延迟时间,我们[感到非常抱歉]。如有任何疑问,请随时与我联系。
Mateen Ulhaq 2010年

5
您自己回答了问题。如果程序在“像这样的简单*”上阻塞,请想象一下根本性的变化会导致什么问题。还记得所有权限问题,当Microsoft决定他们不希望每个人都在文件系统上到处都是写的,而用户又不想一直拥有管理员功能时吗?
Daniel贝克

Answers:


7

微软一直将向后兼容性作为首要任务。正是由于所有这些应用程序都假定C:\,甚至是通用模式Drive:\path\,也无法迁移到UNIX之类的结构。所有Windows应用程序均基于以下假设:路径将以驱动器号开头(如果它们不是相对路径)。这不太可能很快改变。

在兼容模式下运行时,某些应用程序可以与非标准安装驱动器一起正常工作。

一些东西,可能工作(我还没有尝试过,但稍后并会添加详细信息)是创建一个小分区,命名C:,并从安装各种系统驱动器H:中的文件夹内的C:驱动器。这样,当程序请求时C:\Program Files,它将访问驱动器中H:\Program Files安装的中的文件夹C:


5
+1,如果程序在C:\不正确时阻塞,请想象一下,当整个驱动器号概念消失时它们的行为会如何!
斯蒂芬·詹宁斯

我不知道:我敢打赌,只要引导分区仍然限制为一个字符,它们就可以允许驱动器刺痛而不会破坏太多东西。因此,您可以拥有一个名为“ FILES:\”的驱动器。但是,痛苦程度还不够高,不足以证明实施它是合理的。
乔尔·科恩荷恩

实际上,驱动器字符串已经以UNC名称的形式存在,并且已经存在了很长时间。我真正希望它们会更改的是允许使用\或/作为组件分隔符。我真的不明白为什么文件系统不能同时支持C:\ xxx和'/ xxx'(甚至// C / xxx)。
劳伦斯·多尔

@LawrenceDol某些Windows(DOS?)程序期望Windows上的选项/标志以/开头(而不是-),并且会抱怨路径中是否包含该选项/标志。
Agi Hammerthief

@AgiHammerthief:是的,但是您不能在命令行上使用斜杠分隔的名称。
劳伦斯·多尔

5

使用subst ms-dos命令为现有驱动器号或文件夹添加驱动器号


4
删除驱动器号并不能完全通过添加一些来完成。
丹尼尔·贝克

3
仍然可以解决上述问题。我认为反对票是没有道理的。
itsadok 2010年

@itsadok我没有拒绝这个答案。实际上,没有人这样做,正如我可以通过此特权看到的那样。而且,尽管这可能对OP有所帮助,但这并不能回答他或她实际提出的问题,这是更根本的问题。
丹尼尔·贝克

我确实认为这实际上是解决他们眼前问题的一种非常可行的潜在解决方案,尽管从长期来看可能不是那么有效。
nhinkle 2010年

2

虽然我们可能会一直坚持使用驱动器号直到世界末日,但是您可以从开始→程序→管理工具→计算机管理→存储→磁盘管理来更改它们。右键单击该卷,然后选择“更改驱动器号”。


6
确实如此,但请记住,Windows不允许您更改启动分区的驱动器号,因为这样做会破坏整个操作系统上的每个硬编码链接。
nhinkle 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.