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

У меня Sony серии 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, но это не работает, или я не знаю, как его использовать ...

39
задан 6 May 2014 в 04:09

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[1172986ght.[12209 sizesType cp /boot/efi/EFI/ubuntu/grubx64.efi / boot /efi/EFI/Microsoft/Boot/bootmgfw.efi.
  3. Создайте новую запись файла /etc/grub.d/40_custom , которая ссылается на EFI / Microsoft / bootmgfw. efi . Смоделируйте его по существующей записи в /boot/grub/grub.cfg , которая ссылается на EFI / Microsoft / Boot / bootmgfw.efi ; просто удалите Boot из загрузочного пути и дайте записи новое имя.
  4. Введите sudo update-grub , чтобы установить новую запись GRUB.

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

Для шага 4 вы можете:

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

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

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

37
ответ дан 6 May 2014 в 04:09
  1. запустите Boot-Repair Рекомендуемое восстановление с liveCD, затем перезагрузите компьютер.
  2. если все еще не работает, запустите Boot-Repair -> Дополнительные параметры -> снимите галочку « Резервное копирование и переименование файлов EFI » -> отметьте « Восстановить резервные копии EFI » -> Применить
1
ответ дан 6 May 2014 в 04:09

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

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

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

1
ответ дан 6 May 2014 в 04:09

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

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

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

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

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

Bingo!

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

3
ответ дан 6 May 2014 в 04:09

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

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

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

1
ответ дан 6 May 2014 в 04:09

Каким-то образом 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
ответ дан 6 May 2014 в 04:09

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

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

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

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

1
ответ дан 6 May 2014 в 04:09

Другие вопросы по тегам:

Похожие вопросы: