Инструменты пользователя

Инструменты сайта


linux:administration:recovery_grub2

Это старая версия документа!


# Восстановление Grub2

При установке новой ОС, переразметке диска, изменении размера и положения разделов на диске, и т.п. может произойти повреждение загрузчика Grub.

При этом загрузчик загружается с сообщением:

``` Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. ```

После чего для восстановления загрузчика Grub можно пойти двумя путями.

## Путь 1. Загрузка через командную строку Grub.

Если есть примерное представление на какой из дисков системы был установлен загрузчик Grub, то можно попробовать войти в систему через уже имеющийся загрузчик, после чего восстановить нормальную работу загрузчика.

Для этого в командной строке Grub нужно набрать команду `ls` после чего выведется список имеющихся в системе дисков и их разделов. В Grub каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.

В результате выглядеть этот список будет примерно как:

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

с указанием размеров разделов. Обычно этого хватает, чтоб угадать нужный диск.

Далее в командной строке Grub нужно ввести следующие команды:

``` grub> set prefix=(hd0,msdos1)/boot/grub/ grub> insmod normal grub> normal ``` где (hd0,msdos1) - раздел на который был установлен Grub

Если раздел был указан верно, то попадаем в графическое меню Grub, после чего можно войти в систему привычным способом. И затем переходить к восстановлению/установке загрузчика Grub.

## Путь 2. Загрузка с LiveCD

Здесь нужна будет LiveCD с системой, той же разрядности, что и уже установленная система Linux, на которую был установлен Grub. Причем, неважно будет на LiveCD графический интерфейс или нет, т.к. нужны будут только утилиты fdisk, mount и chroot, которые присутствуют в абсолютном большинстве дистрибутивов.

Перед восстановлением Grub, нужно понять на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать - воспользоваться утилитой fdisk.

``` sudo fdisk -l ```

В выводе программы будут показаны разделы всех подключённых к компьютеру дисков, их размер, а также их файловая система. По этим данным предстоит понять, какой раздел используется в качестве корневого в системе.

Далее предстоит смонтировать корневую файловую систему в каталог /mnt:

``` mount /dev/sda2 /mnt ``` Если раздел boot находится на отдельном разделе, то нужно смонтировать и раздел boot. Например, если бы он находился по адресу /dev/sda1:

``` mount /dev/sda1 /mnt/boot ```

Чтобы восстановить загрузчик Grub используют основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда *chroot*.

Но перед тем, как ее использовать нужно вручную подключить к корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром - /dev, /sys, /proc:

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

Для входа в окружение основной системы используется команда:

``` chroot /mnt /bin/bash ``` Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй - оболочка, используемая для интерпретации команд пользователя.

Затем выполните эти команды для загрузки и обновления переменных профиля:

``` env-update source /etc/profile ```

Теперь пользователь находится в своей основной ОС Linux, и может выполнять почти все его программы. При этом, разумеется, будут недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.

Тем не менее для дальнейших действий по восстановлению загрузчика Grub этого достаточно.

После восстановления/установки загрузчика необходимо выйти из окружения chroot командой:

``` exit ``` И перезагрузить компьютер.

## Установка Grub UEFI GPT

В виду распространенности в последнее время технологии UEFI загрузчик Grub UEFI GPT будет являться наиболее оптимальным вариантом.

Установка Grub UEFI GPT производится в отдельный раздел диска. Этот раздел занимает немного места (обычно около 100 Мб, 500 Mb хватит точно и за глаза), имеет файловую систему fat32 и флаг ESP.

Если такого раздела нет, нужно его создать, (например с помощью Gparted). Раздел создаём с соответствующими параметрами: _100 Мегабайт, флаги boot и esp, имя раздела ESP, файловая система fat32_.

После чего подключаем его к файловой системе:

``` sudo mkdir /boot/efi $ sudo mount /dev/sda2 /boot/efi ``` Здесь /dev/sda2 - это созданный EFI раздел.

Далее необходимо установить нужные пакеты, если они еще не установлены:

``` sudo apt install grub-efi efibootmgr ```

Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:

``` grub-install /dev/sda ```

а так же произведет обновление конфигурационного файла Grub: /boot/grub/grub.cfg

/var/www/html/dokuwiki/data/attic/linux/administration/recovery_grub2.1658369671.txt.gz · Последнее изменение: (внешнее изменение)