Проблема: зависание загрузки Ubuntu после обновления с сообщением EFI stub
Симптомы
После выполнения apt upgrade (об этом я вспомнил уже после того как разобарлся с пробелмой) и перезагрузки система перестала загружаться. На экране последнее сообщение:
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
После этого — полное зависание. GRUB работает, выбор ядра доступен. Ошибок ядра (kernel panic, Oops) нет.
Окружение
- ОС: Ubuntu (ядро 6.8.0-111-generic)
- Видеокарта: NVIDIA RTX 5060 Ti (архитектура Blackwell)
- Дисковая подсистема: программный RAID1 (mdadm)
Диагностика
- Аппаратная часть исправна: диски определяются в BIOS, SMART — PASSED, RAID-суперблоки на месте (
mdadm --examineпоказал корректные UUID). - RAID собирается:
mdadm --assemble --scanактивен,/proc/mdstat— массив в состоянии[UU]. Проверял на соседней машине. - LiveUSB с Ubuntu/Debian не загружается — аналогичное зависание на той же строчке.
- UEFI Shell работает, загрузчик GRUB физически присутствует на EFI-разделе.
Решение
Загрузка с параметром ядра:
nomodeset
После добавления этого параметра в строку загрузки GRUB система стартует штатно. Механизм nomodeset отключает Kernel Mode Setting (KMS), предотвращая инициализацию DRM/драйвера видеокарты на раннем этапе загрузки.
Причина
Ядро 6.8.0 не имеет полной поддержки видеокарт на базе архитектуры Blackwell (RTX 5060 Ti вышла позже релиза ядра). При попытке инициализации видеорежима через nouveau (или фолбэк-механизмы) происходит зависание на этапе настройки дисплейного контроллера.
nomodeset исключает этот этап, оставляя управление видеорежимом за прошивкой UEFI. Система загружается, но без ускорения графики — что для сервера в большинстве случаев некритично.
Постоянное применение
| |
Корректное решение (убрать nomodeset)
- Установить проприетарный драйвер NVIDIA версии 570 или новее.
- Или обновить ядро до версии 6.12+, где поддержка Blackwell добавлена в
nouveau.
Вывод
Проблема не в дисках, не в RAID и не в памяти. Причина — отсутствие поддержки современной видеокарты в текущей версии ядра. Параметр nomodeset — рабочий временный обход, позволяющий сохранить функциональность системы до установки актуального драйвера или ядра.
Дополнение
Я думал переустановить систему, залив Debian. Но после выбора параметра установки в загрузочном меню, я опять получал зависшую систему. Решилась пробелма что сложнее, одного параметра nomodeset не хватило, БЯМ подсказала расширенную версию:
Вот перечень параметров, которые вы должны добавить все вместе:
nomodeset acpi=off noapic nolapic pci=nomsi pci=nommconf console=tty0 console=ttyS0,115200
Как это ввести:
- Загрузитесь с Ventoy, выберите Debian.
- Нажмите
eдля редактирования. - Найдите строку с
linux. - Удалите всё содержимое после
---(или в конце строки) и вставьте туда эту строку. - Нажмите
Ctrl+X.
Что эти флаги делают:
acpi=off noapic nolapic: Отключают продвинутое управление питанием и прерываниями (часто выручает на серверном железе).pci=nomsi pci=nommconf: Отключают альтернативные методы обработки прерываний PCIe.console=tty0 console=ttyS0: Говорят ядру дублировать вывод на обычный экран и на «виртуальный последовательный порт» — это часто сдвигает процесс с мертвой точки