Восстановление GRUB 2 после установки Windows

 

Восстановление GRUB после установки Windows

Сегодня я хотел бы показать вам способ как можно восстановить GRUB 2 после установки или переустановки Windows на компьютер с Linux.

Если вы на своем компьютере используете дуалбут из Windows и Linux, то вероятно уже знаете, что во время установки ОС для того, чтобы было меньше возни, лучше устанавливать сначала ОС от Microsoft а потом только Ububtu, Debian или что вы там желаете установить. Связано это с тем, что Windows не видит других операционных систем кроме своих и поверх загрузчика GRUB записывает в MBR свой загрузчик. Соответственно, если вы установите сначала Linux а потом Windows, то в итоге не сможете загрузить Linux, так как его просто не будет в списке загрузки. Но что же делать если вам все же необходимо переустановить Windows или просто установить ее на компьютер с Linux? Не переустанавливать же ради этого и Linux? Нет. Просто после всего, что вы сделаете нужно будет восстановить загрузчик GRUB.

Для демонстрации я приведу свой случай с виртуальными машинами, но данный способ ничем не отличается от восстановления GRUB на реальном железе.

У меня на один виртуальный жесткий диск были установлены Ubuntu 14.04 и Windows 7. И вот мне захотелось попробовать developer версию Windows 10. Я решил установить ее поверх семерки. Как и положено, после всех манипуляций Windows 10 заработала, а Ubuntu не запускалась. Так как Ubuntu мне нужна была для работы я решил восстановить затертый GRUB.

Восстановление GRUB 2

Сначала необходимо загрузится с LiveDVD. Когда система загрузится, открываем терминал (Ctr+Alt+T) и смотрим структуру разделов с помощью команды:

sudo fdisk -l

Моя таблица разделов

У меня, как видно по выводу команды, диск разделен на 6 разделов: два NTFS для Windows, Extended (расширенный) и три отмечены как Linux для Ubuntu. Чтобы установить GRUB необходимо примонтировать корневой раздел Ubuntu — мой sda5:

sudo mount /dev/sda5 /mnt

И чтобы записать GRUB в загрузочную запись, нужно выполнить в терминале команду:

sudo grub-install --root-directory=/mnt /dev/sda

Установка GRUB

После этого можно перезагрузить компьютер:

sudo reboot

GRUB восстановлен. Но остался один момент. Сейчас на виртуальной машине была установлена Windows 10, но в меню загрузчика по прежнему она отображалась как семерка, из-за чего при попытке ее запуска выскакивала ошибка. Чтобы исправить это достаточно было просто загрузится в Ubuntu (не LiveDVD) и через терминал обновить загрузчик:

sudo update-grub

Вот так просто можно восстановить GRUB после установки Windows

 

комментариев 15

  1. Judest 10/12/2015 at 18:09

    Спасибо, все получилось!

     
  2. Юрий 10/12/2015 at 21:56

    Grub customiser насколько я помню, намного проще….

     
    • Master 10/12/2015 at 22:18

      Да, есть и GRUB Customiser и Boot Repair (кажется так), но их устанавливать необходимо отдельно, а выполняют они те же действия. Кому удобнее GUI — может пользоваться ими, я тоже так делал, но оказалось, что и через терминал все довольно легко. Тем более так сам можешь видеть что делаешь и лучше начинаешь понимать систему. Это, мне кажется, самое главное (после работающей системы).

       
  3. Alex 16/12/2015 at 21:05

    На Debian не работает. Есть для Jessie похожее консольное решение? Ибо ставить GUI как-то муторно. Ну не то чтобы, но из консоли побыстрее будет.

     
    • Master 17/12/2015 at 00:59

      Не сталкивался с проблемами установки GRUB в Debian. На сколько я знаю, можно попробовать переустановить загрузчик с помощью Advanced options с Debian LiveCD, или способом, похожим на описанный в данной статье при помощи chroot. Эта процедура хорошо описана в Debian Wiki.

       
      • Alex 19/12/2015 at 22:15

        Подсмотрел на лоре. Спецом сейчас попробовал, работает. Если кому понадобится, делал в таком порядке:

        sudo apt-get update
        sudo apt-get install grub-pc

        # / у меня на пятом разделе

        sudo mount /dev/sda5 /mnt
        sudo mount --bind /dev /mnt/dev
        sudo mount --bind /proc /mnt/proc
        sudo mount --bind /sys /mnt/sys
        sudo chroot /mnt
        sudo grub-install /dev/sda
        sudo update-grub
         
        • Alex 19/12/2015 at 22:25

          Почему-то сайт прописал перед bind сплошной дефис. Там должны быть две маленькие чёрточки.

          sudo mount --bind /dev /mnt/dev
          sudo mount --bind /proc /mnt/proc
          sudo mount --bind /sys /mnt/sys

          Сейчас ещё раз попробую. Если не пройдёт, админ, поправь.

           
  4. Виктор 01/10/2016 at 00:07

    Спасибо! Восстановил свой пропавший Linux Mint
    после установки Windows.

     
  5. Fargus 24/10/2016 at 18:49

    Добрий день, а з чого видно, що завантажувальний розділ саме sda5?
    На скільки я зрозумів, завантажувальний розділ в консольному режиму позначається зірочкою? В такому випадку у Вас завантажувальним є sda1 …

     
    • Макс 14/12/2016 at 21:26

      Зирочкой отмечен активный раздел (с Windows), а /dev/sda5 это системный (корневой раздел) / Линукса и именно там находятся файлы ядра и загрузочные файлы в разделе /boot. А загрузочная запись ставится в /dev/sda т. е. в самое начало диска.
      Как то так, насколько я розумею ))))

       
  6. Андрей 08/11/2016 at 16:30

    Здравствуйте. А можно это дело проделать без загрузочного диска? Чисто из-под Windows? Про EasyBCD знаю.

     
  7. shen 15/11/2016 at 12:56

    Коротко и ясно. Благодарю!

     
  8. Andrey 28/01/2017 at 11:28

    добрый день, загрузил с LiveCD Ubuntu в терминале вожу
    sudo fdisk -l
    но команда не отображает раздел где стоял раньше Ubuntu.
    Присутствует Расширенный раздел sda3, который раньше включал в себя 3 раздела: 1)корень /, 2)swap, 3) home. Команда после ввода команды раздел 1)корнь / — просто не отображается, подскажите пожалуйста как быть в таком случае?

     
  9. Андрей 21/09/2017 at 23:19

    После данной операции, вообще ни одна ОС не грузиться. Что это может быть?

     

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

 

 
Top