Я вижу, вы нашли решение; Тем не менее, я хотел бы указать, по крайней мере, часть причины проблемы, так как это может помочь вам (или другим) избежать подобных проблем в будущем ....
В первоначальной конфигурации двойной загрузки, которую вы описываете (Windows / ElementaryOS), у вас есть два менеджера загрузки:
- Встроенный менеджер загрузки материнской платы (EFI). Этот менеджер загрузки использует записи, хранящиеся в NVRAM, которые указывают на загрузочные программы EFI. Записи NVRAM можно добавлять, удалять и иным образом изменять с помощью таких программ, как
efibootmgr
в Linux,bcdedit
в Windows и EasyUEFI в Windows. Как правило, компьютер загружается с загрузочной программой EFI по умолчанию автоматически и без остановки, чтобы показать вам меню во время загрузки; чтобы получить меню, вы должны нажать системную клавишу вскоре после включения компьютера или перезагрузки. Общие параметры для этой клавиши включают Esc, Enter и функциональную клавишу (обычно F8 или выше). - GRUB - после установки ElementaryOS GRUB должен стать загрузочной программой по умолчанию, указанной встроенным менеджером загрузки EFI. GRUB сам по себе является менеджером загрузки, и в конфигурации с двойной загрузкой он должен отображать меню загрузки при запуске. Это загрузочное меню создается с помощью файла конфигурации на диске, который хранится
/boot/grub/grub.cfg
в ElementaryOS. (Другой файл,/boot/efi/EFI/ubuntu/grub.cfg
также может быть вовлечен.)
(Примечание. Диспетчер загрузки представляет меню или другой способ выбора пользователем операционной системы для загрузки. Диспетчер загрузки обычно передает загрузчик, который загружает ядро ОС в память и передает управление ядру. Некоторые программы, в том числе GRUB, являются как менеджерами загрузки, так и загрузчиками, но другие, такие как менеджер загрузки EFI или загрузчик-заглушки Linux EFI, являются одним или другим, но не обоими. Пользователи Linux часто неаккуратны в различении этих двух типов программ. потому что GRUB делает обе работы.)
В любом случае, когда вы работали bcdedit
в Windows, вы настраивали менеджер загрузки EFI, но это не влияло на конфигурацию GRUB. Таким образом, вы обошли GRUB, что, конечно, не то, что вы хотели. Чтобы изменить меню GRUB, вам нужно отредактировать его файл конфигурации, но это более неловкий процесс, чем вы могли бы ожидать, поскольку grub.cfg
на самом деле он создается с помощью сценариев, поэтому его можно настроить для вашей конкретной системы. Инструмент настройки GRUB представляет собой относительно дружественный графический интерфейс пользователя для настройки GRUB, но я не эксперт по его использованию. Также можно использовать другие загрузочные менеджеры и загрузчики в Linux, полностью минуя GRUB.
Другая проблема, которая, вероятно, актуальна, - Безопасная загрузка. ElementaryOS основан на Ubuntu, который использует программу под названием Shim для поддержки безопасной загрузки. Двоичный файл Shim ( shimx64.efi
) подписан Microsoft и поэтому пользуется доверием большинства EFI. Основная цель Shim - увеличить количество ключей Secure Boot, которые будет принимать прошивка, и запустить GRUB ( grubx64.efi
), который, в свою очередь, подписан другим ключом (Canonical, в случае Ubuntu, и, вероятно, также поэтому ElementaryOS, хотя я ' я не проверял это).
Учитывая природу вашего решения, я подозреваю, что вы включили как минимум две записи для ElementaryOS в список загрузки NVRAM вашего EFI, одна из которых указывала на Shim, а другая - на GRUB. Я предполагаю, что тот, который указывал непосредственно на GRUB, пришел раньше в вашем порядке загрузки, но был проигнорирован прошивкой, потому что он не прошел неизмененный тест Secure Boot прошивки. Когда вы сказали, что прошивка доверяет GRUB, она начала проходить тестирование, и GRUB запустится. Возможно, изначально он был настроен как-то иначе, но ваша ошибка bcdedit
в Windows стерла или изменила порядок записи, загружаемой через Shim. Ваша переустановка GRUB также, вероятно, немного испортилась.
Если вы хотите понять это еще лучше, я рекомендую вам прочитать одно или несколько из следующего:
- Запись Адама Уильямсона в блоге о том, как работает EFI. На этой странице описывается теория загрузки в режиме EFI.
- Вопрос и ответы о различиях между загрузкой BIOS и EFI на Superuser.com - это обеспечивает основы предыдущего, но является более кратким.
- Моя страница о загрузчиках EFI для Linux - на этой странице описывается выбор загрузчика EFI для систем Linux. На защищенной загрузке есть две подстраницы.
Даже общая сумма этих страниц не скажет вам точно, что произошло в вашей системе, но вы можете лучше диагностировать ее, изучив sudo efibootmgr -v
результаты и устранить аналогичные проблемы, если они возникнут в будущем.