Восстановление загрузчика GRUB-2

Итак, вы установили Windows после Linux, и Windows благополучно затерла загрузчик Linux, установив собственный, или вы просто напортачили с GRUB-2, не суть важно. В общем, убили загрузчик. Что делать? Можно переустановить Linux, чтобы вернуть его загрузчик, тогда он найдет и себя, и Windows. Но для этого не мешало бы иметь backup (архивную копию) всех важных данных. А мы ее не сделали. Что тогда? Терять данные, а также все настройки? Не хотелось бы. Выход есть, и даже не один. Рассмотрим самый простой способ восстановления GRUB-2.

Нам понадобится live-cd (или флешка, записать образ на флешку можно утилитой Unetbootin) с Linux Ubuntu (Linux Mint). В способе описаны команды именно для этих дистрибутивов. Для других необходимо изменить.

1. Итак, загружаемся с live-cd в режиме без установки.
2. Определяем, на каком из дисков у нас установлен /boot раздел Linux. Для этого открываем Консоль (Терминал) и выполняем команду:

sudo fdisk -l

3. Нашли раздел с /boot. Теперь нам нужно его примонтировать. Если /boot находится на одном диске с системой (например, /dev/sda1), монтируем его:

sudo mount /dev/sda1 /mnt

Если же /boot размещен на отдельном разделе (например, /dev/sda2), создаем соответствующую папку и монтируем его в нее:

sudo mkdir /mnt/boot
sudo mount /dev/sda2 /mnt/boot

4. Следующим шагом установим GRUB-2 в примонтированный каталог:

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

Обратите внимание, загрузчик устанавливается на физический диск, а не в отдельно выбранный каталог, поэтому указывается просто /dev/sda.
5. Перезагружаем компьютер, заходим в свою систему (не с live-cd).
6. Обновляем GRUB-2:

sudo update-grub

Примечание: если меню загрузчика «съехало» или появились какие-то недочеты, из своей же системы переустановите GRUB-2 следующей командой:

sudo grub-install /dev/sda

Комментарии

Аватар пользователя Гость

А как быть если LiveCD не оказалось под рукой?

Аватар пользователя Гость

упс, там есть про флешку, ссори - вопрос снят

Аватар пользователя del

Ну, live-образ нужен по-любому) Хоть в виде загрузочной флешки, хоть live-cd =)

Аватар пользователя Hamer

Спасибо за совет, Но мне кажется, что если загрузится у livecd и поставить grub в mbr версии, которая отличается от версии граба, установленного в целевой системе - могут возникнуть неполадки.

Я предлагаю монтировать в /mnt корень файловой системы (его можно узнать по наличию директории dev), а затем должным образом за-чрутиться туда:

root@lfs-livecd# mount -t reiser /dev/sdaX /mnt
root@lfs-livecd# mount -o bind /dev /mnt/dev
root@lfs-livecd# chroot /mnt /bin/bash
root@target-host#

Ну а дальше, по вашей инструкции:

root@target-host# grub-install /dev/sda
root@target-host# update-grub
Аватар пользователя hamer

Забыл, поправьте коммент:
первым делом после чрута нужно сделать:

root@target-host# mount -a

или хотя-бы

root@target-host# mount /boot
Аватар пользователя del

Не знаю насчет конфликта версий, я ставил загрузчик с live-cd убунты 9.10, когда у меня стояла 10.04.

Аватар пользователя Гость

live-cd убунты 9.10, когда у меня стояла 10.04.

А там, случаем, не одна и та же версия груба?

Аватар пользователя gringo

а можно с установленной ubuntu поправить таким способом загрузчеГ)?

Аватар пользователя Гость

Как удалить загрузочную запись Grub, если при его установке по ошибке был выбран другой жесткий диск(не /dev/sda, а /dev/sdb), и теперь при загрузке компа загрузчик не видит никакой установленной системы?

Аватар пользователя del

А /dev/sdb у Вас флешка? Если так, то это не загрузчик не видит систем, а загрузчика просто нет. Установите загрузчик на /dev/sda с LiveCD.

Аватар пользователя Гость

Нет /dev/sdb не флешка, а второй жесткий диск (у меня их два, на одном система сидит а на втором различные файлы).

Добавить комментарий