Linux
如何在沒有 initramfs/initrd 的情況下通過 UUID 辨識根分區
如果沒有 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
.