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
。
lsblk
とさまざまなオプションを使用すると、使用中のディスク/パーティション/ uuidを表示できます
例えば
% Sudo lsblk -o UUID,PARTUUID,NAME,MOUNTPOINT
UUID PARTUUID NAME MOUNTPOINT
sda
d634adc8-69de-edd8-d491-a79e69aeff78 0008500a-01 |-sda1
195237da-8825-45fb-abf7-a62895bd0967 | `-md0 /boot
d2cf1bcc-d51d-bf37-9723-3b505172fe5f 0008500a-02 `-sda2
24bvXN-PVU1-kubI-Zgj5-W82i-3Z07-v80lME `-md1
67fe5039-de46-4629-bd03-ee65a5dd0132 |-godzilla-root /
ba70f1d1-89f0-4dd9-83a4-8bc9a74a6548 `-godzilla-swap [SWAP]
そのため、UUID d634adc8-69de-edd8-d491-a79e69aeff78
に対応 /dev/sda3
およびパーティションUUID 0008500a-01
あなたのセットアップに応じて、次に行うことができます
root=/dev/sda1
または
root=PARTUUID=0008600a-01
(私の場合、root
はLVMの一部なので、この方法でマウントすることはできませんが、概念は当てはまります)