當我們取消註解 GRUB_DISABLE_LINUX_UUID=true 時會發生什麼事?

當我們取消註解 GRUB_DISABLE_LINUX_UUID=true 時會發生什麼事?

當我們在 /etc/default/grub.conf 中取消註解 GRUB_DISABLE_LINUX_UUID=true 時會發生什麼?

答案1

  • 好吧,我認為該行上面的評論說明了一切
    # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

  • 取消註解後,root= 行將作為裝置名稱而不是 UUID 傳遞。

    linux /boot/vmlinuz-2.6.30-1-amd64 root=UUID=...

    linux /boot/vmlinuz-2.6.30-1-amd64 root=/dev/sdX

  • 但是,不建議取消註釋該行,因為如果刪除/建立新分割區,分割區表將會變更。
  • 導致無法開機進入系統。

答案2

當取消註解時,grub 下次重新產生 /boot/grub.cfg 時將放置絕對裝置名稱而不是 UUID - 即 /dev/sdXY

因此,如果您重新排列分割區表中的分割區(例如插入/刪除分割區)並且分割區號碼發生變化,grub 無法找到要引導的內核

使用 UUID,即使重新排列分割區也不會破壞任何東西

UUID 的缺點是它們很難太長,因此很難記住。

答案3

真正的問題是向系統添加磁碟。如果您的磁碟以前是 /dev/sda,並且作為唯一驅動器插入 SATA1,後來您添加了第二個驅動器,但將其插入 SATA0,它將變成 /dev/sda,並且您的 root= 映射將為無效的。然而,UUID 不存在這個問題,因為它們是唯一識別碼。

此外,如果您有多個擴充卡,有時會在稍微不同的時間偵測到它們,從而導致掛在它們上的磁碟機指派不同的磁碟機名稱。同樣,UUID 不受影響。另外,如果一個驅動器壞了,有時另一個驅動器會取代它,例如,如果 /dev/sda 壞了,也許在下次啟動時 /dev/sdb 會神奇地變成 /dev/sda ..它會發生。

我想說的是,系統越大或可能變得越大,啟動時驅動器洗牌的可能性就越大。

就我個人而言,我不喜歡用 UUID 來表示 root=,但我知道它的用處。

相關內容