Как восстановить загрузчик GRUB2

Здравствуйте, уважаемые пользователи операционной системы GNU Linux!
Сегодня я отвечу на один из достаточно часто задаваемых вопросов, а именно «как восстановить загрузчик GRUB2 после…» Далее следуют варианты «после установки Windows второй системой», «после сбоя жёсткого диска» и подобные. Метод решения всех вариантов один — восстановить загрузчик на нужном месте, этим мы и займёмся. Напомню,  что на сером фоне будут написаны команды, вводимые в терминале,  которые можно копировать из браузера в окно терминала. Итак, присупим!
Способ первый — используя LiveCD:
Грузимся с LiveCD (или LiveUSB — всё равно) и открываем терминал. В терминале набираем команду
fdisk -l
для того, чтобы посмотреть, какие разделы у нас есть на жёстком диске. Должна быть выведена примерно такая таблица (у вас разделы будут другие):
/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

По таблице смотрим, на каком разделе установлен Linux, в данном примере это /dev/sda1.
Создаём папку:
sudo mkdir /mnt/dev
затем монтируем раздел и нужные директории:
sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
Назначим окружающую среду:
sudo chroot /mnt
Обновим конфигурацию GRUB2:
update-grub
Если после этой команды система выдаст ошибку «команда не найдена», нужно будет установить загрузчик в систему:
apt-get install grub2
и только потом запускать обновление конфигурации загрузчика. Если же ошибок не было — установим GRUB2 на жёсткий диск:
grub-install /dev/sda
Осталось перезагрузить компьютер и убедиться, что всё в порядке.
Способ второй — используя rescue mode:
Если при загрузке компьютера вы увидите следующее приглашение
grub>
не пугайтесь, это значит, что загрузчик повреждён и компьютер вошёл в rescue mode. В этом режиме доступны всего четыре команды, но их достаточно, чтобы восстановить загрузчик. Для начала мы посмотрим, какие разделы есть на жёстком диске, для этого наберём команду
ls
Нам будет выведена примерно такая строка:
(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)
Иногда GRUB неправильно определяет разделы, как в нашем примере, но это не должно нас пугать. Ещё обратим внимание, что GRUB выводит информацию «задом наперёд», то есть сначала пишет последние разделы и только потом первый. Предположим, что Linux у нас находится на первом разделе. Наберём команды
set prefix=(hd0,msdos1)/boot/grub
set root=(hd0,msdos1)
Ими мы указываем, что для дальнейших команд мы будем использовать первый раздел на жёстком диске. Проверяем содержимое директории /boot/grub :
ls /boot/grub
Если в ответ будет выведен список файлов — вы всё сделали правильно. Если нет — нужно попробовать использовать следующий раздел на жёстком диске. Дальше подгрузим необходимые модули:
insmod ext2
insmod normal
Здесь внимание! Я в примере указываю тип файловой системы ext2, вы должны указать тип файловой системы на вашем жёстком диске!
Если в ответ вам будет выведено что-то типа file not found — увы, нужного модуля у вас в системе нет и нужно переходить к способу 1. Если же ошибок не отобразится — переведём GRUB в полнофункциональный режим:
normal
Grub автоматически найдёт все операционные системы, установленные на вашем компьютере и откроет стандартное меню выбора загрузки. Вам остаётся только загрузить Linux и в загруженной системе выполнить от root-a команду
grub-install /dev/sdа
Вы обязательно указываете ваш жёсткий диск!
Вот и всё, как вы можете убедиться, восстановление загрузчика GRUB2 не представляет особых трудностей. Успехов вам в освоении операционной системы Linux!