Почему `root=PARTUUID=....` и `root=UUID=....` чувствительны к регистру? Почему они делают паузу в 30 секунд, но затем работают, если используется неправильный регистр?

Почему `root=PARTUUID=....` и `root=UUID=....` чувствительны к регистру? Почему они делают паузу в 30 секунд, но затем работают, если используется неправильный регистр?

Недавно я заметил, что при попытке загрузить ядро ​​Linux ( 5.8.0-55-genericв стандартном дистрибутиве Ubuntu 20.04), если я указываю корневой диск root=PARTUUID=.....и задаю UUID раздела ext4 в верхнем регистре, то ядро ​​загружается, но зависает на 30 секунд во время загрузки (как показано в этих строках из /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.

Если я укажу тот же PARTUUID в нижнем регистре, зависания не произойдет:

[    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.

(Обратите внимание, что в обоих журналах присутствует одно и то же сообщение «смонтированная файловая система», всего на несколько строк раньше и без большой задержки в журнале быстрой загрузки.)

Однако используется версия PARTUUID в верхнем регистре (не переопределенная чем-то другим): если я ввожу неправильную цифру, то после 30-секундного зависания ядро ​​жалуется, что не может найти корневую файловую систему, как и ожидалось.

Может кто-нибудь помочь объяснить это? Кажется, по крайней мере, это не должно работать вообще, если это имеет значение, а не то, что это должно работать после 30-секундной задержки.

ОБНОВЛЕНИЕ 1: То же самое (поведение, указанное выше, и сходства/различия с /etc/fstabповедением) применимо root=UUID=...как к , так и к root=PARTUUID=....

ОБНОВЛЕНИЕ 2: Я думаю, что это должно несколько отличаться от того, что происходит с /etc/fstab(и потому, что монтирование корня должно произойти до того, как /etc/fstabможно будет прочитать, и потому, что - как обсуждалось в комментариях - /etc/fstabпросто происходит сбой с неправильным регистром (PART)UUID, тогда как root=...успешно происходит после 30-секундной паузы).

Связанный контент