Вопрос или проблема
Я впервые исследовал BIOS подержанного компьютера, который купил несколько лет назад.
(Dell OptiPlex 7050 Micro)
Посмотрев все опции, я решил сбросить настройки BIOS на значения по умолчанию.
Затем я вернулся назад и изменил несколько вещей по своему усмотрению.
При перезагрузке он начал загружаться в Windows (двойная загрузка). 😱
Оказалось, что в результате сброса были удалены все записи загрузки Linux.
Я вернулся в BIOS и попробовал Добавить вариант загрузки.
- в поле
Имя варианта загрузки
я ввелUbuntu
- из
Списка файловой системы
был предварительно выбран единственный вариант:
PciRoot(0x0)/Pci(0x17,0x0)/Sata(0x1,0x0)/HD(1,GPT.xxxxxxxx-xxxx-4xxx-8xxx-xxxxxxxxxxxx)
(так как это не поддавалось редактированию, я понимаю, это просто список EFI разделов, а не настоящая деталь конфигурации) - для
Имя файла
я смог выбрать из следующих опций:shimx64.efi grubx64.efi mmx64.efi fbx64.efi bootx64.csv grub.cfg
и я выбрал
\EFI\ubuntu\grubx64.efi
, потому что это казалось самым очевидным. (позже я узнал, что остальные предназначены для безопасной загрузки, которая отключена в моем BIOS)
Теперь, когда он загружается, он просто застревает на Welcome to Grub
.
Я думал, что grub64.efi
найдет своего товарища grub.cfg
поблизости, и все будет работать как обычно.
- Я что-то сделал неправильно?
- Является ли инструмент загрузки BIOS в какой-то мере только для Windows?
- Могу ли я сделать что-то по-другому, чтобы это заработало?
Ответ или решение
Когда вы сталкиваетесь с проблемами при добавлении загрузочной записи для Ubuntu через встроенный редактор UEFI в BIOS, зачастую это связано с тонкостями работы UEFI и специфическими действиями, которые были предприняты. Рассмотрим, почему могут возникнуть такие проблемы и как их решить.
Теория (Объяснение проблемы)
Сброс BIOS к настройкам по умолчанию: Когда вы сбросили BIOS к настройкам по умолчанию на своем Dell OptiPlex 7050, это удалило все пользовательские настройки и записи загрузочных опций, включая те, которые связаны с Ubuntu. Это типичное поведение, поскольку UEFI хранит записи загрузки в энергонезависимой памяти, а сброс восстанавливает заводские настройки, включая предустановленные записи загрузки.
UEFI и загрузочные записи: В контексте UEFI, в отличие от традиционного BIOS, загрузочные записи хранятся как записи в специальной таблице, и их можно редактировать вручную. Каждая запись связана с определённым загрузочным загрузчиком, который запускается при старте. В вашем случае, сброс BIOS уничтожил специфические настройки для Ubuntu.
Роль загрузчиков (EFI): Вы упомянули, что выбрали grubx64.efi
как файл для загрузки Ubuntu. Этот файл является частью загрузчика GRUB, который обычно инициализирует загрузочный процесс операционной системы. Однако, если grub.cfg
— конфигурационный файл GRUB — по каким-то причинам недоступен, GRUB не сможет завершить процесс загрузки корректно. Это может произойти, если файл grub.cfg
поврежден, находится в неверном месте или недоступен из-за изменений в конфигурации разделов или файловой структуры.
Пример (Что пошло не так)
На практике, многие пользователи сталкиваются с подобной проблемой, когда сбрасывают BIOS. Например, типичная ситуация может развиваться следующим образом:
-
Сброс BIOS и исчезновение записи Ubuntu: После сброса все пользовательские записи перезаписываются, остаётся предустановленная, обычно связанная с Windows.
-
Ручное добавление загрузочной опции: При попытке добавить запись для Ubuntu вручную, вы правильно выбрали
grubx64.efi
, но не факт, чтоgrub.cfg
находится в верной директории или имеет корректные параметры путей после сброса. -
Ошибки загрузки GRUB: При запуске
grubx64.efi
может появиться экран "Welcome to Grub", что указывает на невозможность найти или правильно интерпретироватьgrub.cfg
.
Применение (Как это можно исправить)
Чтобы исправить данную проблему и вернуть возможность загрузки в Ubuntu, можно предпринять следующие шаги:
-
Проверка и восстановление структуры EFI: Используйте загрузочную флешку или CD с Ubuntu, чтобы загрузиться в режим восстановления. Это позволит смонтировать и обследовать EFI-раздел.
-
Проверка правильности конфигурации GRUB: Убедитесь, что файл
grub.cfg
присутствует в нужной директории, обычно это/boot/grub
, и что все пути внутри файла корректны. -
Обновление загрузочных записей через терминал: Запустите команду
sudo update-grub
, чтобы обновить конфигурацию Grub в соответствии с текущими условиями системы. -
Пересоздание записи загрузки через efibootmgr: Используйте команду
efibootmgr
в Linux для создания и установки нужной загрузочной записи. Например:sudo efibootmgr --create --disk /dev/sda --part 1 --label "Ubuntu" --loader "\EFI\ubuntu\grubx64.efi"
Это создаст UEFI-запись и укажет BIOS-нагрузу использовать GRUB для загрузки системы Ubuntu.
-
Проверка порядка загрузки: После создания заголовка необходимо убедиться, что он находится в приоритете перед Windows Boot Manager посредством настройки порядка загрузки либо через BIOS, либо через
efibootmgr
.
Таким образом, ключ к решению вашей проблемы заключается в уверенности, что загрузочная конфигурация и порядок указаны корректно, а также, что все необходимые файлы конфигурации на своих местах. Если проблема остаётся, это может указывать на устаревшую версию GRUB или уникальные нюансы конкретной версии BIOS вашего устройства, и могут потребоваться дополнительные обновления или корректировки.