什么是Linux驱动器命名方案?

在Windows中; 你有C:\驱动器。 这是安装Windows的主要驱动器。

但是,Linux使用不同的命名方案: sdasdb[1-4]等。任何人都可以给我一个简短的概述,这样我可能真的理解它而不是被它搞糊涂了吗?

一般来说,字母(fd, sd, hd)是指设备类型('SATA, SCSI/SATA, IDE') ,第三个字母是设备订单(第一个字母,第二个字母是第二个,等等)和数字指的是设备具有的分区,从零开始。

  • hd指的是IDE类型的驱动器
  • sd通常指的是SCSI驱动器,但主要用于SATA驱动器和CD / DVD
  • fd是软盘

例如:

  • 第一个(a)SATA驱动器上的第一个(1)分区是/dev/sda1
  • 第二个(b)SATA驱动器上的第三个(3)分区是/dev/sdb3
  • 第二个(b)IDE硬盘的第二个分区(2)是’/ dev / hdb2′

此设备命名更多是后台命名,作为访问目录挂载点的实际点。

我认为以下三篇文章对你有所帮助:

为了清楚起见,在Windows端,您将文件系统命名与驱动器命名混淆。 Windows几乎完全隐藏了驱动器命名,但是您可以在注册表中看到示例以及编辑boot.ini文件。 磁盘引用可能如下所示:

 multi(0)disk(0)rdisk(0)partition(1) 

您还可以在磁盘管理器工具中查看单个磁盘。 我提出这个问题的原因是ntfs文件系统允许你玩各种游戏。 您可以将单独的磁盘同时安装到C:中的文件夹和另一个驱动器,而未安装的磁盘可能根本没有驱动器号。 所以不要将文件系统与磁盘命名混淆。

Linux在这里类似。 sda1是一个常见的分区名称,但它可以安装在文件系统的任何位置。

虽然SCSI和SATA将在主流台式机和笔记本电脑配置中继续存在一段时间,但在/dev/mmcblk*p*命名方案中使用eMMC存储的移动设备已经存在了几年,而非SATA高性能NVMe SSD( /dev/nvme*n* )并不遥远。

Pavlos G.大部分都是正确的,但是/ dev / hd **已经不再被IDE硬盘(和CD驱动器)使用了,他们自从内核2.6.19开始使用/ dev / sd **(和7.10以来的ubuntu,〜 2007)

你真的不应该依赖sd *命名方案。 它可以根据驱动器旋转,热插拔和其他存储适配器而发生巨大变化。 用于唯一地寻址设备的最佳方法是持久链接,例如/dev/disk/by-id/ 。 Linux没有“从第一个磁盘启动”的限制,也可以通过标签安装驱动器,因此驱动器排序实际上是无关紧要的。