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

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

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

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

Что вам понадобится:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      • Если вы выполняете новую установку и хотите начать все с нуля (это приведет к удалению всех ваших данных), продолжайте и удалите все разделы на вашем диске, а затем создайте этот раздел. Это должно быть самое первый раздел; его формат должен быть FAT32; и это должно быть не менее 200 МБАЙТ по размеру. Если у gparted есть возможность пометить его, просто вызовите его boot. Если нет опции "ярлык", не беспокойтесь об этом. Вы должен однако установите флаги "boot" и "esp" для этого раздела; без них установщик Ubuntu просто проигнорирует его и будет использовать установку в устаревшем режиме, а Windows (10) вообще откажется от установки с ошибкой "мы не смогли создать новый раздел или найти существующий". Или нет. Похоже, это зависит от того, как Windows чувствует себя в тот день...
    2. Раздел Windows. Опять же, если у вас уже установлена Windows, этот раздел, очевидно, должен быть здесь, после разделов загрузки и восстановления. Это то место, где вы хотите его разместить, но вам нужно изменить его размер, чтобы освободить место для вашего раздела Ubuntu и раздела linux-swap. Для этого используйте опцию изменения размера/перемещения gparted. Ubuntu требуется не менее 5 ГБ, а раздел подкачки Linux должен быть как минимум вдвое меньше вашей физической оперативной памяти, поэтому измените размер раздела 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. Необязательно, но рекомендуется: a linux-раздел подкачки. По крайней мере, вдвое меньше вашего физического объема оперативной памяти это хорошее начало, но я рекомендую прочитать подробности. У меня 8 ГБ оперативной памяти и жесткий диск объемом 1 ТБ, поэтому я просто сделал этот раздел такого же размера, как и моя физическая оперативная память.

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

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

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

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

Перед установкой Ubuntu мы хотим убедиться, что призраки прошлых установок ОС не вернутся, чтобы преследовать нас в будущем. В системе UEFI операционные системы используют файлы EFI (extensible firmware interface), чтобы сообщить встроенному ПО: "Эй, я существую. Вот где вы можете меня найти". Когда устанавливается новая ОС, она добавляет запись в список EFI Boot Manager, который присваивает ей уникальный номер записи и сообщает EFI Boot Manager, где находится / находятся ее EFI-файлы (Windows регистрирует несколько разных EFI-файлов- один для обычной загрузки, один для загрузки с восстановлением, один для быстрого запуска - возможно, больше в зависимости от вашей прошивки и версии вашей ОС). Менеджер загрузки EFI также отслеживает порядок загрузки: список номеров записей, которые указывают, что загружается первым. Если вы использовали EasyBCD; bcdedit; Средства восстановления или восстановления загрузки Windows; восстановление загрузки в ОС Linux; или даже если вы обновили или переустановили Windows, есть большая вероятность, что в вашем списке записей EFI теперь есть несколько дубликатов. По крайней мере, так было в моем случае. Наличие дубликатов здесь может замедлить процесс загрузки, поскольку прошивка просматривает устаревшие или неправильные записи файлов, пока не найдет загрузчик, который работает. Это также может вызвать цикл загрузки, когда загрузчик A направляет прошивку на загрузчик B, который направляет ее обратно на A, а затем все начинает занимать очень, очень много времени...

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

Picture of EFI Boot Manager entry list from the output of efibootmgr

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

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

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

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

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

Screenshot of Xubuntu 14.04 install options

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

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

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

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

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

  • Если вы выполняете новую установку, программа установки спросит вас, где вы хотите установить Windows 10. Убедитесь, что вы выбрали раздел FAT32, созданный на шаге 2, а не другой раздел, иначе этот раздел будет удален и отформатирован. Поскольку Ubuntu уже установлена, Windows 10 должна с уважением относиться к загрузочному разделу и не переформатировать его. Удаление ненужных записей из списка EFI Boot Manager также освободит место в крошечном загрузочном разделе объемом 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/grubx64.efi. Фактические пути к этим файлам могут отличаться в зависимости от ваших настроек и того, как настроен загрузочный раздел, но имена файлов должны быть одинаковыми. Выбрав один из этих файлов .efi, вы должны загрузиться в GRUB, откуда затем сможете загрузиться в свой дистрибутив Ubuntu. После того, как вы вошли в систему, откройте терминал и введите sudo update-grub. При этом будет запущен скрипт проверки ОС, который GRUB использует для компиляции grub.cfg, который сообщает файлу EFI grub, какие записи следует включить, какие цвета использовать и т.д. Скрипт проверки ОС должен идентифицировать диспетчер загрузки Windows и автоматически добавить его в список.

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

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

Записи

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

Видеть здесь для получения дополнительной информации о Ubuntu и безопасной загрузке и устаревшей загрузке, а также информации о различиях между установками UEFI и BIOS в целом.