Как сделать GRUB загрузчиком по умолчанию вместо диспетчера загрузки Windows на ноутбуке с UEFI?

109

У меня есть ноутбук HP Pavilion Touchsmart, поставляемый с Windows 8. Я обновился до 8.1, и теперь я хочу выполнить двойную загрузку дистрибутива Ubuntu с Windows 10. При двойной загрузке с Windows 8.1 диспетчер загрузки Windows всегда взял приоритет даже после установки GRUB. Что мне нужно сделать, чтобы GRUB стал загрузчиком по умолчанию вместо Windows Boot Manager?

Майкл Хоффманн
источник

Ответы:

195

Это самая длинная запись, которую я когда-либо делал на сайте StackExchange, но этот процесс требует много объяснений и внимания к деталям. Это также несколько специфично для рассматриваемого оборудования, что требует дополнительных пояснений.

После сильной головной боли, двух случайных переформатирований жесткого диска и большого разочарования в связи с ошибочной реализацией прошивки HP, я наконец-то получил Xubuntu и Windows 10, работающие бок о бок. Я сделал это с Windows 10, но он также должен работать с Windows 8.1. Обе эти более новые операционные системы используют новую (встроенную) систему прошивки UEFI вместо традиционной системы BIOS, в которой, по-видимому, возникает большинство путаницы с двойной загрузкой. Я прочитал много вещей из множества мест с инструкциями по двойной загрузке с системой BIOS, в которых говорится об UEFI, как будто это просто другой тип BIOS или дополнительный уровень между BIOS и ОС. UEFI и BIOS - это не одно и то же; UEFI не является BIOS, и BIOS не является UEFI. Они совершенно разные.

Во-первых, не используйте EasyBCD . Я видел много устаревшихруководства по двойной загрузке, которые рекомендуют EasyBCD, но предназначены для работы с традиционными прошивками BIOS, используемыми в Windows 7 и Windows Vista, и не очень хорошо работают с более новыми прошивками UEFI (Windows 8, 8.1 или 10). Если вы уже работали с EasyBCD, не беспокойтесь - возможно, самое худшее, что он сделал, - это запутался в загрузочных записях EFI, записав что-то в MBR. Мы очистим это на шаге 4. Говоря о MBR, избегайте этого, как чумы. Основная загрузочная запись - это то, что используется в традиционных прошивках BIOS в качестве списка загрузчиков, хранящихся в загрузочном разделе (или, если он написан Windows, в том разделе, который находится первым) вашего жесткого диска. Он предназначен для перечисления операционных систем на жестком диске и указания прошивки, какая из них загружается первой. Это не очень хорошо работает с прошивкой HP UEFI. Кажется, что если

Что вам нужно:

  • Живой USB или установочный компакт-диск с вашим предпочтительным дистрибутивом Ubuntu.
  • Установочный носитель для вашей ОС Windows. Если вы обновляете Windows 8.1, вы можете сделать это, не загружая 3+ ГБ .iso для Windows 10 - есть веб-установщик, который загружает его при установке, но для этого метода вам нужно извлечь .iso на CD или USB-накопитель. Это также хорошая идея, чтобы иметь это под рукой на будущее, так что вы могли бы также создать это сейчас. Поскольку этот вопрос касается двойной загрузки с системой UEFI, вам потребуется 64-битная ОС.
    • Убедитесь, что у вас есть ключ продукта, иначе вы не сможете обновить / установить.
  • Необязательно, но настоятельно рекомендуется : диск, достаточно большой для резервного копирования текущих файлов Windows.
  • На жестком диске достаточно места для обеих операционных систем, загрузочного раздела (всего 200 МБ) и раздела подкачки linux (обычно такого же размера, что и физическая оперативная память).

Шаг 1: Сделайте резервную копию

Сделайте резервную копию всех ваших файлов и папок Windows, которые вы не хотите потерять. Пока у вас достаточно свободного места на жестком диске для нового раздела Ubuntu, этот процесс не должен мешать работе файлов Windows. Должно быть, это рискованное слово, хотя.

В Windows 8.1 есть инструмент «создать диск восстановления», но я обнаружил, что он бесполезен и не работает, когда дело доходит до восстановления резервной копии, которую я сделал с ним. Самый простой способ сохранить файлы, которые вы не хотите потерять, - это просто открыть Windows Explorer и скопировать их на резервный диск. Это займет вечность, но оно того стоит.

Шаг 2. Отключите быстрый запуск и выключите компьютер

Для этого вам необходимо войти в систему как администратор.

Очень важно отключить быстрый запуск перед установкой GRUB, поскольку то, сможет ли установщик Ubuntu обнаружить присутствие Windows, зависит от того, как Windows представляет себя в загрузочном разделе. При правильном отключении быстрого запуска он должен быть обнаружен. Обнаружение будет рассмотрено в шаге 4.

Windows 8, 8.1 и 10 используют эту необычную новую вещь, называемую «Быстрый запуск», которая сообщает вашей прошивке, чтобы загрузить специальный загрузчик, который очень быстро восстанавливает систему до ее состояния до завершения работы. Довольно круто, а? Что ж, поскольку он изменяет параметр следующей загрузки системы EFI, эта функция должна быть отключена во время установки GRUB. Это можно сделать, выполнив следующие действия:

  1. Открыть панель управления (Windows + X-> Панель управления с рабочего стола в Windows 8+) (очевидно, Microsoft ненавидит опытных пользователей, поэтому поиск в меню «Пуск» для «Панели управления» теперь является самым быстрым способом открыть его)
  2. Перейдите к параметрам питания
  3. Нажмите «Выбрать, что делает кнопка питания»
  4. Нажмите «Изменить настройки, которые в данный момент недоступны»
  5. Убедитесь, что поле с надписью «Включить быстрый запуск (рекомендуется)» внизу не отмечено.

Более подробные инструкции можно найти здесь . Вы можете снова включить быстрый запуск после установки GRUB, и это, похоже, не вызывает проблем с загрузкой Ubuntu / GRUB. Просто убедитесь, что он отключен во время установки.

После того, как вы отключили быстрый запуск, выключите компьютер. Поскольку быстрый запуск отключен, Windows полностью завершит работу и не изменит параметр следующей загрузки в диспетчере EFI встроенного ПО. (Условия Layman: Windows не будет указывать вашей системе HP на загрузку файла быстрого запуска при следующем его включении, поэтому она будет использовать список диспетчера загрузки EFI, как и должно быть. GRUB поместит себя первым в этом списке.)

Шаг 3: Настройте разделы с помощью gparted

Перед установкой Ubuntu вы захотите использовать свой live CD / USB, чтобы создать для него отдельный раздел. Таким образом, * не будет перезаписывать Windows.

* Убедитесь, что у вас есть резервная копия. Никаких гарантий - это зависит от того, что Windows решила сделать в загрузочном разделе, а также от того, какую версию / дистрибутив Ubuntu вы используете. Я не использовал их все.

Чтобы создать разделы, вам нужно загрузиться с вашего live CD / USB и открыть gparted. Существует множество руководств по использованию gparted, и это довольно легко понять, поэтому я оставлю детали до вас и Интернета.

  • Вам понадобятся 4 раздела:

    1. Загрузочный раздел. Если у вас уже установлена ​​Windows, вам не нужно ничего делать - это уже должен быть один из первых разделов вашего диска. Иногда Windows также создает еще один небольшой раздел в начале диска под названием Recovery . Просто оставь это в покое.

      • Если вы делаете новую установку, и вы хотите начать все с нуля ( это уничтожит все ваши данные ), продолжайте и удалите все разделы на вашем диске, а затем создайте этот раздел. Это должен быть первый раздел ; его формат должен быть FAT32 ; и он должен быть не менее 200 МБ . Если у gparted есть возможность пометить его, просто вызовите его boot. Если нет опции ярлыка, не беспокойтесь об этом. Вы должныоднако установите для этого раздела флаги «boot» и «esp»; без них установщик Ubuntu будет просто игнорировать его и использовать установку в устаревшем режиме, а Windows (10) вообще откажется устанавливать с ошибкой «мы не смогли создать новый раздел или найти существующий». Или нет. Кажется, это зависит от того, как Windows чувствует себя в тот день ...
    2. Раздел Windows. Опять же, если у вас уже установлена ​​Windows, этот раздел, очевидно, должен быть здесь, после разделов загрузки и восстановления. Это то место, где вы хотите, но вам нужно изменить его размер, чтобы освободить место для раздела Ubuntu и раздела linux-swap. Для этого используйте опцию изменения размера / перемещения gparted. Ubuntu требуется как минимум 5 ГБ, а раздел linux-swap должен быть как минимум вдвое меньше вашего физического ОЗУ, поэтому измените размер раздела windows, чтобы освободить для этого место. gparted предупредит вас о потенциальной потере данных - сокращение вашего раздела не должно уничтожать или повреждать какие-либо данные, если вы не сократите их в используемое пространство.

      • При установке обеих операционных систем с нуля ( опять же, это приведет к удалению всех ваших данных ), Microsoft заявляет, что для 64-разрядной ОС потребуется не менее 20 ГБ, поэтому этот раздел должен быть не менее 20 ГБ . Возможно, вы захотите большего: я только использовал половину пространства после загрузочного раздела для Windows и половину для Ubuntu и linux-swap. Если вы собираетесь с нуля, этот раздел должен быть отформатирован как FAT32, Когда вы устанавливаете Windows, он отформатирует его в NTFS. Не делайте этого с gparted; Реализация NTFS в Windows отличается от реализации gparted, и Windows может не распознать раздел. В установщике Windows 10 у вас должна быть возможность выбрать раздел, на который следует установить Windows 10. Если он отформатирован как FAT32, Windows должна его увидеть и установить там. Если вы можете пометить этот раздел, пометьте его Windows. Это облегчит вам процесс установки Windows. Говоря об установщике Windows - пока не начинайте. Если вы выполняете новую установку Ubuntu и Windows одновременно, вместо обновления с 8 или 8.1 до 10, гораздо проще сначала установить Ubuntu .
    3. Раздел Linux. Как и раздел Windows, он может различаться по размеру, но веб-сайт Ubuntu рекомендует по крайней мере 5 ГБ . Опять же, вы, вероятно, хотите гораздо больше, чем это. Если вы выполняете обновление вместо новой установки обеих операционных систем, вы сможете создать этот раздел в новом «нераспределенном» пространстве, показанном в gparted. Сделайте его настолько большим, насколько вам нравится, но не забудьте оставить место для раздела под Linux, если вы планируете его использовать. Он должен быть отформатирован как ext4. ext2 или ext3 тоже должны работать, если вы предпочитаете их по какой-то причине.
      • При установке с нуля создайте раздел Ubuntu, как описано выше. Убедитесь, что он отформатирован как ext4, ext3 или ext2 . Это позволит Ubuntu использовать его, но не дает установщику Windows 10 распознать его, что должно привести к тому, что по умолчанию будет использоваться раздел FAT32, созданный на шаге 3, который он может прочитать.
    4. Необязательно, но рекомендуется: раздел linux-swap . По крайней мере, половина размера вашей физической памяти - хорошее начало, но я рекомендую прочитать подробности . У меня 8 ГБ оперативной памяти и 1 ТБ жесткого диска, поэтому я просто сделал этот раздел того же размера, что и моя физическая память.

Шаг 4: сначала установите Ubuntu

Независимо от того, выполняете ли вы обновление до Windows 10 с существующей ОС Windows или устанавливаете Windows 10 и дистрибутив Ubuntu на новый или только что перераспределенный жесткий диск, сначала намного проще установить Ubuntu. Ubuntu использует GRUB 2 в качестве загрузчика, который делает то, что должен делать загрузчик EFI. Windows 10 использует Windows Boot Manager, который делает что-то ... ну, как это делает Windows ... Если вы сначала установите Windows, вы, скорее всего, не сможете загрузить Ubuntu, не удерживая специальную клавишу во время процесса загрузки. запретить загрузку диспетчера загрузки Windows, поскольку диспетчер загрузки Windows не учитывает GRUB, когда он добавляется в список загрузчиков. Поэтому вместо этого сначала установите Ubuntu и GRUB, а затем добавьте запись в GRUB для диспетчера загрузки Windows.

Шаг 4.1: Очистка старых записей EFI (необязательно)

Пожалуйста, будьте осторожны здесь. Удаление неправильной вещи может вызвать огромные проблемы.

Перед установкой Ubuntu мы хотим убедиться, что призраки прошлых установок ОС не вернутся, чтобы преследовать нас в будущем. В системе UEFI операционные системы используют файлы EFI (расширяемый интерфейс встроенного ПО), чтобы сообщить встроенному ПО: «Привет, я существую. Здесь вы можете найти меня». Когда установлена ​​новая ОС, она добавляет запись в список диспетчера загрузки EFI, который присваивает ей уникальный номер записи, и сообщает диспетчеру загрузки EFI, где находятся / находятся файлы EFI (Windows регистрирует несколько различных файлов EFI. один для обычной загрузки, один для загрузки с восстановлением, один для быстрого запуска - возможно, больше в зависимости от вашей прошивки и версии ОС). Диспетчер загрузки EFI также отслеживает порядок загрузки: список номеров записей, которые указывают, что загружается первым. Если вы использовали EasyBCD; Bcdedit; Окна Инструменты для восстановления или восстановления загрузчика; восстановление загрузчика в ОС Linux; или даже если вы обновили Windows или переустановили ее, есть большая вероятность, что в вашем списке записей EFI теперь есть дубликаты. По крайней мере, так было с моей. Наличие дубликатов может замедлить процесс загрузки, поскольку микропрограмма просматривает устаревшие или неправильные записи в файле, пока не найдет загрузчик, который работает. Это также может вызвать цикл загрузки, когда загрузчик A указывает прошивку на загрузчик B, который указывает обратно на A, а затем все начинает очень и очень долго ... По мере того, как прошивка просматривает устаревшие или неправильные записи в файле, пока не найдет загрузчик, который работает. Это также может вызвать цикл загрузки, когда загрузчик A указывает прошивку на загрузчик B, который указывает обратно на A, а затем все начинает очень и очень долго ... По мере того, как прошивка просматривает устаревшие или неправильные записи в файле, пока не найдет загрузчик, который работает. Это также может вызвать цикл загрузки, когда загрузчик A указывает прошивку на загрузчик B, который указывает обратно на A, а затем все начинает очень и очень долго ...

В любом случае, чтобы просмотреть свой список записей EFI и посмотреть, что нужно очистить, используйте efibootmgrпакет с вашим живым CD / USB. Вам нужно будет установить его с sudo apt-get install efibootmgrпомощью терминала, а затем запустить его с помощью sudo efibootmgr. По умолчанию вы получите список записей, который выглядит примерно так:

Изображение списка записей EFI Boot Manager из вывода efibootmgr

Когда я впервые использовал этот инструмент после того, как возился с EasyBCD и bcdedit, пытаясь заставить вещи загружаться в правильном порядке, у меня было более сотни записей, большинство из которых дублируются.

Если ваш список менеджера загрузки не слишком перегружен или вам неудобно решать, что можно удалить, а что не следует удалять, просто перейдите к шагу 4.2.

Чтобы очистить любые записи, которые вам не нужны, используйте efibootmgr -b <hex_number> -B, где hex_numberзаменяется номером, указанным в загрузочной записи. Итак, чтобы удалить USB Drive (UEFI)запись (пронумерованный Boot 2001 ) на картинке выше, я бы использовал sudo efibootmgr -b 2001 -B. Вы заметите, что я оставил несколько дубликатов (все 3000+ пронумерованных записей). Вы можете использовать efibootmgrразличные параметры для просмотра некоторых других атрибутов записей, таких как пути к файлам, на которые они указывают. Эти записи выглядят как дубликаты, но все они указывают на разные файлы, используемые моим ноутбуком HP для обновления BIOS. Пожалуйста, будьте осторожны, что вы удалите. Это может быть очень трудно или невозможно заменить вещи здесь. Вы также можете использовать efibootmgr, чтобы изменить BootOrder, который он отображает. Смотрите справочную страницу для получения дополнительной информации об этом полезном инструменте.

Шаг 4.2: Установка Ubuntu

После того, как вы очистили записи EFI Boot Manager, если вы решили это сделать, наконец-то пришло время установить Ubuntu. Загрузив live CD / USB, выберите вариант установки в меню загрузчика или запустите его с рабочего стола после входа в систему. Выберите параметры на первой странице установщика. Вторая часть будет выглядеть примерно так: (Я использую Xubuntu 14.04, поэтому ваш установщик может отличаться, но параметры должны быть примерно одинаковыми.)

Снимок экрана параметров установки Xubuntu 14.04

Если ваш установщик не обнаруживает вашу установку Windows (как у меня), вам нужно выбрать опцию «Что-то еще». Оттуда вы получите экран, похожий на меню gparted, которое вы использовали для настройки своих разделов. Просто выберите разделы, которые вы сделали, и назначьте их правильной точке монтирования, выбрав раздел и нажав «Изменить».

  • Если вы устанавливаете обе ОС с нуля, сделайте то же самое. Не используйте опцию автоматической установки. Вы должны убедиться, что Ubuntu устанавливается в раздел ext2 / ext3 / ext4, а не в раздел FAT32 Windows.

Шаг 5: Обновите или установите Windows второй

У вас должен быть установочный диск для Windows 10. Прежде чем начинать установку, убедитесь, что у вас есть ключ продукта, иначе вы не сможете установить / обновить. Когда вы загружаетесь с установочного CD / USB, программа установки довольно проста. Слишком просто для моего удобства - единственной кнопкой была «Установить Windows 10» или что-то в этом роде, а Windows 8, 8.1 и 10 печально известны своими закулисными установками, где просто говорится: «Мы готовит вещи ", и не предоставляет подробных сведений о том, что он на самом деле делает с вашей системой. Если вы уже выполнили эти инструкции, все будет в порядке, чтобы начать установку регулярно.

  • Если вы обновляете Windows 8 или Windows 8.1, вам не нужно делать ничего особенного в процессе установки. Пройдите (очень долгую) установку и перейдите к шагу 6.

  • Если вы делаете новую установку, установщик спросит вас, где вы хотите установить Windows 10. Убедитесь, что вы выбрали раздел FAT32, созданный на шаге 2, а не другой раздел, иначе этот раздел будет удален и отформатирован. Поскольку Ubuntu уже установлена, Windows 10 должна относиться с уважением к загрузочному разделу и не переформатировать его. Удаление записей мусора из списка менеджера загрузки EFI также освободит место в крошечном загрузочном разделе объемом 200 МБ, уменьшая вероятность того, что Windows запутается и рассердится, и все это очистит для себя.

Шаг 6: Обновите и (необязательно) настройте GRUB

После установки или обновления до Windows 10 вам потребуется перезагрузиться в Ubuntu, чтобы обновить GRUB, чтобы в его список был включен диспетчер загрузки Windows. Прежде чем сделать это, снова отключите быстрый запуск. Это делается очень похоже на то, как вы это делали в шаге 2. Панель управления и пользовательский интерфейс настроек немного отличаются, но большинство параметров все еще там.

После того, как вы снова отключили быстрый запуск, перезагрузите компьютер.

Если Windows загружается по умолчанию, вам нужно удерживать нажатой специальную клавишу для вашего ноутбука, чтобы перейти в меню прошивки системы. На моем HP Touchsmart этот ключ - Esc. Другими общими клавишами являются F12, Delete, F10 ... Руководство вашего компьютера должно помочь вам здесь. Из меню прошивки загрузитесь в GRUB. Должна быть опция «выбрать загрузочное устройство» или что-то подобное, и там должны быть указаны Ubuntu или GRUB. Если его нет в списке, найдите вариант загрузки из файла EFI и перейдите к /EFI/ubuntu/grubx64.efi или (если у вас включена безопасная загрузка), EFI / ubuntu / shimx64.efi. Фактические пути к этим файлам могут различаться в зависимости от ваших параметров и настроек загрузочного раздела, но имена файлов должны совпадать. Выбор одного из этих файлов .efi должен загрузиться в GRUB, где вы можете загрузить ваш дистрибутив Ubuntu. После входа в систему откройте терминал и введитеsudo update-grub, Это запустит скрипт os-prober, который GRUB использует для компиляции grub.cfg, который сообщает EFI-файлу grub, какие записи включать, какие цвета использовать и т. Д. Скрипт os-prober должен идентифицировать диспетчер загрузки Windows и автоматически добавлять его в список.

При желании вы можете установить Grub Customizer, чтобы изменить порядок пунктов меню и изменить поведение, цвет и фон меню GRUB. Вы можете установить это из терминала, используя sudo apt-get install grub-customizer, а затем запустить sudo grub-customizer.

При использовании GRUB в системе UEFI, используемой совместно с ОС Windows, НЕ устанавливайте в MBR. В некоторых руководствах перечислено, что это важный шаг для использования опции «Установить в MBR» Grub Customizer в меню «Файл». Вы не должны делать это в большинстве систем UEFI. MBR (Master Boot Record) предназначена для микропрограмм BIOS и до некоторой степени все еще используется загрузчиком Windows. Добавление GRUB в MBR, когда оно уже есть в списке записей EFI, может вызвать массу проблем. Если вам необходимо убедиться, что GRUB является первой записью в списке порядка загрузки (т. Е. Если Windows всегда загружается, даже если вы все делали правильно), используйте efibootmgr (см. Шаг 4.1) для просмотра / редактирования порядка загрузки диспетчера EFI ,

Примечания

Я не упомянул Безопасную загрузкувообще, потому что это обычно не должно влиять на установку Ubuntu. Во многих руководствах по двойной загрузке говорится о его отключении, но это обычно не требуется для текущего 64-разрядного установщика. Тем не менее, каждый ПК отличается, и Secure Boot является довольно новым (2012), поэтому разные прошивки могут реализовывать вещи по-разному. Например, версия моей прошивки HP включает опцию «прежней загрузки», которая отключает безопасную загрузку и обрабатывает установленные ОС так, как если бы это была прошивка BIOS: некоторые люди рекомендуют включить эту установку для двойной загрузки. Установка Ubuntu в прежнем режиме загрузки на моей системе не позволила GRUB добавить себя в список записей EFI, поэтому все, что он мог сделать, - это добавить себя в MBR, которой Windows Boot Manager полностью контролировал. Диспетчеру загрузки Windows потребовалось много настроек, чтобы отобразить список записей,

Смотрите здесь для получения дополнительной информации о Ubuntu и Secure Boot и Legacy Boot, а также о разнице между установками UEFI и BIOS в целом.

Майкл Хоффманн
источник
11
Слишком долго ИМХО, чтобы быть хорошим ответом на этом сайте. Не забывайте аудиторию, к которой вы пишете: среднестатистический пользователь, который не знает разницы между графическим процессором и центральным процессором ... (Вы знаете, как отменить изменения?)
Fabby
4
Пожалуйста продолжай! Бритва Оккама, а? Я изо всех сил пытаюсь упростить это, не чувствуя себя так, словно опускаю важные детали, поэтому любая помощь приветствуется.
Майкл Хоффманн
24
+1 за лучшее объяснение, которое я читал о UEFI. Я думал, что это был своего рода «новый биос»
SuperSluether
5
Один из лучших ответов, которые я когда-либо видел. Скоро попробую с грядущей Ubuntu.
Mosh
11
Это невероятный гид. Я понимаю ранее упомянутое желание упростить это, но я не думаю, что есть простой ответ на эту проблему. Да, вы могли бы гипотетически сократить его до просто списка пунктов «сделай это, затем сделай это», но я думаю, что в этом нет необходимости. Работать с дисками нужно с большой осторожностью; не хочу, чтобы обычный пользователь пытался следовать списку маркеров и потерпел неудачу где-то посередине.
vaindil
8

Я не хочу дублировать сообщение для возможного нарушения политики, поэтому я свяжу свой ответ для этой проблемы. Короче говоря, у меня есть ноутбук Samsung с уже установленной Windows 10, и я пытался установить Linux с несколькими экземплярами; Ubuntu 12.04, 14.04 и 16.04. Я использовал Boot-Repair и изменил Boot Priority в моем Setup BIOS, что привело к функциональной, но грязной загрузке GRUB . Ответ пользователя Michael Hoffmann дает хорошее объяснение по установке на чистый диск и по очистке GRUB , но я не хотел удалять мою установку Windows 10.

Подробное объяснение можно найти в моем посте ЗДЕСЬ .

Paresh471
источник
1
Эй, спасибо, что придерживаешься политики сайта! Это держит вещи в чистоте и организованно и помогает людям находить ответы. Ваш ответ чрезвычайно полезен и связан с моим вопросом и моим ответом, поэтому я рад, что вы добавили его сюда. Спасибо за ссылку!
Майкл Хоффманн
6

Я могу представить вам простой взлом для этой проблемы, используйте его, если ни одно из законных решений не решило вашу проблему.

Поскольку Windows постоянно меняет порядок загрузки, хитрость заключается в том, чтобы обмануть Windows, чтобы распознать Ubuntu Grub как загрузочный файл Windows, т.е. bootmgfw.efi

Часть 1. Доступ к папке EFI в Windows

Откройте cmd от имени администратора и смонтируйте папку EFI для доступа к ней. Выполните следующие команды одну за другой. Ниже я назначил букву g для монтирования, убедитесь, что вы назначаете неназначенную букву на своем ПК.

mountvol g: /s
g:
cd EFI\

Вы должны увидеть папку Microsoft и папку Ubuntu в EFI.

Часть 2: Скопируйте grubx64.efi из Ubuntu в Microsoft \ Boot \ как bootmgfw.efi

Сначала создайте резервную копию bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Теперь сделайте копию и переименуйте.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Часть 3. Размонтирование папки EFI

Выполните следующие команды одну за другой.

c:
mountvol g: /d

Теперь перезагрузите ваш компьютер, и вы увидите загрузку Ubuntu GRUB, которая также должна иметь загрузчик Windows UEFI для загрузки Windows.

завидовать
источник
Это работает, но обновления Windows могут заменить файл .efi, поэтому может потребоваться время от времени повторять его. Спасибо за вклад!
Майкл Хоффманн
1
Да, некоторые обновления Windows действительно заменяют файл .efi, поэтому лучше всего делать, если вы не используете Windows, которая часто отключает обновления из локальных служб, и обновляйте Windows, когда вы захотите, и повторите упомянутые шаги.
Зависть
Это работает, но как мне вернуться к моей Windows? Теперь он загружается прямо в мой Linux. Пожалуйста, порекомендуйте.
Мартти д
@marttid grub также должен показывать опцию Windows. Убедитесь, что «bootmgfw_.efi» существует в загрузочной папке Microsoft.
Зависть
1
Или в одной команде, bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efiкак предложено здесь
newandlost
2

Немного более простое решение для вышеуказанной проблемы.

  1. Нажмите F10во время загрузки, чтобы перейти к расширенным настройкам BIOS
  2. В настройках Порядка загрузки BIOS включите Legacy Boot order, который включит как UEFI, так и Legacy Boot Order.
  3. Увеличение задержки загрузки до 5 секунд даст некоторое время при выборе операционной системы.
  4. Сохраните настройки BIOS и выйдите.
  5. При следующей загрузке вам будет предложено выбрать вариант загрузки. Нажмите F9для входа и выберите соответствующий вариант загрузки (Диспетчер загрузки ОС Windows или Ubuntu)
Вишал Ядав
источник
1
Я думаю, что это своего рода решение, но это совсем не удобная для пользователя система на основе GRUB, которую ищет большинство людей, когда они говорят о двойной загрузке. Необходимо избегать необходимости заходить в меню встроенного программного обеспечения - где очень легко что-то сломать - при каждой загрузке компьютера. Включение Legacy Boot также требует отключения Secure Boot (по крайней мере, на моей прошивке), что может сделать систему более уязвимой для внедрения встроенного ПО - любой незнакомец может подключить USB-накопитель с вредоносной ОС на свой компьютер и загрузить его за считанные секунды.
Майкл Хоффманн
1
По крайней мере, в моем сценарии я нашел его более удобным и быстрым, чем решение № 1, и в качестве обходного пути для решения проблемы с режимом загрузки Windows UEFI, который изначально ограничивал двойную загрузку. Да. Действительно, этот обходной путь предназначен для людей, которые могут включить традиционную загрузку и контролировать свой ПК / ноутбук, чтобы они не подвергались воздействию посторонних лиц и знали, что они делают. Кроме того, многие люди хотят, чтобы их ПК выполнял двойную загрузку после того, как они уже установили / обновили до Windows 10, и у них может не хватить ресурсов или времени, необходимых для решения № 1.
Вишал Ядав
0

Я нашел гораздо более простое решение, которое работало на ноутбуке HP (355 G2) с установленной Windows 10

  1. Нажмите escape во время загрузки
  2. Нажмите F9 для параметров загрузки
  3. Выберите вариант USB, который не является UEFI (по моему он был внизу в списке) и нажмите Enter
  4. Вы получите экран с сообщением об ошибке. Однако вам просто нужно набрать 'live', чтобы опробовать ОС, или 'live-install' и нажать Enter, чтобы установить ее, и все должно пройти гладко ....
Amphibio
источник
Не могли бы вы узнать, какую версию прошивки вы используете? Если установка теперь работает как задумано, это замечательно, но это может быть именно эта конкретная модель. Возможно обновление прошивки упростит процесс на моей модели. Я переустановлю обе ОС, чтобы я мог переставить свои разделы и попробовать другой дистрибутив где-то на этой неделе, и я планировал использовать свое руководство, но если ваша версия прошивки отличается от моей, я мог бы сначала попробовать обновить.
Михаэль Хоффманн
Да, установка и двойная загрузка, кажется, работают отлично. Я не уверен, как именно найти версию прошивки BIOS / материнской платы (если это то, что вы хотели). Я попробовал 'sudo dmidecode', но он выкинул больше информации, чем мне было нужно ...
Amphibio
Если вы нажмете ESC во время загрузки, должна быть опция для настроек BIOS или настроек прошивки. Там должно быть О или что-то там.
Майкл Хоффманн
1
Окей круто. Версия BIOS - F. 10. Компьютер «Дата рождения» выпущена в 2015 году, и на заводе была установлена ​​ОС Windows 7, если это что-то
Amphibio
Хм, это для загрузки живого USB в режиме BIOS, когда речь идет о режиме UEFI, и системы с двойной загрузкой, где Grub загружается первым.
RoundDuckMan
0

Принимая вдохновение (если честно, больше похоже на отрыв от ответа, а затем упорядочение его, потому что он слишком сложный) от определенного ответа здесь (в частности, вашего супер-подробного ответа здесь), вот способ достижения этого, также заимствование из мой недавний пост Q & A ( Могу ли я установить Windows после установки Ubuntu в UEFI? ).

Первый и самый простой способ, так как кажется, что UEFI отдает приоритет первой установленной системе (по крайней мере, в этих системах HP у меня есть HP OMEN, где я достиг этого), а не традиции приоритезации самой новой установки. Возможно, это даже может произойти, поскольку UEFI изначально поддерживает несколько загрузчиков.

Это означает, что для приоритета Grub в Ubuntu вы должны сначала установить Ubuntu. Теперь не беспокойтесь об этом, так как после этого Windows 10 будет хорошо установлена ​​вместе с Ubuntu, просто создайте разделы Windows в установщике Windows, а затем установите.

Затем, после того, как все настроено, попробуйте перезагрузиться из Windows, или, конечно, вы должны сделать это перед загрузкой в ​​Ubuntu, отключите опцию быстрого запуска, перейдя к параметрам питания, затем перейдите к «выбрать, что делает кнопка питания». , и снимите флажок «включить быстрый запуск».

Теперь другой путь - через efibootmgr. У меня нет большого опыта в этом, поэтому я решил позаимствовать у отличного парня, который знает все тонкости UEFI, доброго старина Рода Смита. Здесь он ответил на вопрос: измените порядок загрузки с помощью efibootmgr . Вот что он сказал дословно:

Во-первых, жалоба на то, что загрузочные файлы находятся далеко от начала диска, не имеет значения на компьютере с загрузкой EFI. В BIOS существуют ограничения (которые варьируются в зависимости от того, сколько лет BIOS), но даже в (современном) BIOS ваш 750 ГБ диск не должен создавать проблем.

Во-вторых, вы можете изменить BootOrderпеременную с помощью параметра efibootmgr's -o, например:

sudo efibootmgr -o 0,1,2

Эта команда ubuntuсначала установит два экземпляра, а затем Windows Boot Managerвведет запись. Это должно сработать. К сожалению, некоторые EFI содержат ошибки и «забывают» BootOrderзапись или ведут себя неправильно. Если у вас есть проблемы, я рекомендую попробовать следующую команду в окне командной строки администратора Windows:

bcdedit / set {bootmgr} path \ EFI \ ubuntu \ shimx64.efi

(Если вы отключили безопасную загрузку, вы можете заменить shimx64.efiс grubx64.efi, хотя должны либо работать с Secure Boot Отключено) .

Если это не помогло, значит, ваша прошивка неисправна. Возможно, доступно обновление от HP. Если нет, или если это не помогает, и если у вас есть срок возврата вашего компьютера, верните его за возмещение и получите что-нибудь, что не сломано. Если вы не можете этого сделать, то вы попадаете на территорию действительно уродливых обходных путей, таких как переименование GRUB, чтобы он выглядел как загрузчик Windows. Смотрите здесь некоторую информацию по этой теме, хотя и написанную специально для rEFInd. Однако основные принципы применимы ко всему.

В общем, используйте efibootmgr для изменения порядка загрузки. После того, как вы все сделаете правильно, вы должны сначала загрузить Ubuntu вместо Windows. :)

Я надеюсь, что все это помогает!

RoundDuckMan
источник