Debian

當設備文件順序(sda,sdb …)可能發生變化時,如何在 Debian 預置文件中指定可重現的磁碟分區?

  • April 8, 2020

我即將通過使用 preseed 機制(添加到 initrd 的 preseed 文件)來自動安裝 Debian。要配置的電腦有多個 SATA 磁碟。

我想在預種子文件中準確指定要放在哪個磁碟上的分區。當然,這可以通過指定相關的設備文件(sda、sdb、sdc)來實現。但是,如果我理解正確的話,磁碟和設備文件之間的關聯通常不是先驗定義的,在某些情況下甚至可能在重新啟動後發生變化。我特別擔心 USB 棒或其他攜帶式硬碟驅動器。我自己也遇到過這樣的情況,當 USB 棒在安裝過程中從那個棒上安裝時是 /dev/sda。

那麼,每次使用預置的 ISO 映像進行安裝時,如何確保正確的分區放置在正確的磁碟上?

根據@MarkPlotnick 的評論總結答案:關鍵是要了解,有多個設備文件代表同一個驅動器。最著名的是 /dev/sda、/dev/sdb 等,其中的順序沒有很好地定義。但是,也可以使用 /dev/disk/by-id 中的設備文件來引用驅動器。這些設備文件與磁碟的序列號綁定,因此定義明確且可重複。事實證明,我可以使用 preseed 中的這些設備文件來替代 /dev/sda 等。

引用自:https://unix.stackexchange.com/questions/566151