Сьогодні хочу показати спосіб, як відновити GRUB 2 після встановлення або перевстановлення Windows на комп’ютер з Linux. Ще один спосіб зробити це з-під Debian описаний у цій статті.
Вступ
Якщо ви використовуєте на комп’ютері дуалбут з Windows та Linux, ймовірно, знаєте, що під час встановлення операційних систем спочатку краще встановлювати Windows, а потім вже Ubuntu, Debian чи будь-яку іншу систему. Це пов’язано з тим, що Windows не бачить інших операційних систем, окрім своїх, і перезаписує в MBR завантажувач GRUB. Відповідно, якщо спочатку встановити Linux, а потім Windows, у результаті Linux не завантажиться, адже його просто не буде в списку операційних систем. То що ж робити, якщо потрібно перевстановити Windows або просто встановити її на комп’ютер з Linux? Невже доведеться перевстановлювати все? Ні. Просто після всіх маніпуляцій потрібно відновити завантажувач GRUB.
Для демонстрації наведу свій випадок на віртуальних машинах, але цей спосіб нічим не відрізняється від відновлення GRUB на реальному залізі.
Передісторія
На одному з віртуальних дисків у мене були встановлені Ubuntu 14.04 і Windows 7. І ось захотілося спробувати версію Windows 10 для розробників. Я вирішив встановити її поверх сімки. Як і годиться, Windows 10 запустилася, а Ubuntu не завантажувалася. Оскільки Ubuntu була потрібна для роботи, було прийнято рішення відновити затертий GRUB.
Відновлення GRUB 2
Спочатку необхідно завантажитися з LiveDVD. Коли система завантажиться, відкриваємо термінал (Ctrl+Alt+T) і переглядаємо структуру розділів за допомогою команди:
sudo fdisk -l
Ми бачимо, що диск розділений на 6 розділів:
- Два NTFS – для Windows;
- Extended – розширений;
- Три розділи, позначені як Linux – для Ubuntu.
Щоб встановити GRUB, необхідно змонтувати кореневий розділ Ubuntu. Я памʼятаю що таким у мене при її встановленні був перший з трьох розділів для Linux, тобто – sda5:
sudo mount /dev/sda5 /mnt
Щоб записати GRUB у завантажувальний запис, потрібно виконати у терміналі команду:
sudo grub-install --root-directory=/mnt /dev/sda
Після цього можна перезавантажити комп’ютер:
sudo reboot
Оновлення GRUB 2
GRUB 2 відновлено. Проте залишився один нюанс. На віртуальній машині було встановлено Windows 10, але в меню завантажувача вона все ще відображалася як Windows 7, через що при спробі її запуску виникала помилка. Щоб виправити цю помилку, достатньо просто завантажитися в Ubuntu, а не з LiveDVD, і через термінал оновити завантажувач:
sudo update-grub
Ось так легко можна відновити GRUB 2 після встановлення Windows!