LINUX.ORG.RU

Восстановить grub2

 , ,


0

1

Хотел добавить новый дистрибутив который перенес с виртуальной машины, отредактировал /boot/grub/grub.cfg, прописал там UUID, путь к vmlinuz, core.gz и после перезагрузки вылезла строка вида grub> Можно как-то воостановить граб без LiveCD? Просто сейчас под рукой нету. Да, я понимаю что вопрос нубский и я ССЗБ, но так уж вышло ;)

★★★★★

Можно, если конечно «жива» корневая файловая система загрузичка, т.е. файловая система, откуда он должен считать свой конфиг и заргузить прочие модули, а в последствие считать образ ядра и передать ему управление.

Вы можете в ручную вводить команды в консоль загрузчика для загрузки операционной системы и затем уже из неё восстановить работу загрузчика в полной мере:

set root=(hdX,Y)
linux	/boot/образ ядра root=корневая_фс прочие_параметры_ядра
initrd /boot/initrd
boot

Как-то так.

Но вообще не совсем ясно, что стало причиной возникшей ситуации, похоже, что вы попросту удалили корневую файловую систему загрузчика, т.е. /boot.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Не, я просто дописал строку типа menuentry и т.д. Файловая система в порядке. Просто надо бы загрузиться в LiveCD и поправить этот файл, но нет livecd.

w1nner ★★★★★
() автор топика

ты таки сделал это...
Только не говори что тебя не предупреждали!

reprimand ★★★★★
()
Ответ на: комментарий от w1nner

Не, я просто дописал строку типа menuentry и т.д. Файловая система в порядке

Значит нарушили синтаксис.

Просто надо бы загрузиться в LiveCD и поправить этот файл, но нет livecd.

Я вам уже написал что нужно сделать. Но вам нужно знать где располагалась корневая файловая система загрузчика, раздел или lvm том, имя образа ядра и путь до него, хотя это не столь важно, ибо он допечатывается нажатием клавиши tab, знать расположение корневой файловой системы Linux и прочие параметры, которые нужно передать ядру, если необходимо, после чего указать initrd и набрать команду «boot» для запуска загрузки.

Вы это сделали?

Кроме всего прочего вы можете воспользоваться встроенно командой cat для вывод текущего содержимого конфигурационного файла, что бы на его основе ввести нужные команды, с другой стороны, если у вас корневая файловая система на обычном разделе, то вам хватит приведённых выше команд.

set root=(hdX,Y)
cat /boot/grub/grub.cfg
или даже
cat (hdX,Y)/boot/grub/grub.cfg
hdX - отсчёт идёт от нуля (0), номер диска;
hd0,Y - отсчёт идёт от единицы, номер раздела.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

ты таки сделал это...
Только не говори что тебя не предупреждали!

Нет, это была не фря =))
to kostik87 -->
Все успешно восстановил, спасибо за наводку =)
1) ввел ls, показало (hd0,msdos3)
2) затем cat /boot/grub/grub.cfg и просто переписал строку с загрузкой ядра

linux   /boot/vmlinuz-linux root=UUID=b6e02d98-a8d7-4608-9a36-2a95a05ee0a3 rw
initrd  /boot/initramfs-linux.img

3) boot

w1nner ★★★★★
() автор топика
Ответ на: комментарий от kostik87

Значит нарушили синтаксис

Действительно. Глянул - забыл дописать фигурную скобку в конце. ;))

w1nner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.