Параметры Grub, NVMe и загрузки
Я сначала задам вопрос, а затем дам более подробную информацию о проблемах, чтобы это не было слишком запутанным (надеюсь).
Использование Ubuntu 22.04.1, загрузка EFI.
Вопрос
В некоторых вариантах загрузки можно передать ядру через
-
GRUB_CMDLINE_LINUX_DEFAULT
(нормальный режим) -
GRUB_CMDLINE_LINUX
(нормальный + восстановление)
Есть 2 убунты, одна на и одна на
/dev/nvme0n1p1
(с использованием
sda2
жратва).
The
boot-repair
инструмент сгенерировал
/etc/grub.d/*
файлы с использованием (я полагаю)
os-prober
, и поместите NVMe Ubuntu в
/etc/grub.d/30_os-prober
Категория OS-prober (sda2 Ubuntu находится в обычном файле 10_linux).
Однако ни один из
GRUB_CMDLINE_LINUX*
vars передаются в ОС, сгенерированную Ubuntu (NVMe).
30_os-prober
скрипт их даже не использует.
- Как передать параметры загрузки в NVMe Ubuntu (из /etc/default/grub)?
- (дополнительный вопрос: как заставить Grub/boot-repair... распознавать диск/FS NVMe как «обычный»?)
Подробности (для любопытных)
Изначально я хотел загрузиться, иметь Grub на диске NVMe. Но по каким-то причинам (может биос, 10 раз проверял... но все равно) диск NVMe не загружается при загрузке (не уверен точно в чем проблема), и похоже
/dev/sda
(обычный SSD) должен быть первым, тогда в меню Grub может быть запись NVMe. Что я и сделал.
(диск NVMe прикручен к материнской плате, он быстрее SSD и должен быть обнаружен/обработан до обычного SSD, но это нечто другое)
Итак, в меню есть пункт для NVMe Ubuntu. Но при загрузке, когда я выбрал NVMe Ubuntu, он говорит сразу после
grub: no such device: abcdef01-uuid-uuid-uuid-543210fedcba
uuid устройства правильный (не этот, а...), и через 3-5 секунд он без проблем загружает NVMe Ubuntu!
Поэтому я подумал, что проблема, возможно, в том, что мне нужно добавить параметр загрузки ядра.
nvme_load=YES
(что я мог бы попробовать вручную, но еще не сделал) к записям grub, попытался установить их в
/etc/default/grub
но безрезультатно. Так что вопрос выше...
[можно добавить опцию
/boot/grub/grub.cfg
напрямую, но они исчезнут в следующий раз
update-grub
работает]
Добавление некоторых элементов
# efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003,0004
Boot0000* ubuntu HD(1,GPT,fxxx-uuid-xxx0,0x800,0xf3800)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0001* UEFI OS HD(2,GPT,fxxx-uuid-xxx1,0x71e8a0,0x2130)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0002* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0003* UEFI:Removable Device BBS(130,,0x0)
Boot0004* UEFI:Network Device BBS(131,,0x0)
И в
/boot/efi/EFI/ubuntu/grub.cfg
FS uuid правильно
/dev/sda2
.