为什么系统分区是 C:\,而不是 A:\ 或者 B:\?
我知道 A:\ 是用于软盘驱动器的,但为什么不使用 B:\?为什么软盘驱动器被用作 A:\,好像它比系统驱动器更重要?
关于重复的帖子,我将粘贴下面发布的评论,因为它总结了我的想法:
引用 Michael Kjörling 的话:
我不确定我是否同意那个重复的建议。建议的重复问题是“A: 和 B: 是什么,在哪里?”而这个问题是“为什么系统分区标记为 C:?”。这两个问题肯定是相关的,答案将从许多相同的知识中得出,但重点不同
答案1
哦,历史的翅膀。
在 Windows 历史上,这可以追溯到 1981 年在 IBM PC 上运行的原始 PC-DOS。(而它的血统又可以追溯到 20 世纪 70 年代后半期的 CP/M。)
IBM PC 最初不支持硬盘驱动器。除了硬盘价格异常昂贵之外,PC 也没有足够强大的电源来支持硬盘。你可以改装 HDD,这需要更换电源、添加磁盘控制器卡并安装硬盘本身,但很少有人这样做。
我记得,PC-DOS 1.x 甚至不支持硬盘。PC-DOS 2.0 引入了硬盘,并增加了对文件系统目录的支持。在 PC-DOS 1.x 中,对内容进行分类的方式是使用不同的软盘来存放情书、商业电子表格、食谱集等。在 PC-DOS 2.0 之后,这很可能仍是一种对内容进行分类的常用方式,直到 20 世纪 80 年代后半期硬盘成为常见的 PC 配件。
不过,最初的 IBM PC 确实支持最多两个软盘驱动器。有些系统甚至支持四软盘驱动器,在这种情况下,额外的软盘驱动器在早期版本的 MS-DOS 中被标记为C:
和D:
,第一个硬盘的第一个分区被称为E:
,但这是一种不常见的配置。早期的 BIOS 至少允许最多四个软盘驱动器,通过使用两个位(可能的值:0、1、2、3)来返回软盘驱动器的数量少一个(因此 1、2、3 或 4)安装在 BIOS 中获取设备清单功能;这很快就被获取磁盘类型该函数原则上可以支持最多 128 个软盘驱动器,但需要完整的 256 次调用才能完成完整的存储设备枚举。
在 DOS 中,第一张软盘仍然称为 ,A:
而第二张软盘称为B:
。
由于一个或两个软盘驱动器是一种非常常见的配置,因此使用下一个可用字母作为第一个硬盘的第一个分区是有意义的,而不是简单地使用第一个可用驱动器字母。因此,C:
诞生了。然而,早期版本的 MS-DOS可以将第一个硬盘分区推到驱动器号比C:
安装其他软盘驱动器时晚。(有关如何完成分配的更深入讨论,请参阅我的问题当有两个以上的软盘驱动器时,MS-DOS 如何分配驱动器号?在 Retrocomputing SE 上。)由于 DOS 无法从非主分区启动(扩展分区是后来的另一项发明),而 IBM BIOS 没有从除第一个可读驱动器之外的任何驱动器启动的能力,因此很可能决定将第一个硬盘的第一个分区称为C:
即使没有A:
或B:
。对大多数系统中常见的事物进行固定的指定很有用,因为它允许软件提供合理的默认值,文档提供合理的示例,而无需大量的“如果”和“但是”。最终,多软盘驱动器配置不再受欢迎。
还要注意的是,在那个年代,硬盘足够小,因此通常不建议对它们进行分区,除非是专门的工作负载。20兆字节曾是大的, 和40 兆完全是巨大的。我记得,直到 PC-DOS 3.1 才引入 FAT16,它允许使用大于 32 MB 的分区,而使用 FAT12 格式化即使 32 MB 的分区也已经非常浪费,因为它导致最小分配大小为 8 KB,占整个分区容量的 0.024%,并且允许在分区上存储最多 4,068 个文件。
如今,我们很少安装软盘驱动器,因此 A: 和 B: 已不再常用。但是,将第一块硬盘上的第一个分区称为 C: 的决定仍然有效,因此在 Windows 上我们谈论的是 C: 而不是 A:。
请注意 C: 指的是第一个分区第一个物理硬盘驱动器;不是驱动器本身。DOS 没有提供用户友好的方式来寻址物理驱动器本身,但 BIOS 提供了,称其为驱动器号 128+n在哪里n是驱动器的 0 索引号。另一方面,BIOS 没有分区的概念。(软盘驱动器编号n,同样n是 0 索引。因此,在当时的常见配置中,A:
是驱动器 0,B:
是驱动器 1,C:
是驱动器 128 上的第一个分区。在使用 8 位数寻址物理驱动器的方案中(IBM PC 的设计人员在 1980-1981 年选择了这种方案),以 128 为边界意味着设置或清除单个位,这使得在包括 BIOS 和 OS 在内的软件中进行测试变得微不足道。)
当然,其他操作系统对分区和驱动器的寻址方式也不同。Linux 通常使用 /dev/sd坐标在哪里X是一封信,是是一个数字,用于寻址特定分区(以及该分区上用于访问其上文件的文件系统的挂载点);其他类 Unix 系统具有类似但不同的设备命名方案。