Я недавно установил Ubuntu 16.04 с помощью debootstrap (без повсеместного использования). Я хотел бы иметь возможность загружать его прямо из меню загрузки UEFI, без GRUB.
Я:
root =
через имя устройства и UUID update-initramfs
Каждый раз, когда у меня возникает паника ядра:
md: Waiting for all devices to be available before autodetect
md: If you don't use raid, use raid=noautodetect
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
(Да, разделы не указаны. ESP должен быть / dev / sda2, /
на / dev / sda5 )
Система нормально загружается с использованием GRUB (установленного другим экземпляром Ubuntu в другом разделе). Удивительно, но она также отлично загружается из оболочки EFI!
Shell> fs1:\path\vmlinuz.efi root=/dev/sda5 rw initrd=\path\initrd.img
Вот команда efibootmgr, которая создает записи с ошибками:
efibootmgr -p 2 -c -g -L "Ubuntu Rescue" -l \\EFI\\ubuntu-rescue\\vmlinuz.efi -u "root=/dev/sda5 rw initrd=\\EFI\\ubuntu-rescue\\initrd.img"
Что такое Я пропустил?
Обновление: У меня есть создал виртуальную машину VirtualBox с виртуальным ESP и подключил к ней физический раздел. Затем я настроил ESP так же, как и на своем настоящем ESP.
После настройки загрузочных записей с помощью efibootmgr Ubuntu успешно загрузился из меню загрузки UEFI. Таким образом, похоже, что проблема специфична для системы.
Возможно ли, что в ядре отсутствует драйвер для контроллера памяти моего ноутбука? Это ноутбук Dell Latitude E5450 на платформе Intel 5-го поколения.
Обновление 2: Я установил на этот раздел обычный сервер Ubuntu (используя виртуальную машину), чтобы исключить проблемы, связанные с debootstrap. Проблема не устранена. Система по-прежнему полностью загружается в виртуальную машину, но не загружается напрямую из UEFI с нуля (хотя и из оболочки EFI).
Я узнал, что это распространенная проблема с UEFI Dell — похоже, они не передают параметры загрузчику EFI. Таким образом, UEFI запускает ядро, используя заглушку EFI, но отсутствует initrd и не загружается.
В настоящее время у меня нет источников под рукой, но это, похоже, распространенная проблема, и, вероятно, интересующиеся могут найти ее в Google.
Обходные пути включают: