Linux

如何在沒有 initramfs/initrd 的情況下通過 UUID 辨識根分區

  • February 23, 2022

如果沒有 initramfs/initrd 支持,以下核心命令行將無法工作:

linux   /bzImage root=UUID=666c2eee-193d-42db-a490-4c444342bd4e ro

如何在不需要 initramfs/initrd 的情況下通過 UUID 辨識我的根分區?

我不能使用類似的設備名稱/dev/sda1,因為分區駐留在 USB 棒上,需要在不同的機器上工作。

我發現答案隱藏在另一個執行緒中:

UUID 標識文件系統,而 PARTUUID 標識分區(即重新格式化後保持不變)。如果沒有 initramfs/initrd,核心只支持 PARTUUID。

要查找機器中塊設備的 PARTUUID,請使用

sudo blkid

例如,這將列印

/dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2" PARTUUID="f3f4g3f4-02"

您現在可以按如下方式修改您的 linux 命令行:

linux   /bzImage root=PARTUUID=f3f4g3f4-02 ro

這將從具有 PARTUUID f3f4g3f4-02 的分區引導,在本例中為/dev/sda1.

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