Linux

如何使用 UUID 更新 fstab 文件?

  • September 25, 2017

以下行在我的/etc/fstab文件中定義。

我目前的 fstab:

/dev/sdb /lpo/sda ext4 defaults,noatime 0 0
/dev/sdc /lpo/sdb ext4 defaults,noatime 0 0

從 blkid 我們得到:

/dev/sdb: UUID="14314872-abd5-24e7-a850-db36fab2c6a1" TYPE="ext4"
/dev/sdc: UUID="6d439357-3d20-48de-9973-3afb2a325eee" TYPE="ext4"

如何更新我目前的 fstab(兩行)以使用 UUID?

例如,如果我為 (根據手冊頁)創建以下行/dev/sdb,是否正確?

UUID="14314872-abd5-24e7-a850-db36fab2c6a1"  /dev/sdb ext4 defaults,noatime 0 0
UUID="14314872-abd5-24e7-a850-db36fab2c6a1" /lpo/sda ext4 defaults,noatime 0 0
UUID="6d439357-3d20-48de-9973-3afb2a325eee" /lpo/sdb ext4 defaults,noatime 0 0

fstab中的條目格式如下:

<file system>   <dir>   <type>  <options>   <dump>  <pass>

您要安裝的設備在哪裡<file system>(例如/dev/sdb<dir>是應該安裝設備的路徑(/lpo/sda在您的情況下)。

您可以指定多種方法<file system>,最簡單的是在您的情況下指向相關文件系統設備的路徑/dev/sdb(儘管它們通常指向驅動器上的分區而不是驅動器,例如,/dev/sdb1但您的驅動器似乎缺少分區表,只需將文件系統放在主設備上)。但是您也可以使用該設備UUIDPARTUUID將其指定為鍵/值對UUID="14314872-abd5-24e7-a850-db36fab2c6a1"來代替/dev/sdb.

UUID使用or代替設備路徑的主要原因PARTUUID是它們在更改物理磁碟時更加一致。這些設備根據它們如何通過 bios 呈現給作業系統進行編號(通常由它們插入的插座排序)。這意味著,如果您添加新設備或對現有設備進行物理重新排列,它們將被重新編號,而/dev/sdb以前的可能不會是現在。正如您可以想像的那樣,這將導致錯誤的磁碟安裝到錯誤的位置。UUID並且PARTUUID是作為格式化文件系統的一部分而寫入的 idsUUID或在創建分區的情況下PARTUUID. 這些數字被寫入磁碟並且將始終保持不變,因此即使在底層設備文件被重新編號時也可用於安裝正確的磁碟。

旁注:您的設備有點令人困惑-您已/dev/sdb安裝到/lpo/sda-雖然它可以工作,但在您維護/配置系統時可能會令人困惑並導致錯誤,您可能希望使這些更加一致。

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