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:
- Резервное копирование всего содержимого
/boot/efi
(ваш системный раздел EFI или ESP). - Тип
sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
, - Тип
cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
, - Создать новый
/etc/grub.d/40_custom
запись в файле, которая относится кEFI/Microsoft/bootmgfw.efi
, Смоделируйте это после существующей записи в/boot/grub/grub.cfg
это относится кEFI/Microsoft/Boot/bootmgfw.efi
; просто удалиBoot
из пути загрузки и дайте записи новое имя. - Тип
sudo update-grub
установить новую запись GRUB.
При перезагрузке GRUB должен появиться. Проблема в том, что если / когда Windows решит переустановить загрузчик, система снова начнет загрузку прямо в Windows.
На шаге 4 вы можете:
- Скопируйте
40_custom
запись начинается сmenuentry 'Windows ...'
расположенный между набором### BEGIN <path> ###
а также### END <path> ###
Теги / комментарий. Это запись, содержащая путь, содержащийBoot
, - Создать новую запись в файле
/etc/grub.d/40_custom
добавив скопированныйmenuentry
, - Измените название новой записи (оригинал должен быть
Windows Boot Manager
или что-то подобное). - Изменить путь от
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.
- запустить Boot-Repair's
Recommended Repair
с liveCD, затем перезагрузите компьютер. - если все еще не хорошо, запустите Boot-Repair -> Дополнительные параметры -> снимите флажок "
Backup and rename EFI files
"-> галочка"Restore EFI backups
"-> Применить