Як я можу запобігти перезапису GRUB під час використання машини з подвійним завантаженням


19

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


Відповіді:


17

ОС Windows перезаписує завантажувальний сектор кожен раз , коли ви встановите його, оновити його до нової версії, або використовувати такі інструменти , як bootrec /fixmbr, bootrec /fixbootабо старше fdisk /mbr. Загалом, спочатку встановіть Windows, потім Linux. Завантажувальний сектор залишатиметься поставленим до тих пір, поки ви не зробите одну з наведених вище речей. (І, можливо, є й інші способи запису на MBR.) Але, якщо ви втратите GRUB, він легко відновлюється:

  • Завантажте з живого компакт-диска (CD / DVD або флешки).
  • Станьте root або використовуйте sudoкоманди нижче.
  • Перелічіть наявні розділи, якщо потрібно: fdisk -l
  • Windows майже напевно існуватиме на / dev / sda1: mount /dev/sda1 /mnt
  • Перевстановіть GRUB в MBR: grub-install --root-directory=/mnt/ /dev/sda
  • Перезавантажте: shutdown -r now
  • Відновлення меню GRUB: update-grub

Ви також можете встановити 100% Unix, Linux або BSD і просто запустити Windows у віртуальній машині, якщо комп'ютер для цього достатньо сильний.

Також: BIOS вашого комп'ютера може мати можливість захисту завантажувального сектора.


Оновлення, ви маєте на увазі Windows 7 до Windows 8 або просто працює оновлення Windows?
Nathan2055

1
@ Nathan2055 Так, як від 7 до 8 ... нові, новіші версії Windows. Оновлення Windows не вплине на MBR.
Крістофер

Я так думав. Хороша річ, що я сумніваюся, що я буду возитися з MBR під Windows, і немає ніякого способу перейти до Windows 8, прочитавши це .
Nathan2055

1
Як альтернативу, ви можете спробувати налаштувати завантажувач windows для завантаження ланцюга для grub: oreillynet.com/pub/h/2337 Трохи більше залученого та може бути занадто багато роботи для занадто малого ефекту, але це робити так, якщо Windows перезаписує завантажувач, ви все одно зможете завантажуватися в Linux.
Братчлі

@JoelDavis: Так, я прочитав кілька навчальних посібників щодо цього, але для тих, хто абсолютно не має досвіду навіть завантаження GRUB і того факту, що я не думаю, що Windows доставить мені проблем, враховуючи, що я не хочу оновити, Я думаю, що я піду з налаштуванням GRUB для ванілі, а не зіпсуюся з завантажувачем.
Nathan2055

4

Я думаю, що я піду з налаштуванням GRUB для ванілі, а не зіпсуюся з завантажувачем.

Якщо ви використовуєте будь-яку форму грязі, ви возиться з завантажувачем. GRUB розшифровується як "великий уніфікований завантажувач". І є дві версії - grub v1 adn grub v2. Усі сучасні системи Linux використовують grub2 автоматично. Якщо ви встановлюєте будь-яку систему Linux, grub - це завантажувач за замовчуванням, якщо ви спеціально не використовуєте LILO, що я б не радив.

Я особисто маю подвійну систему завантаження з xp та Wheezy. Я тримаю xp від надмірного написання grub, відключивши опцію "windows recovery".

Перш ніж я відключив опцію відновлення, мені доведеться виправляти grub щонайменше раз на тиждень, оскільки завантажувач windows продовжував перезаписувати grub.

Я вирішую встановити Windows 8 на зовнішній жорсткий диск через USB-порт. Я сподіваюся, що це пройде без проблем і не возиться з моїм mbr.


1
відключення опції відновлення Windows, здається, вирішило цю проблему для мене.
DrCord

2

Я використовую це рішення, яке працює з оновленнями Windows без необхідності втручання: Перейменуйте свій EFI / Microsoft в EFI / Microsomething Замініть завантажувальний шлях Windows в grub.cfg до EFI / Microsomething / bootmfgw.efi.

menuentry "Microsoft Windows UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root <PROVIDE YOUR EFI DRIVE UUID>
    chainloader /EFI/Microsomething/Boot/bootmgfw.efi
}

1

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


2
Це може спрацювати, якщо інсталяція Windows просто змінила завантажувальний розділ. У моєму випадку установка Windows 8.1 перезаписала MBR, вимагаючи grub-installрішення Крістофера .
Натан Кідд

1

Рішення, яке я знайшов десь в Інтернеті (unix.stackexchange.com), включає деактивацію менеджера завантаження Windows. Перейдіть в Linux (або в оригінальній установці, якщо ви можете, або в прямому ефірі CD / DVD) і запустіть цю команду:

efibootmgr

Зауважте, що цей метод працюватиме лише в тому випадку, якщо Linux був встановлений у режимі UEFI, тому ви отримаєте помилку, якщо Linux був встановлений у попередньому режимі. Якщо ви встановили його в режимі UEFI, ви отримаєте деяку інформацію та список. Ви помітите завантажувач / менеджер завантаження Windows і Linux десь у списку. Цілком ймовірно, що Windows матиме більш високий пріоритет (порядок завантаження вище списку).

Біля деяких записів також є зірки *, якщо не всі записи, що позначають їх активними.

Подивіться на чотиризначний номер завантаження поруч із записом Windows та запустіть

sudo efibootmgr --bootnum #### --inactive

Це відключить запис Windows. Також переконайтеся, що зараз відключена Windows має більш високий пріоритет, якщо вона ще не зробила:

sudo efibootmgr --bootorder ####,$$$$,&&&&,%%%%

де #### - номер завантаження Windows.

Якщо ви перезавантажитеся зараз, ви завантажуєте програвач, якщо параметр Linux увімкнено з найвищим пріоритетом.

Зауважте, що Windows, здається, не визнає, що його було вимкнено, тому завантаження в Windows або оновлення цього не буде відновлено.

Я брав участь у локальному Linux installfest, де ми встановлюємо Linux для зацікавлених людей, найчастіше як вторинну ОС поруч із Windows. Я ще не бачив цього методу невдалим, і я спробував його на кількох дистрибутивах (переважно Ubuntu та Mint) та кількох постачальниках (Asus, Acer, HP, Lenovo).


0

Windows 10 перезаписує GRUB 2, коли ви змінюєте колір тексту, розмір, шрифт або заголовки меню.

Є два способи вирішити це.

  1. Ви можете встановити Linux у Legacy Mode (Налаштування BIOS> Boot> Legacy Support + Legacy First).

  2. Ви можете вимкнути відновлення Windows (він же захист системи) (Панель управління> Система та безпека> Система> Захист системи> Налаштування> Вимкнути).

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