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.