Por que `root=PARTUUID=....` e `root=UUID=....` diferenciam maiúsculas de minúsculas? Por que eles fazem uma pausa por 30 segundos, mas depois funcionam se o caso errado for usado?

Por que `root=PARTUUID=....` e `root=UUID=....` diferenciam maiúsculas de minúsculas? Por que eles fazem uma pausa por 30 segundos, mas depois funcionam se o caso errado for usado?

Percebi recentemente que, ao tentar inicializar o kernel do Linux ( 5.8.0-55-genericem uma distribuição padrão do Ubuntu 20.04), se eu especificar a unidade raiz usando root=PARTUUID=.....e fornecer o UUID da partição ext4 em maiúsculas, o kernel inicializa, mas trava por 30s durante a inicialização (conforme mostrado nestas linhas de /var/log/dmesg):

[    2.853379] kernel: input: HID 05ac:820b as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.1/2-1.8.1.2/2-1.8.1.2:1.0/0003:05AC:820B.0009/input/input10
[    2.857488] kernel: hid-generic 0003:05AC:820B.0009: input,hidraw8: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:1d.0-1.8.1.2/input0
[    2.938013] kernel: usb 2-1.8.1.3: new full-speed USB device number 8 using ehci-pci
[    3.057584] kernel: usb 2-1.8.1.3: New USB device found, idVendor=05ac, idProduct=8289, bcdDevice= 1.50
[    3.067746] kernel: usb 2-1.8.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.077779] kernel: usb 2-1.8.1.3: Product: Bluetooth USB Host Controller
[    3.087836] kernel: usb 2-1.8.1.3: Manufacturer: Apple Inc.
[   32.329915] kernel: EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: (null)
[   32.498137] systemd[1]: Inserted module 'autofs4'
[   33.091557] systemd[1]: systemd 245.4-4ubuntu3.7 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[   33.130184] systemd[1]: Detected architecture x86-64.
[   33.179603] systemd[1]: Set hostname to <michael-MacBookPro>.
[   33.342145] systemd[1]: Created slice system-modprobe.slice.
[   33.350600] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[   33.358792] systemd[1]: Created slice User and Session Slice.

Se eu especificar exatamente o mesmo PARTUUID em letras minúsculas, não haverá travamento:

[    2.643019] kernel: input: HID 05ac:820b as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.8/2-1.8.1/2-1.8.1.2/2-1.8.1.2:1.0/0003:05AC:820B.0009/input/input10
[    2.652851] kernel: hid-generic 0003:05AC:820B.0009: input,hidraw8: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:1d.0-1.8.1.2/input0
[    2.685911] kernel: EXT4-fs (sda4): mounted filesystem with ordered data mode. Opts: (null)
[    2.733247] kernel: usb 2-1.8.1.3: new full-speed USB device number 8 using ehci-pci
[    2.852575] kernel: usb 2-1.8.1.3: New USB device found, idVendor=05ac, idProduct=8289, bcdDevice= 1.50
[    2.860616] kernel: usb 2-1.8.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.867916] kernel: usb 2-1.8.1.3: Product: Bluetooth USB Host Controller
[    2.875182] kernel: usb 2-1.8.1.3: Manufacturer: Apple Inc.
[    2.882524] systemd[1]: Inserted module 'autofs4'
[    3.490681] systemd[1]: systemd 245.4-4ubuntu3.7 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[    3.529529] systemd[1]: Detected architecture x86-64.
[    3.585335] systemd[1]: Set hostname to <michael-MacBookPro>.
[    3.732416] systemd[1]: Created slice system-modprobe.slice.
[    3.740515] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    3.748458] systemd[1]: Created slice User and Session Slice.

(Observe que a mesma mensagem 'sistema de arquivos montado' está em ambos os logs, apenas algumas linhas antes e sem grande atraso no log de inicialização rápida.)

A versão maiúscula do PARTUUID está sendo usada, no entanto (não, por exemplo, substituída por outra coisa): se eu inserir um dígito errado, depois dos 30 anos trava o kernel reclama que não consegue encontrar o sistema de arquivos raiz, como esperado.

Alguém pode ajudar a explicar isso? Parece pelo menos que não deveria funcionar, se o caso fosse importante, e não que deveria funcionar depois de um atraso de 30 segundos.

ATUALIZAÇÃO 1: O mesmo (comportamento acima e semelhanças/diferenças de /etc/fstabcomportamento) root=UUID=...também se aplica a root=PARTUUID=....

ATUALIZAÇÃO 2: Eu acho que isso deve ser um pouco diferente do que acontece com /etc/fstab(tanto porque a montagem da raiz deve acontecer antes que /etc/fstabpossa ser lida, e também porque - como discutido nos comentários - /etc/fstabsimplesmente falha com caso errado (PART)UUID, enquanto root=...é bem-sucedido, após uma pausa de 30s ).

informação relacionada