Partition

MBR 分區號是否需要連續?

  • May 18, 2022

我正在為小型嵌入式 Linux 系統分區外部 1TB 硬碟。我想加密交換分區。根據cryptsetep FAQ,您需要在 /etc/crypttab 中使用核心設備名稱(/dev/sda 等):

不幸的是,直接通過 UUID 指定它是行不通的,因為 UUID 是交換簽名的一部分,並且由於加密以及每次重新啟動時都會發生變化,因此從外部看不到它。

如果我稍後附加/重新排列驅動器並且設備名稱發生更改,這可能會成為問題。例如,假設交換位於 /dev/sda3。然後我附加一個不同的驅動器,它變成/dev/sda,將原始驅動器推到/dev/sdb。如果新驅動器上存在第三個分區(現在稱為 sda3),它將嘗試加密該驅動器並將其用作交換。

給出的一種選擇是確保分區號不存在於其他磁碟上。所以,最後,我的問題:

我可以使用不連續的分區號嗎?它們會在重新啟動後持續存在嗎?換句話說,我可以這樣做嗎?注意 sda4 和 sda8 之間的差距:

/dev/sda1    primary    /boot
/dev/sda2    primary    /
/dev/sda3    primary    /home
/dev/sda4    extended
/dev/sda8    swap (encrypted)

如果是這樣,我會感到非常安全,因為在任何其他驅動器上都不會看到 sda8。

分區號不能衝突。物理上不能。

分區記錄在分區表中,在磁碟的 0 塊中的特殊位置。這些記錄不是命名記錄,它們被放置在一個數組中。該數組中的索引(加一)稍後會成為您在終端中看到的分區列表中的一個數字。例如閱讀 wiki:https ://en.wikipedia.org/wiki/Disk_partitioning

是的,分區表可以有空單元格。Ot 只是一個索引數組。其中任何記錄的分區類型都可以為零,並且所有工具都會知道該記錄是空的。

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