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

Grub — это загрузчик, используемый для запуска системы в большинстве дистрибутивов Linux, в том числе и в Linux Mint. Повреждение загрузчика может быть вызвано различными причинами, например, установкой Windows, другого дистрибутива Linux или переразметкой диска, изменением размера и положения разделов на диске и так далее.

В случае с установкой другой системы, чтобы восстановить загрузчик linux mint нам понадобится LiveCD с любым Linux-дистрибутивом. Самая частая задача из этой категории — восстановление Grub после Windows. Если же ошибка возникла из-за работы с разделами или повреждения файловой системы и загрузчик загружается с сообщением Minimal BASH like line editing is supported — это значит что мы можем справиться и без LiveCD своими силами. Конечно, восстановление grub в linux mint с помощью LiveCD системы намного проще, но не всегда под руками есть нужный диск.

В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа — с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.

Восстановление Grub2 с помощью LiveCD

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

Шаг 1. Загрузка LiveCD

Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.

Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню перейдите на вкладку Boot, и в пункте Boot Device Priority или 1st Boot Device выберите нужное устройство:

BIOS Boot Section

Дальше перейдите на вкладку Exit и выберите Exit & Save settings.

Дальше начнется загрузка образа.

Шаг 2. Определение разделов

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

sudo fdisk -l

Disk /dev/sdc: 14,5 GiB, 15514730496 bytes, 30302208 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x38972eb0

Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 23949312 29882367 5933056 2,8G 7 HPFS/NTFS/exFAT
/dev/sdc2 29882368 30302207 419840 205M b W95 FAT32
/dev/sdc3 13551616 23949311 10397696 5G 83 Linux
/dev/sdc4 2048 12621823 12619776 6G b W95 FAT32

В выводе программы вы видите — все подключенные к компьютеру разделы, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня загрузчик установлен на раздел /dev/sdc2 размером 205Мб с файловой системой Fat32, а корень — /dev/sdc3 — размером 5 Гигабайт.

Шаг 3. Монтирование файловой системы

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

mount /dev/sdc3 /mnt

Смонтируем папку с файлами загрузчика:

mount /dev/sdc2 /mnt/boot

Шаг 4. Подготовка к входу в систему

Чтобы восстановить загрузчик linux mint мы будем использовать вашу основную систему 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

Шаг 5. Вход в окружение системы

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

chroot /mnt /bin/bash

Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй — оболочка, используемая для интерпретации команд пользователя.

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

env-update

$ source /etc/profile

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

Шаг 6. Восстановление Grub2

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

sudo grub2-install /dev/sdc

Здесь /dev/sdc — имя вашего жесткого диска.

Теперь создадим новый конфигурационный файл:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Путь к конфигурационному файлу может немного отличаться, так что будьте внимательны.

Еще можно использовать команду:

sudo grub-update

Но она работает только в Ubuntu и основанных на ней дистрибутивах.

Шаг 7. Готово

Выйдите из окружения chroot командой:

exit

И перезагрузите компьютер:

reboot

Теперь все работает.

Восстановление Grub2 без LiveCD

В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без livecd не такая уж и сложная задача, хотя, это сложнее, чем первый способ.

Все что вам потребуется — это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.

Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:

ls

(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)

Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.

Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у меня файлы загрузчика grub находятся на /dev/sdc2, то-есть hd2,2:

set root=(hd2,2)

Загрузим нормальную оболочку grub:

insmod ext2
$ insmod normal
$ normal

После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:

linux /boot/vmlinuz

И наконец загружаемся:

boot

Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды,  чтобы завершить восстановление загрузчика linux mint:

sudo grub2-install /dev/sda

$ sudo grub2-mkconfig -o /boot/grub/grub.cfg

Вот и все.

Выводы

Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (6 оценок, среднее: 4,50 из 5)
Загрузка...

9 комментариев

  1. theoksana Апрель 12, 2016 Ответить
  2. takayuki Апрель 24, 2016 Ответить
  3. Евгений Май 23, 2016 Ответить
  4. sergey Январь 3, 2017 Ответить
  5. Евгений Октябрь 7, 2017 Ответить
  6. Таалайбек Эшенов Апрель 20, 2018 Ответить
  7. Светлана Июнь 20, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: