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


37

У мене є серія 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, але це не працює або не знаю, як це використовувати ...


Я думаю, ти на хорошому шляху вирішуєш це самостійно. Просто продовжуйте копати [;
Диня

3
Так, мені потрібна лише одна дрібниця, тоді я напишу підручник, як це зробити. Microsoft смокче, чому їм доводиться змінювати диспетчер завантаження за замовчуванням? На мою думку, це не дозволяє людям використовувати щось інше, ніж продукти Microsoft.
Курос

Нааа, я думаю, що їм просто все одно. У будь-якому випадку, сподіваємось, що незабаром побачимо ваш підручник.
Диня

Я просто запитав службу підтримки Microsoft про це, і вони направили мене на свої форуми. На форумах товариш сказав мені, що Windows ставить себе на перше місце. Період. Якщо мені це не подобається, просто створіть пакетний файл у Windows, який працює при кожному запуску bcdedt-s, налаштування Windows uefi для першого завантаження grub. Приємно.
netom

Файлова система GPT містить дублікат завантажувальних секторів. Здається, Windows просто перевіряє контрольну суму MBR та "відновлює" її, замінюючи її вихідними захисними даними MBR. Найкраща практика безпеки. en.wikipedia.org/wiki/GUID_Partition_Table

Відповіді:


33

Я не обіцяю, але спробуйте це у вікні командного рядка 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, який є простішим інструментом GUI, ніж bcdeditдля налаштування порядку завантаження EFI з Windows. Я не знаю, чи EasyUEFI зупинить Windows від внесення змін, якщо Windows має звичку встановлювати себе за замовчуванням для кожного завантаження. Таким чином, bcdeditвсе ж може знадобитися, але EasyUEFI, безумовно, варто також спробувати.


5
Чи могли б ви зробити мені / нам послугу і надасте нам конкретні підказки для терміналу для кроку 4? Я робив все інше, окрім цього кроку, тому що я не був впевнений, які саме команди вводити. Grub зараз працює, але це не дозволить мені завантажуватися в Windows. Еек!

будь ласка, розробимо крок 4
джи-рух

\EFI\ubuntu\shimx64.efiзнайдено на Ubuntu 18.0.4 LTS
CSGO

2

Як змінити це в Windows 8? Я читав щось про bcdedit, але воно не працює, або я> не знаю, як ним користуватися ...

Це ж питання тут, я нарешті з'ясував, що це останнє оновлення W8.1 зробив це, і я це знаю, тому що я нещодавно оновився сьогодні і вже 33 дні або близько того мій HP Pavilion сказав мені.

Як би там не було, ось що:

Я підписав це відео на Utube, щоб зупинити "Автоматичне відновлення завантаження": http://www.youtube.com/watch?v=VRQYmtysFkg

Потім змінив bootmgr, використовуючи вищезазначене рішення, що надається Rod: bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

Бінго!

btw: Ремонт завантаження з мого LiveUsb не надав, але спричинив короткий спалах, а W8 відремонтував запис завантаження ..


1
Чудово, що ви вирішили допомогти! Але ваша відповідь не містить жодного контексту для (відео) посилання, яке ви опублікували, і ми тут, попросити Ubuntu, хочуть цього . Ми хочемо, щоб відповіді тут містили контексти, оскільки (відео) посилання можуть рано чи пізно загинути.
VenkiPhy6

0
  1. запустити Boot-Repair «S Recommended Repairз LiveCD, а потім перезавантажте комп'ютер.
  2. якщо все-таки не добре, запустіть Boot-Repair -> Розширені параметри -> скасувати " Backup and rename EFI files" -> галочку " Restore EFI backups" -> Застосувати

2
Проблеми з нопами надходять із Windows 8
Kouros

0

У мене є лише частина відповіді: робоче рішення, яке майже нормально, поки я не з’ясую, як це виправити назавжди.

Була така ж проблема: край ThinkPad поставляється з Windows 8; встановив ubuntu як подвійний завантажувач і в основному забув про windows, поки не вийшов 8.1, і я подумав, що спробую перед тим, як видалити Windows назавжди. Тож після встановлення 8.1, grub більше не з’являється при запуску, А ось коли я натискаю F12, з'являється інше меню, яке дозволяє мені завантажувати ubuntu. Ось так я запускаю комп’ютер зараз: але кожен другий раз забуваю натиснути F12, і він все ще запускає Windows (чого я майже ніколи не хочу).

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


0

Якось Windows 8.1 повністю блокує Ubuntu - це дублікат цього питання. Я не думаю, що це так, але я можу лише тут коментувати. У мене виникли ті ж симптоми, що Windows 8.1 повністю блокує Ubuntu .

У моєму випадку рішенням було натиснути F2 під час завантаження та змінити порядок завантаження, щоб ubuntu опинився у верхній частині списку. Чомусь після того, як я модернізував свій ноутбук dualboot (Win / ubuntu) з Win 8 до Win 8.1 'windows' з'явився у верхній частині завантажувального списку перед ubuntu, DVD, USB та ін., І мій ноутбук завантажився прямо в Windows 8.1, не даючи мені будь-який вибір.

Якщо натиснути F2 під час завантаження та зробити ubuntu верхньою, список вирішив мою проблему і зробив знову доступним ubuntu (разом із Windows 8.1) після того, як я перейшов на Windows 8.1 з магазину Microsoft.


0

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

Я знайшов налаштування в BIOS в порядку завантаження, в якому перераховано Windows Boot Manager перше і HDD друге. Я обміняв їх, врятував і вийшов / перезавантажив, і Груб відразу підійшов.

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


0

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

Для цієї машини я натискаю клавішу F10, щоб перейти до установки BIOS, потім клацніть курсор і виберіть "Параметри завантаження". Існують варіанти пріоритетів завантаження UEFI, які можна переставити, один з яких - "Диспетчер завантаження ОС". Однак ця опція має додаткову функцію: якщо я виділити її і натиснути Enter, з'явиться спливаюче вікно для перестановки пріоритетів для "ubuntu" і "Windows Boot Manager" в "Менеджері завантаження ОС". Я ставлю "ubuntu" зверху F5 / F6, зберігаю вміст спливаючих вікон за допомогою F10, а потім знову натискаю F10 для збереження та виходу з BIOS Setup.

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.