На днях мне потребовалось восстановить 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
|