![Linux 块设备命名](https://linux22.com/image/151294/Linux%20%E5%9D%97%E8%AE%BE%E5%A4%87%E5%91%BD%E5%90%8D.png)
我对 Linux 硬盘/存储设备、块文件的命名方式有点困惑。
我的问题是:
IDE 设备和分区是如何命名的?
EIDE 设备和分区是如何命名的?
PATA 设备和分区是如何命名的?
SATA 设备和分区是如何命名的?
SCSI 设备和分区是如何命名的?
最后,我一直在阅读有关此主题的文章,并且看到提到“主驱动器”和“从驱动器”。它们是什么,有什么用途,如何命名?
答案1
介绍
首先,所有设备都会填充该/dev
文件夹。
另外,值得注意的是,(E)IDE 和 PATA 术语通常指的是同一事物,即接口标准PATA。在这种情况下,IDE 和 PATA 是可以互换的术语。
Linux 内核版本 2.6 的发布前后,Linux 中块设备的命名约定发生了重大变化。内核通过以下方式支持所有 ATA 设备libATA,从 2003 年开始支持 SATA 设备,并扩展到当前的 PATA 支持。
因此,请注意,根据您的发行版和内核版本,驱动器命名约定可能会有所不同。
有一段时间,“现代”发行版上的 PATA 设备以 SATA 驱动器的方式命名,因为两者现在都使用 libATA。
对于您的发行版,您可以在 中找到它/lib/udev/rules.d/60-persistent-storage.rules
。
在我使用 Debian 9 的系统上,也是如此。例如:
$ cat /lib/udev/rules.d/60-persistent-storage.rules | grep "ATA"
# ATA
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi",
ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $devnode"
通过浏览此文件,您将知道您的发行版将如何命名您可以连接到计算机的每个块设备。
块设备命名约定
IDE驱动器
- IDE 驱动器(使用旧的 PATA 驱动程序)以“hd”为前缀
- IDE 控制器(主)上的第一个设备是
hda
- 第二个设备(从设备)是
hdb
- IDE 控制器(主)上的第一个设备是
由于一根 IDE 控制器/电缆上只能有两个驱动器,因此第一个是主驱动器,第二个是从驱动器。由于大多数主板都配有两个 IDE 控制器,因此第二个控制器的作用与第二个控制器相同:hdc
作为第二个控制器上的主驱动器和hdd
从驱动器。
请注意,从 Linux 内核 2.6.19 开始,对 IDE 驱动器的支持已与 SATA/SCSI 驱动器合并,因此将像它们一样命名。
SATA 和 SCSI 驱动器
此命名约定始于 SCSI 驱动器,并扩展到带有 libATA 的 SATA 驱动器。它适用于 SCSI、SATA、PATA 以及其他驱动器,超出了 OP 问题的范围(USB 大容量存储、FireWire 等)。无论如何,通常,现在所有使用串行总线的设备都使用相同的名称(NVMe 驱动器除外,但这对于 PCI 设备来说是一个故事)。
- SATA/SCSI 驱动器以“sd”开头
- 第一个是
sda
- 第二个是
sdb
- ETC。
- 第一个是
分区命名约定
关于分区,每个分区在每个磁盘的末尾都用一个数字表示,其命名如前所述,从 1 开始。除了OP中没有提到的一些其他设备外,情况总是如此。
例如,对于 SATA 驱动器上的分区,它们将被列为sda1
、sda2
等,对于主分区。逻辑分区从索引“5”开始,而扩展分区则从索引“4”开始。请注意,这显然仅适用于使用 MBR 而不是 GPT 的驱动器。
lsblk
下面,这是一个名为 的磁盘示例的输出sdd
,该磁盘具有 3 个主分区 ( sdd1
, sdd2
, sdd3
)、1 个扩展分区 ( sdd4
) 和 2 个逻辑分区 ( sdd5
, sdd6
)。
$ lsblk
sdd 8:48 1 1.9G 0 disk
├─sdd1 8:49 1 153M 0 part
├─sdd2 8:50 1 229M 0 part
├─sdd3 8:51 1 138M 0 part
├─sdd4 8:52 1 1K 0 part
├─sdd5 8:53 1 289M 0 part
└─sdd6 8:54 1 1.1G 0 part
主从设备
单个IDE接口可以支持两个设备。通常,主板配备双 IDE 接口(主接口和辅助接口),系统上最多可容纳四个 IDE 设备。
为了允许两个驱动器在同一条并行电缆上运行,IDE 使用称为主驱动器和从驱动器的特殊配置。此配置允许一个驱动器的控制器通知另一个驱动器何时可以与计算机传输数据或从计算机传输数据。这个名字的由来是因为从驱动器询问主驱动器是否正在与主板通信;如果主设备是,它会告诉从设备等待操作完成,但如果不是,它会告诉从设备继续操作。
由于“电缆选择”功能,可以选择主/从角色:您可以在支持此功能的每个驱动器上使用跳线来选择“主”、“从”或“自动”(最后一个选项意味着主位于 IDE 电缆的一端,从属电缆的另一端)。
答案2
找到一个旧参考它指的是除 SATA 之外的所有内容。
SATA 和 SCSI 驱动器/dev/sdX从哪里开始A指的是物理驱动器。
分区是/dev/sdX是 在哪里是表示该设备内的分区号(从 1 开始)。
在 Linux 内核 2.6.19 之前,EIDE 设备命名与 IDE 相同,与 PATA 相同(谢谢,悖论,用于记录更改!)
/dev/hda 是“主”控制器上的“主”驱动器。/dev/hdb
是“主”控制器上的“从”驱动器。/dev/hdc 是“辅助”控制器上
的“主”驱动器。/dev/hdd
是“辅助”控制器上的“从”驱动器。
每个驱动器设备后面都有一个数字来表示分区,从 1 开始。
从 Linux 内核 2.6.19 开始,EIDE、IDE 和 PATA 使用与 SCSI 和 SATA 相同的命名约定。