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


28

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

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


1
值得注意的是,在正常使用中,您不需要使用/dev/sd*名称。您的C:驱动器等效于/(也称为根目录)。您可以转到文件管理器中的“计算机”来查看所有驱动器。
Thomas K

1
另请注意,MS Windows一直在尝试放弃驱动器盘符8(?)年的概念。对于Linux(和Ubuntu),我不会错过它们。
david6

Answers:


35

通常,字母(fd, sd, hd)表示设备类型('SATA, SCSI/SATA, IDE'),第三个字母表示设备顺序(a,第一个,b,第二个,依此类推),数字表示设备具有的分区,从零开始。

  • hd是指IDE型驱动器
  • sd通常指的是SCSI驱动器,但在SATA驱动器和CD / DVD中最流行
  • fd是软盘

因此,例如:

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

设备命名更像是背景命名,因为访问它的实际点是目录安装点。

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


6
此外,如果内核支持,大多数现代发行版都允许通过uuid(驱动器和其他存储设备的唯一标识符)来引用驱动器,在/dev/disk/by-uuid/该点上将有指向“标准” /dev/sd** 设备节点的符号链接。即使您在系统上随机移动驱动器,这也具有稳定引用驱动器的好处。
crasic

11

为了清楚起见,在Windows方面,您将文件系统命名与驱动器命名混淆了。Windows几乎完全隐藏了驱动器的命名,但是您可以在注册表中查看示例,并且可以编辑boot.ini文件。那里的磁盘参考可能像这样:

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

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

Linux与此处类似。sda1是公用分区名称,但是可以将其挂载在文件系统上的任何位置。


5

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


最好编辑接受的答案。
muru 2015年

@muru我对所有(当前)非零答案都投了赞成票,我很容易在每个评论上留下了评论。
LiveWireBT

1
我似乎找不到为eMMC和NVMe等设备命名的标准。看来,如果磁盘名称以数字结尾,那么您可以在分区号之前插入一个“ p”,但是最好确认一下!
车道

4

Pavlos G.基本上是正确的,但是IDE硬盘(和CD驱动器)不再使用/ dev / hd **,它们从内核2.6.19开始一直使用/ dev / sd **(从7.10开始使用ubuntu,〜 2007)


2

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

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.