На днях мне потребовалось восстановить GRUB 2, который слетел, как это полагается, при установке Windows 7. За помощью я сразу обратился на Убунтовод, но сильно удивился от того факта, что толковой статьи по восстановлению я так и не написал (как то упоминал про LiveCD для восстановление GRUB 2, но это слишком долго). Решил быстренько исправиться.
Для восстановления GRUB 2 в Ubuntu Linux вам потребуется любой LiveCD или LiveUSB, главное, что бы в составе дистрибутива был пакет chroot. После загрузки нужно открыть терминал, для этого нажимаем комбинацию Alt+F2 и введите комманду:
1 |
gnome-terminal |
Далее нужно просмотреть таблицу разделов:
1 |
sudo fdisk -l |
Для примера возьмём такую таблицу:
1 2 3 4 |
/dev/sda1 29 8369 66999082+ 83 Linux /dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS /dev/sda3 13996 14593 4803435 5 Extended /dev/sda5 13996 14593 4803403+ 82 Linux swap / Solaris |
Теперь нужно примонтировать тот раздел, где находится каталог /boot. В данном примере для него не делалось отдельного раздела, но если у вас он будет - монтируйте именно его.
Итак, примонтируем раздел /dev/sda1:
1 2 3 |
sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc |
Следующая команда необязательна (она копирует resolv.conf):
1 |
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf |
Теперь перейдем в среду chroot:
1 |
sudo chroot /mnt |
Если требуется - отредактируйте файл /etc/default/grub:
1 |
nano -w /etc/default/grub |
Но не забудьте сохранить изменения следующей командой:
1 |
update-grub |
Теперь установим/восстановим GRUB 2:
1 |
grub-install /dev/sda |
В случае возникновения ошибки воспользуйтесь командой:
1 |
grub-install --recheck /dev/sda |
Вот и всё, GRUB 2 восстановлен. Теперь можно выйти из chroota:
1 |
exit |
Затем отмонтировать разделы и перезагрузить ваш компьютер:
1 2 3 4 |
sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt sudo reboot |