Как восстановить grub

Posted on March 15th, 2007 in linux,manual,tips by RiZN

Многие, держа на одном винте Linux и Windows, сталкиваются с такой вот проблемой, при очередной переустановке по какой-либо причине винды, эта зло-ось трёт загрузчик линукса из mbr (master boot record) и линукс становится недоступен. В этом случае есть выход, довольно простой, который я сейчас и опишу. Чтобы решить эту проблему нужно нескольно вещей:

  • LiveCD линуксового дистрибутива. (у меня стоит Ubuntu, поэтому беру именно его)
  • Знать, на каком диске стоит, собственно, линукс (например hda1)
  • Знать номер раздела, где установлен grub, представляющий собой специфический идентификатор, который grub использует для идентификации каждого раздела жесткого диска (например, для первого жесткого диска – hd0).

Приступим. Грузимся с LiveCD и открываем консоль. Первым делом нужно залогиниться под рутом sudo su и создать новую пустую директорию mkdir /mnt/hd где /mnt/hd – это то, куда мы будем монтировать раздел с линуксом.
Далее, монтируем в эту директорию раздел командой
mount -t ext2 /dev/hda7 /mnt/hd где ext2 – файловая система, установленная на разделе, /dev/hda7 – расположение раздела, /mnt/hd – куда будем монтировать.
Чрутимся в примонтированный раздел
chroot /mnt/hd и запускаем grub grub Видим “grub>” – приглашение к вводу команды. Пишем “root (“, после чего нажимаем клавишу Tab для того, чтобы grub вывел список распознанных жестких дисков. Используя идентификатор раздела жесткого диска с линуксом (подробнее почитать можно тут), вводим имя раздела (например, hda7 распознался grub’ом как hd0,5), но для каждого конкретного случая надо убедиться в том, что идетификатор выбрал правильный. Итак, в итоге получаем команду root (hd0,5) где hd0,5 меняем в зависимости от ситуации и радостно жмем Enter. Теперь осталось лишь набрать setup (hd0,5) для переустановки grub’a и exitдля выхода. Всё! Перезагружаем компьютер и радуемся. :)

RSS feed | Trackback URI

17 Comments »

Comment by virens
2007-03-15 22:55:17

Блеск! Унёс статью в scrapbook. А можно такое руководство по lilo?

Comment by reasonspace
2007-03-15 23:00:37

Что ж, попробую погуглить материал на эту тему :)

 
 
Comment by dik Subscribed to comments via email
2007-03-19 23:13:14

а ты кстати для grub какую нить темку или обоину юзаешь ? :) у меня когда то была картинка под lilo /

Comment by reasonspace
2007-03-19 23:19:13

Неа :) Я его вижу пару раз в сутки на секунду и поэтому не вижу смысла в его облагораживании :)

 
 
Comment by dik Subscribed to comments via email
2007-03-20 15:21:40

Я несколько по другому делаю – наверно проще.

При загрузке с загрузочного CD – того самого с которого и ставил debian – задаю

rescue root=/dev/hda2
то есть указываю какой раздел использовать для загрузки

а уже после загрузки выполняю от рута команду для восстановления mbr -, в моём случае это lilo : что то типа #lilo или #lilo -d /dev/hda
способ проще в разы

но в последних версиях опция rescue работает несколько по другому :(

 
Comment by dik Subscribed to comments via email
2007-03-20 15:26:05

Ещё вариант – забекапить mbr :
http://ubuntu.wordpress.com/2005/10/20/backing-up-the-mbr/

Comment by reasonspace
2007-03-23 10:07:49

о, интересный вариант

 
 
2007-03-21 10:02:17

[...] Чем лучше Линукс как десктоп система, если при слёте Grub, для его (Grub’a) востановления нужно лезть "к мамонту в задницу" и плясать там с бубном? Тогда как в Windows нужно написать одну комманду: fixmbrРаспишу детально процесс. [...]

 
Comment by dik Subscribed to comments via email
2007-03-21 12:08:28

fixmbr ? :) скорее всего не восстановит mbr а затрёт виндовым

Acronis boot manager в ладошку поклонникам винды

Comment by reasonspace
2007-03-23 10:09:04

конечно затрёт :)

 
 
Comment by dik Subscribed to comments via email
 
2007-08-02 11:11:15

[...] Чем лучше Линукс как десктоп система, если при слёте Grub, для его (Grub’a) востановления нужно лезть "к мамонту в задницу" и плясать там с бубном? Тогда как в Windows нужно написать одну комманду: fixmbr [...]

 
Comment by luis
2009-03-29 19:28:34

Ты бы писал баран, зная что пишешь, в 90% случаев твой конченый Вындовз и затирает груб.

 
Comment by mkars Subscribed to comments via email
2009-04-14 21:44:17

Уважаемые форумчане, нужна ваша помощь!
У меня два жестких диска. На первом три раздела, в тч Винда ХР, на втором тоже три, в тч Линукс и свап.
Линукс был убунтой и в один момент некорректно обновился.
я создал на первом диске разделы под Линукс, установил Федору 10.1. И сделал глупость. удалил разделы с убунтой и грабом на нём.
После этого у меня граб пишет ошибку 17 и не запускает ничего.
При установке федоры указал установить в локальный раздел, а не мбр, а как раньше было – не помню.
Чем сейчас восстановить мбр, чтобы он увидел сначала диск с федорой, а потом уж и винду настрою.
есть лайвСД Убунта.

 
Comment by Rulex Subscribed to comments via email
2009-08-10 17:43:37

У меня точно такая же проблема! тоже ошибка 17, только на втором винте у меня 1 раздел ntfs (остался от виндовз) и 2 раздела: рэйзерфс и swap… стоит Убунту, куда записать grub и как его настроить???

 
Comment by Basil Subscribed to comments via email
2009-09-07 16:41:49

Hi!
Прошу помочь.
Пользую WinXP и VectorLinux 6.0 на одном физ. диске 120GB разбитом на множество разделов…
Всё было хорошо, но вышла версия VectorLinux_Light_LiveCD с возможностью установки и решил я попробовать облегчить жизнь процессору (VIA C3).
Установив попробовал заменить LILO на GRUB (поверх). Установка длилась долго и я её прервал (идиот…). Повторная установка прошла долго (~10мин.) но успешно, однако…
Теперь я не могу запустить Windows… ни через GRUB ,ни сделав “восстановление MBR”…
В GRUB след.текст:
———————————————————–
…A disk read error occurred
Press Ctrl+Alt+Del to restart…
———————————————————–
Пробовал форматировать раздел и восстанавливать из давно сделанной рез.копии- без-эффекта…
У меня мало опыта, но ощущение, будто диск недоступен для чтения/заблокирован… А содержимое, из Linux’а, читается…

Форматировать весь физ.диск не хочется ибо на нём большой раздел с данными и их некуда зарезервировать.

Заранее признателен за отзывчивость.

 
Comment by Basil Subscribed to comments via email
2009-10-08 17:55:11

Отвечаю сам-себе.
Удалить раздел.
Создать, на ново-пустом месте, раздел меньшего размера и сдвинув его от начала (с прежним номером, но другими параметрами).
Удалить фантазийное творение.
Создать раздел с изначальными параметрами.
Восстановить раздел из Архивной копии.
——————————————————
После каждой операции- рестарт.
=========================
Всё будет хорошо!

 
Name (required)
E-mail (required - never shown publicly)
Subscribe to comments via email
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.