initramfs / initrdなしでUUIDでルートパーティションを識別する方法

initramfs / initrdなしでUUIDでルートパーティションを識別する方法

initramfs/initrd サポートがないと、次のカーネルコマンドラインは機能しません。

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

initramfs / initrdなしでルートパーティションをUUIDとして識別するにはどうすればよいですか?

/dev/sda1パーティションがUSBスティックにあり、別のコンピュータで動作する必要があるため、同様のデバイス名を使用できません。

ベストアンサー1

埋もれている答えを見つけました。他のスレッド:

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

おすすめ記事