Encontré la respuesta enterrada en otro hilo:
Un UUID identifica un sistema de archivos, mientras que un PARTUUID identifica una partición (es decir, permanece intacto después de formatear). Sin initramfs/initrd, el kernel solo admite PARTUUID.
Para encontrar el PARTUUID de los dispositivos de bloque en su máquina, use
sudo blkid
Esto imprimirá, por ejemplo
/dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2" PARTUUID="f3f4g3f4-02"
Ahora puede modificar su línea de comandos de Linux de la siguiente manera:
linux /bzImage root=PARTUUID=f3f4g3f4-02 ro
Esto arrancará desde la partición con PARTUUID f3f4g3f4-02, que en este caso es /dev/sda1
.
lsblk
con varias opciones puede mostrarle qué disco/partición/uuid están en uso
por ejemplo
% 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]
Entonces puedo ver ese UUID d634adc8-69de-edd8-d491-a79e69aeff78
corresponde a /dev/sda3
y partición UUID 0008500a-01
Dependiendo de su configuración, puede hacer
root=/dev/sda1
o
root=PARTUUID=0008600a-01
(En mi caso root
es parte de un LVM y, por lo tanto, no se puede montar de esta manera, pero se aplica el concepto)