Восстановление GRUB

Правила форума
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа.
Аватара пользователя
Dja
Сообщения: 1991
Зарегистрирован: 27 авг 2016, 17:03
Решено: 11
Откуда: Воскресенск
Благодарил (а): 301 раз
Поблагодарили: 219 раз

Восстановление GRUB

Сообщение Dja » 10 фев 2017, 11:06

ВОССТАНОВЛЕНИЕ С ПОМОЩЬЮ LiveCD/USB

Запустите систему с LiveCD/USB и откройте терминал. Для этого

можно нажать Alt+F2 и ввести команду:


Код: Выделить всё

gnome-terminal


Далее необходимо узнать Вашу таблицу разделов. Используйте

команду:


Код: Выделить всё

sudo fdisk -l


На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended


Из таблицы видим, что Linux стоит (в нашем случае) на разделе

/dev/sda1

Теперь подключим этот раздел в /mnt следующей командой:

Код: Выделить всё

sudo mount /dev/sda1 /mnt


Затем, для записи grub в MBR, вводите следующую команду:

Код: Выделить всё

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


В случае, если нужно только восстановить MBR диска (например,

после переустановки Windows), то этого достаточно.

Если нужно обновить и меню grub (например, после установки

Windows), то нужно сделать:


Код: Выделить всё

sudo update-grub --output=/mnt/boot/grub/grub.cfg


Восстановление закончено!

ВОССТАНОВЛЕНИЕ ИСПОЛЬЗУЯ CHROOT

Запустите систему с LiveCD/USB и откройте терминал. Для этого

можно нажать Alt+F2 и ввести команду:


Код: Выделить всё

gnome-terminal


Далее необходимо узнать Вашу таблицу разделов. Используйте

команду:


Код: Выделить всё

sudo fdisk -l


На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended


Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и

еще несколько важных директорий:


Код: Выделить всё

sudo mount /dev/sda1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys


Если раздел /boot находится отдельно, то Вам необходимо

примонтировать его в /mnt/boot !


Теперь перейдем в окружающую среду chroot !

Код: Выделить всё

sudo chroot /mnt


Теперь необходимо установить GRUB, используя команду:

Код: Выделить всё

grub-install /dev/sda


Если Вы получили сообщение об ошибке, то используйте команду:

Код: Выделить всё

grub-install --recheck /dev/sda


Также в некоторых случаях может помочь вариант:

Код: Выделить всё

grub-install --recheck --no-floppy /dev/sda


Если все прошло успешно, выходим из chroot командой:



Теперь необходимо отмонтировать разделы:

Код: Выделить всё

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt


Если Вы монтировали раздел /boot воспользуйтесь командой:

Код: Выделить всё

sudo umount /mnt/boot


Затем перезагрузим Ваш компьютер командой:

Код: Выделить всё

sudo reboot


При необходимости Вы можете обновить меню загрузчика командой:

Код: Выделить всё

sudo update-grub


ВОССТАНОВЛЕНИЕ В RESCUE MODE

При отсутствии загрузочного диска, можно восстановить Grub из его

консоли.
Восстановление происходит следующим образом: сначала

нужно подгрузить все модули, чтобы стала доступна вся

функциональность Grub, а затем уже запуститься с нужного раздела.

Как известно, Grub состоит из двух частей. Первая часть записана в MBR

диска. Она содержит базовую функциональность, то есть в ней есть

консоль в rescue mode и ничего больше. Вначале нужно определить, на

каком разделе находится вторая часть груба (она лежит в каталоге

/boot/grub), подгрузить недостающие модули. И только потом можно

будет дать команду запуска с нужного раздела. В rescue mode доступно

всего четыре команды:


Код: Выделить всё

ls
set
unset
insmod


Вначале следует дать команду:



В ответ она выведет, например, следующее:

(hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

Иногда Grub может неправильно опеределить, какие файловые системы

находятся на разделах дисков. В данном случае определяет их как

msdos. Нам нужно постараться угадать, какие диски мы видим. В

данном случае видно два диска. Диск с индексом 0 содержит три

раздела, диск с индексом 1 содержит два раздела. Зная структуру своих

дисков несложно определить нужный диск.

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


Проверьте правильность написания первой команды для файловых

систем ext3 и ext4


После чего Grub перейдёт в полнофункциональный режим. Он

автоматически найдет все операционки, которые можно подгружать, и

покажет своё Grub-меню.

Дальнейшее восстановление сводится к тому, чтобы загрузить нужный

нам Linux, и в нем от рута дать команду:


Код: Выделить всё

grub-install /dev/sdX


Где sdX, диск, на который нужно установить Grub.

Информация любезно предоставлена пользователем avkP3
Новичок? - ознакомься с правилами
Изображение
В поисках истины :grabli:
Изображение

Rout
Сообщения: 6
Зарегистрирован: 09 июн 2017, 11:15
Решено: 1
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Восстановление GRUB

Сообщение Rout » 10 июн 2017, 11:15

Спасибо за статью, мне как новичку, непонятно в разделе "ВОССТАНОВЛЕНИЕ ИСПОЛЬЗУЯ CHROOT" куда и как примонтировать раздел /boot. И раздел /boot - он же EFI (ESP)?

Unborn
Сообщения: 640
Зарегистрирован: 03 сен 2016, 10:36
Решено: 14
Благодарил (а): 2 раза
Поблагодарили: 93 раза

Восстановление GRUB

Сообщение Unborn » 10 июн 2017, 15:11

Rout писал(а):Источник цитаты И раздел /boot - он же EFI (ESP)?

Нет. Это инструкция для владельцев машин с БИОС и тех, кто устанавливает ОС в эмуляции БИОС на диск с разметкой ms-dos.

Аватара пользователя
root
Сообщения: 535
Зарегистрирован: 16 фев 2017, 17:03
Решено: 3
Откуда: г. Хабаровск
Благодарил (а): 166 раз
Поблагодарили: 112 раз

Восстановление GRUB

Сообщение root » 10 июн 2017, 15:16

Unborn, у меня uefi и gpt, пользовался инструкцией, все прекрасно восстанавливал
User: adminka
OS: Linux Mint 18.2 Sonya Cinnamon :thumbs:
Kernel: 4.11.0-14-generic
Devices ► Показать
Я не волшебник, я только учусь ;)

Unborn
Сообщения: 640
Зарегистрирован: 03 сен 2016, 10:36
Решено: 14
Благодарил (а): 2 раза
Поблагодарили: 93 раза

Восстановление GRUB

Сообщение Unborn » 10 июн 2017, 15:32

adminka, в УЕФИ и восстанавливать не нужно, ничего ни куда не пропадает, если сам руками не удалишь.
Если страшно, можешь забекапить каталог ubuntu на флешку, потом тупо его скопировать на esp раздел если по какой то причине он исчезнет в неизвестном направлении.

Rout
Сообщения: 6
Зарегистрирован: 09 июн 2017, 11:15
Решено: 1
Благодарил (а): 1 раз
Поблагодарили: 2 раза

Восстановление GRUB

Сообщение Rout » 11 июн 2017, 10:22

В этой статье приведены команды как для MBR так и для GPT и нигде неуточняется для каких разметок они подходят :acute:

Аватара пользователя
ikrost
Сообщения: 115
Зарегистрирован: 12 май 2017, 14:20
Решено: 1
Откуда: Тбилиси
Благодарил (а): 60 раз
Поблагодарили: 10 раз

Восстановление GRUB

Сообщение ikrost » 11 июн 2017, 17:30

А Boot Repair-ом кто-то пользовался?

Аватара пользователя
Chocobo
Сообщения: 4564
Зарегистрирован: 27 авг 2016, 19:57
Решено: 108
Откуда: НН
Благодарил (а): 373 раза
Поблагодарили: 1223 раза

Восстановление GRUB

Сообщение Chocobo » 11 июн 2017, 17:55

ikrost, я как-то чинился с ним не очень давно
Изображение

Аватара пользователя
ikrost
Сообщения: 115
Зарегистрирован: 12 май 2017, 14:20
Решено: 1
Откуда: Тбилиси
Благодарил (а): 60 раз
Поблагодарили: 10 раз

Восстановление GRUB

Сообщение ikrost » 11 июн 2017, 18:18

Chocobo, Ясно. Я ифу взял отсюда про него, и нигде больше не встречал. Подумал может инфа устарела и уже не канает.
Тогда этот способ проще чем вышеописанные.
Вот только вопрос - когда устанавливается этот Бут репаир он тоже в оперативку ставится?

Аватара пользователя
Chocobo
Сообщения: 4564
Зарегистрирован: 27 авг 2016, 19:57
Решено: 108
Откуда: НН
Благодарил (а): 373 раза
Поблагодарили: 1223 раза

Восстановление GRUB

Сообщение Chocobo » 11 июн 2017, 18:40

ikrost, в случае запуска с LiveCD - да, будет жить в оперативке.
На рабочую систему ставиь не приходилось за ненадобностью, но как любая другая прога - расположится в /bin, /var, /usr, и т.д

можно глянуть внутрь деб-пакета - там все видно будет :smile:
Изображение

S.A.
Сообщения: 25
Зарегистрирован: 26 апр 2017, 06:53
Благодарил (а): 5 раз
Поблагодарили: 4 раза

Восстановление GRUB

Сообщение S.A. » 12 июн 2017, 06:47

Rout писал(а):Источник цитаты В этой статье приведены команды как для MBR так и для GPT и нигде неуточняется для каких разметок они подходя


Про статью не скажу (читал её "по диагонали").

Для диска с разметкой MBR можно так (один из вариантов)

sudo mount /dev/sdaN /mnt - смонтировать корневую директорию
sudo grub-install --root-directory=/mnt /dev/sdХ - где Х, нужный жесткий диск


Для диска с разметкой GPT (установка в UEFI режиме)

► Показать

Аватара пользователя
Dja
Сообщения: 1991
Зарегистрирован: 27 авг 2016, 17:03
Решено: 11
Откуда: Воскресенск
Благодарил (а): 301 раз
Поблагодарили: 219 раз

Восстановление GRUB

Сообщение Dja » 12 июн 2017, 20:10

Если с уефаями играться кто-нибудь надумает - отключайте системный диск, а то с него загрузчик убежит туда, куда вы его поставите во время установки. GRUB в этом плане поумнее.
Новичок? - ознакомься с правилами
Изображение
В поисках истины :grabli:
Изображение


Вернуться в «Загрузка системы, бэкапы и восстановление»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей