[[linux:grub2_resque_mode]]

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

linux:grub2_resque_mode [2016/05/27 12:23] (текущий)
Строка 1: Строка 1:
 +====== Grub Rescue Mode ======
 +
 +Материал взят отсюда:​ http://​webhamster.ru/​site/​page/​index/​articles/​comp/​196
 +
 +В Grub Rescue Mode доступно очень немного команд. И поэтому восстановление происходит следующим образом:​ сначала нужно всеми силами попытаться подгрузить все модули,​ чтобы стала доступна вся функциональность Grub, а затем уже запуститься с нужного раздела будет легко.
 +
 +Как известно,​ Grub состоит из двух частей.
 +
 +Первая часть записана в MBR диска. Она и содержит базовую функциональность,​ то есть в ней есть консоль в rescue mode и ничего больше. В rescue mode нет даже команд загрузки системы с нужного раздела. Поэтому-то и нужно вначале определить,​ на каком разделе находится вторая часть груба (она лежит в каталоге /​boot/​grub),​ подгрузить недостающие модули. И только потом можно будет дать команду запуска с нужного раздела.
 +
 +В rescue mode доступно всего четыре команды:​
 +
 +
 +  ls
 +  set
 +  unset
 +  insmod
 +
 +Вначале следует дать команду:​
 +
 +  ls
 +
 +В ответ она выведет,​ например,​ следующее:​
 +
 +  (hd0) (hd0,​msdos3) (hd0,​msdos2) (hd0,​msdos1) (hd1) (hd1,​msdos2) (hd1,​msdos1)
 +
 +По непонятным причинам,​ в данном примере Grub даже не понимает,​ какие файловые системы находятся на разделах дисков,​ и почему-то их считает как msdos.
 +
 +Нам нужно постараться угадать,​ какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела,​ диск с индексом 1 содержит два раздела. Я знаю, что мой линукс,​ который мне нужно загрузить,​ находится на диске с тремя разделами. Поэтому делаю вывод, что мне нужен hd0.
 +
 +По непонятным причинам Grub называет разделы в обратном порядке. И становится непонятно,​ что имеется в виду под (hd0,​msdos3) - первый раздел или третий?​ Тут можно выкрутиться,​ использовав синтаксис (hd0,1). Нужно помнить,​ что в Grub счет дисков начинается с 0, а счет разделов - с 1.
 +
 +Так как я знаю, что Linux в моем случае установлен на первый раздел,​ то нужный мне раздел будет обозначаться (hd0,1). Выяснив обозначение радела,​ нужно дать команды:​
 +
 +  set prefix=(hd0,​1)/​boot/​grub ​
 +  set root=(hd0,​1)
 +
 +Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить,​ действительно ли на этом разделе есть то что нам нужно. Даем команду:​
 +
 +  ls /boot/grub
 +
 +... и если в ответ получаем список всех файлов в этой директории,​ то считам,​ что дальше все пойдет как по маслу.
 +
 +Даем команды:​
 +
 +  insmod ext2
 +  insmod normal
 +  normal
 +
 +После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все операционки,​ которые можно подгружать,​ и покажет своё Grub-меню. ​
 +
 +Дальнейшее восстановление обычно сводится к тому, чтобы загрузить нужный нам Linux, и в нем от рута дать команду:​
 +
 +  grub-install /dev/sda
 +
 +Эта команда переустановит в MBR код Grub-а таким образом,​ что он автоматически будет подхватывать свою вторую часть с раздела,​ с которого вы и загрузились.
 +
 + 
  
  • /var/www/wiki.avmas.ru/data/pages/linux/grub2_resque_mode.txt
  • Последние изменения: 2016/05/27 12:23
  • (внешнее изменение)