为什么当我移动驱动器时 sdX 没有改变?

为什么当我移动驱动器时 sdX 没有改变?

我在服务器 hdd0 (sda)、hdd1(sdb) 和 hdd2(sdc) 中有 3 个 HDD。

然后我交换 hdd1 和 hdd2,所以现在 hdd2 位于第二个插槽,hdd1 位于第三个插槽(这也由 RAID BIOS 确认)

但是当我启动到linux时,现在的hdd1保留了它以前的名称sdc,而hdd2仍然是sdb

所以现在是这样的 hdd0 (sda)、hdd1(sdc) 和 hdd2(sdb)

有人可以解释这是为什么吗?

谢谢

答案1

更多的规则可以取代。第一个硬盘检测是由 BIOS (UEFI) 进行的。它检查每个 ATA 线路,如果得到有效响应,它可以将其报告给操作系统。某些 BIOS 会保留该顺序,因此如果某些 ATA 线路没有响应,则其字母将被保留(sda、sdb、sde、sdf)。您还可以遇到多线程 BIOS,它们同时询问所有行,并按顺序给出字母,磁盘给出它们的响应。因此,您可以在每次启动计算机时以及热重启后轻松获得新的顺序。这就是引导过程(例如 grub)不关心磁盘字母并查找正确的卷 UUID 或卷 LABEL 的原因。在使用RAID时,许多RAID管理器(例如mdadmin)将元数据写入磁盘空间上的某个位置,其中包含有关RAID成员的全部信息(主要是RAID UUID,成员UUID,成员顺序等)系统可以获取这些信息在 BIOS 信息之前。特殊规则也可以由 UDEV 子系统设置,其中磁盘字母可以通过例如硬盘的序列号来分配。

相关内容