Главная
» PC Советы
»
Исправлена ошибка «Загрузочное устройство не найдено» после установки Debian на UEFI.
Исправлена ошибка «Загрузочное устройство не найдено» после установки Debian на UEFI.
Если после установки Debian на ПК отображается сообщение «Загрузочное устройство не найдено», файлы могут быть ещё целыми. Возможно, прошивка запускается в неправильном режиме, системный раздел EFI (ESP) смонтирован не там, где ожидает GRUB, или прошивка потеряла или понизила приоритет записи загрузки UEFI в Debian. Перед изменением разделов выполните следующие проверки по порядку.
Данное руководство предполагает использование типичного 64-битного ПК на базе архитектуры x86 с UEFI и Debian с GRUB. Команды, указывающие на диск или раздел, приведены лишь в качестве примеров: идентифицируйте свои устройства с помощью lsblk -fкоманды `.`. Не следует форматировать ESP-диск или переустанавливать Debian в качестве первого шага.
1. Убедитесь, что компьютер пытается загрузиться в режиме UEFI.
Прошивка UEFI считывает программу EFI с отформатированного в FAT ESP и может использовать сохраненную запись загрузки NVRAM для ее поиска. Загрузка Legacy BIOS/CSM осуществляется по другому пути. Поэтому установочный USB-накопитель, запущенный в режиме Legacy, может установить путь загрузки, который не соответствует конфигурации UEFI установленного компьютера.
Используйте меню однократной загрузки, чтобы проверить запись Debian, и выберите запись установщика, явно помеченную как UEFI, при запуске носителя восстановления.
Откройте меню однократной загрузки или настройки прошивки во время запуска. Сначала выберите пункт с именем Debian , если он присутствует. Если он загрузится, откройте настройки прошивки и переместите Debian выше внутреннего диска или других операционных систем в порядке загрузки. Названия меню различаются в зависимости от производителя, поэтому обратитесь к инструкции производителя компьютера для получения правильного ключа запуска и названий меню.
Если вам нужен носитель для восстановления, выберите опцию USB, начинающуюся с «UEFI». После запуска Debian Live или оболочки восстановления установщика проверьте его режим:
test -d /sys/firmware/efi && echo "Booted in UEFI mode" || echo "Booted in Legacy mode"
Если в результате отображается Legacy, перезагрузите систему и выберите запись UEFI USB. Такие инструменты, как [название инструмента], efibootmgrне могут управлять переменными прошивки из среды с загрузкой Legacy. Если вариант UEFI USB отсутствует, убедитесь, что загрузка UEFI включена в прошивке; избегайте изменения настроек Secure Boot или контроллера хранилища, если вы не знаете последствий для существующей установки.
2. Определите установленную систему и ее раздел EFI.
В среде Live, загруженной через UEFI, выполните проверку устройств и файловых систем:
lsblk -f
Найдите корневую файловую систему Debian, часто ext4это btrfs, и небольшой раздел FAT32 с типом GPT «EFI System». Раздел ESP может использоваться совместно с Windows; это нормально. Примеры меток /dev/sda1и /dev/sda2ниже являются заполнителями, а не значениями по умолчанию. На NVMe-накопителях обычно используются имена, например /dev/nvme0n1p1.
Используйте информацию о файловой системе и разделах из команды lsblk для определения существующих корневых каталогов ESP и Debian; не полагайтесь на примеры названий устройств, приведенные в иллюстрации.
Если вам нужно только проверить корневой раздел, сначала смонтируйте его в режиме только для чтения, или смонтируйте его обычным способом для восстановления после определения нужного раздела. Если в вашей системе используется отдельный /bootраздел, смонтируйте его под корневым разделом /mnt/bootперед монтированием ESP-файла. Не создавайте и не форматируйте заменяющий ESP-файл только потому, что это не очевидно в списке.
Для стандартной конфигурации с /dev/sda2включенными root-правами и ESP /dev/sda1, восстановление монтирования выглядит следующим образом:
mount /dev/sda2 /mnt
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
cat /mnt/etc/fstab
Сравните UUID ESP, указанный в файле, lsblk -fс записью в /boot/efiфайле /mnt/etc/fstab. Если он отличается, остановитесь и подтвердите, какой раздел принадлежит данной установке Debian. В некоторых системах ESP монтируется в /bootили используется другое расположение; воспроизведите структуру установленной системы, а не используйте вслепую пример точки монтирования.
3. Восстановите GRUB из среды восстановления UEFI.
После того, как корневой каталог, любые отдельные файлы /bootи ESP будут смонтированы в нужных местах в каталоге /mnt, свяжите запущенные системные каталоги и войдите в процесс установки:
for i in /dev /dev/pts /proc /sys /run; do mount --bind "$i" "/mnt$i"; done
chroot /mnt
Внутри chroot-окружения убедитесь, что /boot/efiэто ESP и что установленная система — та, которую вы собираетесь восстанавливать. Для стандартной установки Debian amd64 GRUB с отключенной функцией Secure Boot переустановите загрузчик EFI и пересоберите меню:
Запускайте команды восстановления только после монтирования правильного корневого каталога Debian и ESP; отображаемые имена разделов являются примерами, а не данными с протестированной машины.
Указанное выше значение --targetотносится к ПК на базе архитектуры amd64. Системы Debian ARM64 используют другую целевую платформу. В официальной справочной странице GRUB --efi-directoryв качестве корневого каталога ESP указан и описаны параметры безопасной загрузки UEFI. Если безопасная загрузка включена, продолжайте использовать подписанную цепочку загрузки Debian: не следует принудительно загружать неподписанный загрузчик на ESP. Подписанные пакеты GRUB и shim от Debian предоставляют соответствующий путь; следуйте документации Debian по безопасной загрузке для вашей версии и архитектуры.
Если grub-installпоявляется сообщение о недоступности переменных EFI, ещё раз проверьте, что загрузка с Live USB производилась в режиме UEFI и что такой /sys/firmware/efiрежим существует. Если переменные прошивки остаются недоступными, возможно, вы сможете установить загрузчик на ESP, но не сможете зарегистрировать его запись в NVRAM из этой сессии; используйте опцию прошивки «Загрузка из файла EFI» или повторите восстановление из правильно загруженной среды UEFI. Не рассматривайте предупреждение как подтверждение того, что запись прошивки была создана.
4. Проверьте запись в прошивке Debian и порядок загрузки.
Выйдите из chroot-окружения, затем проверьте переменные загрузки UEFI:
exit
efibootmgr -v
Найдите запись Debian и обратите внимание на нее BootOrder. Если Debian указан, но сначала появляется другое устройство, используйте настройку прошивки, чтобы установить Debian первым. Это часто проще и безопаснее, чем переписывать полный порядок загрузки в команде. В efibootmgrсправочной странице описано, как именуются записи и как BootOrderопределяется, какую активную запись прошивка попытается загрузить первой.
После восстановления убедитесь, что запись Debian существует и отображается перед другими вариантами загрузки в порядке загрузки прошивки.
Если запись Debian отсутствует, но ESP содержит EFI/debian, используйте файловый менеджер прошивки (если он доступен), чтобы выбрать загрузчик EFI Debian. При включенной функции Secure Boot это обычно подписанный файл-заглушка, например, EFI/debian/shimx64.efiна amd64; при отключенной функции Secure Boot может быть доступен файл EFI GRUB. Точные имена файлов различаются в зависимости от архитектуры и состояния пакета. Если прошивка не предлагает файловый менеджер, повторно запустите восстановление GRUB с доступным доступом к NVRAM.
Некоторые обновления прошивки или сброс настроек удаляют записи Linux, а некоторые реализации прошивки не сохраняют вновь созданные записи. В документации Debian по UEFI также описывается резервный путь использования съемных носителей, но это должно быть преднамеренным обходным путем для обеспечения совместимости, а не причиной для копирования файлов EFI поверх существующих файлов без их проверки.
5. Сопоставьте симптом с вероятным способом его устранения.
Debian запускается из одноразового меню: исправить порядок загрузки в прошивке.
UEFI USB работает, но Debian отсутствует: проверьте монтирование ESP и переустановите правильный загрузчик EFI.
efibootmgrНе удается получить доступ к переменным: перезапустите носитель восстановления в режиме UEFI.
Debian отображается, но возвращается к прошивке: проверьте совместимость с Secure Boot, путь к загрузчику и принадлежность ESP к данной установке.
Существует несколько вариантов установки Linux: перед запуском определите, какая пара root и ESP относится к одной и той же системе grub-install.
В Debian 13 (Trixie) была введена дополнительная настройка systemd-boot с использованием shim, описанная в документации Debian. Если вы намеренно установили этот менеджер загрузки вместо GRUB, используйте соответствующие инструкции по восстановлению systemd-boot; выполнение команд восстановления GRUB не восстанавливает записи systemd-boot. Для типичной системы Debian с установленным GRUB, выбранным установщиком, описанные выше проверки остаются актуальными.
6. Перезагрузите устройство и проверьте.
Выйдите из chroot, отмонтируйте файловые системы в обратном порядке, извлеките аварийный USB-накопитель и перезагрузите систему. Если при отмонтировании выдается сообщение о занятости целевого устройства, закройте оболочки, использующие это монтирование, и повторите попытку, вместо того чтобы принудительно завершать работу системы, пока файловые системы активны. Убедитесь, что прошивка запускает Debian без подключенного USB-накопителя. Затем проверьте, загружаются ли ожидаемое ядро и рабочий стол, и работает ли вторая перезагрузка. Если это снова не удастся, запишите точное сообщение прошивки, вывод команды lsblk -fи наличие efibootmgr -vзаписи Debian в выводе команды; эти детали позволяют отличить отсутствующую запись от проблемы с загрузчиком или файловой системой.