Вопрос или проблема
Несколько дней назад я получил обновление прошивки EFI в моей Ubuntu 24.04. Я установил его, и с тех пор не могу перезагрузить компьютер.
Каждый раз, когда я запускаю компьютер, он переходит в меню GRUB без нажатия F2.
Если я пытаюсь загрузить Ubuntu с компьютера или с загрузочной USB, выдается ошибка о том, что загрузочный файл отсутствует, и экран становится черным. Так что я не могу перейти к терминалу или переустановить ОС.
Когда я попытался загрузить систему из командной строки GRUB, я понял, что sda не смонтирован в /dev
. В любом случае, согласно /cat/fstab
, моя файловая система была на /dev/nvme0n1p2
во время установки, но в данный момент nvme0n1p2 в /dev
также отсутствует.
GNU GRUB версия 2.12
Поддерживается минимальное редактирование команд в стиле BASH.
Для первого слова TAB выводит возможные завершения команд,
везде друге TAB показывает возможные устройства или завершения файлов.
Для активации постраничной разбивки ''less(1)-1ike", установите "set pager=1". ESC в любое время выходит.
grub> ls
(proc) (memdisk) (hde) (hd@,gpt2) (hdo,gpt1)
grub> ls (hdo,2)
Раздел hd0,2: Тип файловой системы ext* - Время последнего изменения 2025-03-03 13:54:35 понедельник, UUID 1d4dfbf9-acbb-4f06-9acc-aba9c350e46c - Раздел начинается на 525312K18 - Общий размер 243673088K18
grub> ls (hdo,2)/
lost+found/ boot/ swapfile etc/ media var/ bin dev/ home/ lib lib32 1lb64 llbx32 mnt/ opt/ proc/ root/ run/ sbin snap/ srv/ sys/ tmp/ usr/ cdrom/ debug 11b.usr-is-merged/ bin.usr-is-merged' sbin.usr-is-merged/
grub> cat (hdo,2)/etc/issue
Ubuntu 24.04.2 LTS \n \l
grub> ls 7lh (hd0,2)/boot
memtest86+x64.bin System.map-6.8.0-53-generic initrd.img-6.8.0-53-generic memtest86+x64.efi memtest86+ia32.bin
grub> set root=(hdo,2)
grub> cat /etc/fstab
# /etc/fstab: статическая информация о файловой системе.
# Используйте 'blkid' для вывода универсального уникального идентификатора устройства; это может быть использовано с UUID= как более надёжный способ именования устройств, который работает даже если диски добавляются и удаляются. См. fstab(5).
<файловая система> <точка монтирования>
<тип> <опции>
<дамп> <проход>
/ был на /dev/nvmeonip2 во время установки
#
UUID=1d4dfbf9-acbb-4f06-9acc-aba9c350e46c /
ext4 ошибки-перемонтировать-ro ◦
/boot/efi был на /dev/nvme0nip1 во время установки
UUID=8BEB-2767 /boot/efi vfat
маска=0077
swapfile
◦
нет
Своп
/dev/disk/by-id/usb-Seagate_Expansion_HDD_00000000NACC0Y50-0:0-part1 /mnt/usb-Seagate_Expansion_HDD_00000000NACC0Y50-0:0-part1 авто nosuid,nodev,nofail,noauto,x-gvfs-shou 0 0
/dev/disk/by-id/usb-Seagate_Expansion_HDD_00000000NACC0Y4C-0:0-part1 /mnt/usb-Seagate_Expansion_HDD_00000000NACCOY4C-0:0-part1 авто nosuid,nodev,nofail,noauto,x-gvfs-shou 9
grub> ls (hdo,2)/dev
fd pts/ shm/ console full null ptmx random stderr stdin stdout tty urandom zero
grub> linux /boot/vmlinuz-6.8.0-54-generic root=/dev/sda2
grub> initrd /boot/initrd.img-6.8.0-54-generic
grub
В любом случае, я попытался загрузиться из командной строки GRUB и получил следующие сообщения об ошибках (те же сообщения об ошибках независимо от того, включена ли безопасная загрузка или нет).
EFI stub: Загружен initrd с устройства LINUX_EFI_INITRD_HEDIA_GUID
GNU GRUB версия 2.12
EFI stub: Измерены данные initrd в PCR 9
Я в тупике, не могу ни загрузить свой ноутбук, ни переустановить Ubuntu.
Меню GRUB:
Пытаюсь загрузиться из командной строки GRUB:
Сообщения об ошибках:
Ответ или решение
Теория
Ваш компьютер не загружается из-за отсутствия файлов в разделе /boot. Это часто вызывает неполадки с загрузчиком GRUB. В данной ситуации это произошло после обновления EFI прошивки. Каждый раз при попытке загрузки компьютера вы видите меню GRUB, но не можете продолжить загрузку ни с жесткого диска, ни с загрузочной флешки. Проблема осложнена тем, что устройство, на котором место хранения установочного загрузочного файла — /dev/nvme0n1p2, не отображается в списке устройств в /dev. Также вы отметили, что при попытке выполнения команды GRUB ‘linux /boot/vmlinuz…’ указываете неверное устройство root. Это может быть одной из причин проблемы, наряду с повреждением самой структуры файлов в результате нового обновления EFI.
Пример
При запуске компьютера вы видите экран GRUB. Попытки загрузки завершились черным экраном и отсутствием командной строки, исправить положение через GRUB командную строку также не удалось. Вы видите разделы (proc), (memdisk), (hde), (hd@,gpt2), (hdo,gpt1), но нет ожидаемого устройства /dev/nvme0n1p2. Важно помнить, что ваши разделы и загрузочные файлы могли стать недоступными после обновления прошивки EFI, что может зависеть от того, как прошивка взаимодействует с MBR (Master Boot Record) или GPT (GUID Partition Table). Важно следить за тем, что обновления могут удалить или исказить данные в загрузочных секторах.
Применение
-
Проверка доступных устройств: Используйте команды GRUB, такие как
ls
для отображения всех имеющихся разделов. Убедитесь, что у вас всё ещё есть доступ к предыдущей файловой системе Ubuntu, поскольку отсутствие устройства может указывать на проблемы с подключением или видимостью NVMe устройства. -
Корректировка параметров загрузки: Проверьте, правильно ли вы идентифицировали ваш корневой раздел и используемая версия ядра соответствует присутствующей в каталоге /boot. Установите корень на правильный раздел (
set root=(hd0,2)
). -
Использование живого USB: Если ваше устройство недоступно, используйте LiveUSB для загрузки в живую сессию Ubuntu. Это позволит вам воспользоваться инструментами восстановления и диагностики, например, fsck для проверки дисков и тестирования EFI и GPT.
-
Перепрошивка EFI: Если все вышеуказанные шаги не помогли, попробуйте переустановить или откатить прошивку EFI до предыдущей версии, которая работала корректно.
-
Проверка конфигурации GRUB: Попробуйте восстановить конфигурацию GRUB с помощью
grub-install
иupdate-grub
после загрузки с LiveUSB. Сначала проверьте, корректно ли настроен ваш EFI раздел (обычно это будет /dev/nvme0n1p1 для EFI). -
Проверка диска: Проверьте целостность дисковых структур с использованием таких утилит, как
fsck
или дисковых менеджеров, доступных в живой сессии Linux. -
Сохранение данных: Если доступ к разделу все ещё отсутствует, рассмотрите возможность подключить диск к другому устройству для резервного копирования или прямого восстановления данных.
Загрузочный процесс вашего компьютера связан с многими компонентами, такими как код конфигурации EFI, запись загрузчика GRUB, файловая структура Linux. Проблемы такого рода требуют системного подхода, включающего анализ загрузчика, устройства и, по необходимости, вмешательства в настройки EFI/BIOS. Необходим комплексный подход к пошаговой проверке каждого намека на ошибку, который поможет локализовать и справиться с проблемой. задавая корректные параметры, или же определив неисправность физического оборудования, если все программные методы доступны и исчерпаны.