Windows 8 удаляет Grub как менеджер загрузки по умолчанию

У меня есть серия Sony VAIO S с предустановленной Windows 8, и я установил Ubuntu 12.10 на новый раздел. Когда ПК загружается, отображается Grub, и я могу выбирать между Windows 8 (сначала не работало, пришлось менять настройки Grub) и Ubuntu 12.10. Когда я выбираю Ubuntu 12.10, все в порядке, но когда я использую Windows 8 и перезагружаюсь, Grub больше не отображается (Windows 8 загружается сразу).

Я загрузил Ubuntu 12.10 LiveUSB, использовал efibootmgrи обнаружил, что Windows 8 (каждый раз при загрузке) меняет загрузчик EFI по умолчанию с Grub на Windows Boot Manager.

Как я могу изменить это в Windows 8? Я читал кое-что о bcdedit, но это не работает, или я не знаю, как его использовать...

7 ответов

Решение

Я не могу давать никаких обещаний, но попробуйте это из окна командной строки Windows, запущенного с правами администратора:

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

Обратите внимание, что {bootmgr} должен быть набран точно; это не переменная. Если это не сработает, вы можете попробовать это в Linux:

  1. Резервное копирование всего содержимого /boot/efi (ваш системный раздел EFI или ESP).
  2. Тип sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft,
  3. Тип cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi,
  4. Создать новый /etc/grub.d/40_custom запись в файле, которая относится к EFI/Microsoft/bootmgfw.efi, Смоделируйте это после существующей записи в /boot/grub/grub.cfg это относится к EFI/Microsoft/Boot/bootmgfw.efi; просто удали Boot из пути загрузки и дайте записи новое имя.
  5. Тип sudo update-grub установить новую запись GRUB.

При перезагрузке GRUB должен появиться. Проблема в том, что если / когда Windows решит переустановить загрузчик, система снова начнет загрузку прямо в Windows.

На шаге 4 вы можете:

  1. Скопируйте 40_custom запись начинается с menuentry 'Windows ...' расположенный между набором ### BEGIN <path> ### а также ### END <path> ### Теги / комментарий. Это запись, содержащая путь, содержащий Boot,
  2. Создать новую запись в файле /etc/grub.d/40_custom добавив скопированный menuentry,
  3. Измените название новой записи (оригинал должен быть Windows Boot Manager или что-то подобное).
  4. Изменить путь от EFI/Microsoft/Boot/bootmgfw.efi в EFI/Microsoft/bootmgfw.efi,

РЕДАКТИРОВАТЬ:

С момента написания этого ответа мне стало известно о стороннем инструменте Windows под названием EasyUEFI, который является более простым инструментом графического интерфейса пользователя, чем bcdedit для настройки порядка загрузки EFI из Windows. Я не знаю, будет ли EasyUEFI мешать Windows вносить изменения, если Windows имеет привычку устанавливать себя по умолчанию при каждой загрузке. Таким образом, bcdedit может все еще потребоваться, но EasyUEFI определенно стоит попробовать.

Как я могу изменить это в Windows 8? Я читал кое-что о bcdedit, но он не работает, или я не знаю, как его использовать...

Та же самая проблема здесь, я наконец понял, что это последнее обновление W8.1 сделало это, и я знаю это, потому что я только что обновил сегодня и не в течение 33 дней или около того, мой Павильон HP сказал мне..

Во всяком случае, вот что сработало:

Я следил за этим видео на Utube, чтобы остановить "Автоматическое восстановление [Boot]": http://www.youtube.com/watch?v=VRQYmtysFkg

Затем изменили bootmgr, используя вышеуказанное решение, предоставленное Rod: bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Бинго!

Кстати: Boot Repair от моего LiveUsb не сделал nada, но вызвал короткую вспышку, пока W8 восстанавливал свою загрузочную запись..

На некоторых компьютерах параметры BIOS управляют приоритетом загрузки файлов *.efi в разделе UEFI. Я обнаружил, что мой ноутбук HP Pavilion 15-f039wm сделал, хотя не сразу было очевидно, что он имеет эту функцию. Установка его в BIOS лучше, чем непосредственно связываться с файлами.efi и использовать bcdedit.

Для этой машины я нажимаю F10, чтобы перейти к настройке BIOS, затем наведите курсор и выберите "Boot Options". Существуют параметры для приоритетов загрузки UEFI, которые можно изменить, одним из которых является "Диспетчер загрузки ОС". Однако эта опция имеет дополнительную функцию: если я выделю ее и нажму Enter, появится всплывающее окно для перестановки приоритетов для "ubuntu" и "Диспетчер загрузки Windows" в "Диспетчере загрузки ОС". Я помещаю "Ubuntu" сверху с помощью F5 / F6, сохраняю содержимое всплывающего окна с помощью F10, а затем снова нажимаю F10, чтобы сохранить и выйти из BIOS Setup.

Теперь без вмешательства загрузки я получаю меню Grub, которое по умолчанию загружает Ubuntu. Я все еще могу загрузить Windows через меню Grub или получить безопасную загрузку, нажав F9, чтобы открыть меню UEFI Boot Manager.

Эта функция BIOS помогает объяснить, почему казалось, что код UEFI отменяет изменения в BootOrder, которые я сделал с помощью efibootmgr в Ubuntu.

С Windows 10 и Ubuntu 14.04 на Acer E17 у меня была похожая проблема (Windows Boot Manager вступил во владение, не мог получить доступ к Grub при загрузке). Я следовал инструкциям, представленным Родом Смитом выше, но не повезло. (очень хорошие инструкции, кстати)

Я нашел параметр в BIOS в порядке загрузки, в котором сначала указывался диспетчер загрузки Windows, а затем - жесткий диск. Я поменял их местами, сохранил и вышел / перезагрузил, и Grub подошел сразу.

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

У меня есть только часть ответа: рабочее решение, которое почти нормально, пока я не найду, как это исправить навсегда.

Была такая же проблема: кромка ThinkPad поставляется с Windows 8; установил Ubuntu в качестве двойной загрузки и в основном забыл о Windows, пока не вышел 8.1, и я решил попробовать, прежде чем удалить Windows навсегда. Таким образом, после установки 8.1, grub больше не появляется при запуске, НО, когда я нажимаю F12, появляется другое меню, которое позволяет мне загружать Ubuntu. Вот как я сейчас запускаю свой компьютер: но каждый второй раз я забываю нажать F12, и он все равно запускает Windows (что мне почти никогда не нужно).

Таким образом, нажатие клавиши F12 помогает на некоторое время (не уверен, работает ли это в вашем случае, но, возможно, стоит попробовать). Я знаю, что есть инструкции о том, как восстановить grub, но я ничего не буду делать, пока не буду полностью уверен.

Почему-то Windows 8.1 полностью блокирует Ubuntu является дубликатом этого вопроса. Я не думаю, что это так, но я могу только комментировать здесь. Я испытывал те же симптомы, что и Windows 8.1 - полностью блокирующая Ubuntu.

В моем случае решение состояло в том, чтобы нажать F2 во время загрузки и изменить порядок загрузки так, чтобы ubuntu была первой в списке. По какой-то причине после того, как я обновил свой ноутбук с двойной загрузкой (Win/ Ubuntu) с Win 8 до Win 8.1, "windows" появились в верхней части списка загрузки, перед Ubuntu, DVD, USB и т. Д., И мой ноутбук загрузился прямо в Windows 8.1, не давая у меня любой выбор.

Нажатие клавиши F2 во время загрузки и повышение рейтинга Ubuntu решило мою проблему и снова сделало доступным Ubuntu (вместе с Windows 8.1) после того, как я обновился до Windows 8.1 из магазина Microsoft.

  1. запустить Boot-Repair's Recommended Repair с liveCD, затем перезагрузите компьютер.
  2. если все еще не хорошо, запустите Boot-Repair -> Дополнительные параметры -> снимите флажок "Backup and rename EFI files"-> галочка"Restore EFI backups"-> Применить
Другие вопросы по тегам