当设备文件顺序(sda、sdb ...)可能发生变化时,如何在 Debian 预置文件中指定可重现的磁盘分区?

当设备文件顺序(sda、sdb ...)可能发生变化时,如何在 Debian 预置文件中指定可重现的磁盘分区?

我将使用 preseed 机制(添加到 initrd 的 preseed 文件)来自动安装 Debian。待配置的计算机具有多个 SATA 磁盘。

我想在预置文件中准确指定将哪个分区放在哪个磁盘上。当然,通过指定关联的设备文件(sda、sdb、sdc)这是可能的。但是,如果我理解正确的话,磁盘和设备文件之间的关联并不是一般情况下先验定义的,在某些情况下甚至可能在重新启动后发生变化。我特别关心 U 盘或其他便携式硬盘。我自己也遇到过这样的情况,在安装过程中,U盘是/dev/sda。

那么,如何确保每次使用预置的 ISO 映像进行安装时,将正确的分区放置在正确的磁盘上?

答案1

根据@MarkPlotnick 的评论总结了答案:关键是要理解,有多个设备文件代表同一个驱动器。最知名的是 /dev/sda、/dev/sdb 等,其中的顺序没有明确定义。但是,也可以使用 /dev/disk/by-id 中的设备文件来引用驱动器。这些设备文件与磁盘的序列号绑定,因此被明确且可再现地定义。事实证明,我可以使用预置中的这些设备文件来替换 /dev/sda 等。

相关内容