What is grub rescue in linux

Linux — grub rescue

GRUB — GRand Unified Bootloader. Универсальный загрузчик, который устанавливается вместе с операционной системой Linux. В настоящее время большинство систем Linux используют GRUB2.

Если загрузчик GRUB не может найти папку grub или если файловая система диска повреждена, то вы можете при загрузке увидеть такую картину:

Операционная система загрузиться не может. Что делать?

Посмотрим какие разделы на диске видит загрузчик с помощью команды ls:

В результате у нас отобразится:

У меня найден один диск и два раздела на нём, первый и пятый. На название msdos не обращаем внимания, GRUB не определяет тип файловой системы.

Теперь нам нужно найти загрузочный раздел. По очереди перебираем разделы:

Это означает, что раздел содержит неподходящую для загрузки файловую систему.

На каком-то из разделов отобразится список директорий:

grub rescue > (hd0,msdos1)/
./ ../ lost+found/ boot/ vmlinuz-3.2.0-4-686-pae initrd.img-3.2.0-4-686-pae

Видим директорию boot , это нужный нам раздел. В зависимости от операционной системы путь к загрузчику может отличаться, вместо /boot/grub может быть /grub или ещё что-нибудь.

Устанавливаем переменные prefix и root:

После загрузки ОС нужно восстановить загрузчик GRUB на загрузочном разделе:

unknown filesystem

Случается, что на всех разделах отображается ошибка:

Качаем boot-repair-disk и пытаемся восстановить файловую систему с помощью fsck в нужном разделе:

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.

Источник

How to Use Grub Rescue to Fix Linux Boot Failure

The GRUB (Grand Unified Bootloader) is a tool for booting and loading operating system kernels and the default bootloader for systems based on the Linux kernel. Although it runs first when a machine is turned on, regular users rarely see GRUB in action. It functions automatically and requires no user input.

However, when attempting to boot another operating system alongside Linux on the same machine, the other system’s bootloader may overwrite GRUB, resulting in the inability of the Linux system to boot up.

This article will show you how to fix Linux boot failure using GRUB Rescue commands and the Boot Repair tool.

How to use Grub Rescue to fix Linux boot failure

Note: The tutorial below is written for GRUB 2, the current iteration of the GRUB bootloader.

GRUB Boot Issues

The most common reason for GRUB not booting into the operating system is another OS’s bootloader overwriting GRUB boot configuration. The problem occurs during an attempt a dual boot with an existing Linux installation. Another reason is the accidental removal of GRUB configuration files.

Читайте также:  Просмотр загрузки процессора linux

When GRUB is not able to boot the system, the GRUB Rescue prompt appears.

GRUB displaying

The example above shows GRUB displaying the «no such partition» error before displaying the grub rescue prompt. Another common GRUB error is «unknown filesystem», followed by the same prompt.

GRUB displaying

Sometimes, the screen may show the grub prompt only.

GRUB displaying only the GRUB prompt.

GRUB Rescue Commands

Below is the list of the commonly used GRUB Rescue commands. Use the commands in the prompts mentioned in the previous section.

Command Description Example
boot Start booting (shortcuts: F10, CTRL + x). The command is issued without arguments.
cat Write the contents of a file to standard output. cat (hd0,1)/boot/grub/grub.cfg
configfile Load a configuration file. configfile (hd0,1)/boot/grub/grub.cfg
initrd Load the initrd.img file. initrd (hd0,1)/initrd.img
insmod Load a module. insmod (hd0,1)/boot/grub/normal.mod
loopback Mount an image file as a device. loopback loop0 (hd0,1)/iso/image.iso
ls Display the contents of a directory or partition. ls (hd0,1)
lsmod Display a list of loaded modules. The command is issued without arguments.
normal Activate the normal module. The command is issued without arguments.
search Search for devices. Option —file searches for files, —label searches for labels, —fs-uuid searches for filesystem UUID. search -file [filename]
set Set an environment variable. If issued with no arguments, the command prints the list of all environment variables and their values. set [variable-name]=[value]

Fixing Boot Failure

This tutorial covers two ways to resolve GRUB boot issues, using the GRUB Rescue prompt, and the Boot Repair tool.

Via Grub Terminal

1. Use the set command with no arguments to view the environment variables:

The example output shows that GRUB is set up to boot from (hd0,msdos3) partition:

The output of the set command in GRUB.

2. The ls command lists the available partitions on the disk.

The output shows the partition list.

The output of the ls command in GRUB.

Use the ls command to find the partition containing the boot directory.

The example shows the boot directory in the (hd0,msdos1) partition.

Finding the partition containing the boot folder in GRUB.

3. Set the boot partition as the value of the root variable. The example uses the partition named (hd0,msdos1) .

4. Load the normal boot mode.

5. Start the normal boot mode.

The normal mode enables you to issue more complex commands.

6. Load the Linux kernel using the linux command.

linux /boot/vmlinuz-4.2.0-16-generic root=/dev/sda1 ro

7. Issue the boot command.

The system now boots properly.

Via Live image

Another way to fix your GRUB boot issues is to use a Linux live image to boot from an external device.

1. Download a live Linux installer. This example uses the Ubuntu 20.04 ISO image.

2. Use a tool such as Etcher to write the Linux image to an SD card or a USB flash drive.

3. Insert the bootable device and start the computer.

Читайте также:  Linux сервер внешний ip

4. Select Try Ubuntu on the welcome screen.

The Ubuntu welcome screen.

5. When the live system boots up, connect to the internet.

6. Open the terminal and type the following command to add the repository for the Boot Repair tool.

sudo add-apt-repository ppa:yannubuntu/boot-repair

Adding the repository for the Boot Repair tool.

Press Enter and wait for the repository to be added.

7. Update the repositories.

8. Install the Boot Repair tool.

sudo apt install boot-repair

9. Start the Boot Repair tool via the terminal.

10. Select Recommended repair.

Selecting Recommended repair on the Boot Repair main screen.

Wait for the tool to finish repairing the bootloader.

Note: The Boot Repair tool is available as a live image, so you can boot it from an external drive without using another live OS.

Updating GRUB config file

When the system successfully boots up, make sure the GRUB configuration is up to date.

Updating GRUB in the Linux terminal.

Reinstalling GRUB

Follow the steps below to reinstall GRUB on your Linux system.

1. Mount the partition containing the OS installation. The example mounts the /dev/sda1 partition to the /mnt directory.

2. Bind the /dev , /dev/pts , /proc , and /sys directories to the corresponding directories in the /mnt folder.

sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
sudo grub-install -root-directory=/mnt/ /dev/sda

Reinstalling GRUB in the Linux terminal.

4. Unmount the directories when the installation completes successfully.

sudo umount /mnt/sys && sudo umount /mnt/proc && sudo umount /mnt/dev/pts && sudo umount /mnt/dev && sudo umount /mnt

After reading this article, you should be able to fix your Linux boot failure using GRUB Rescue or Boot Repair utilities. For another way to fix your boot-related issues, read How to Use fsck Command.

Источник

grub rescue – что делать?

grub rescue – что делать?

В случае возникновения проблем с загрузчиком появляется надпись grub rescue. Чаще всего проблема появляется, когда на компьютере установлено сразу две операционные системы: Linux и Windows. Обычно установка производится в такой последовательности.

Сначала на жёсткий диск устанавливается Windows после чего на отдельный раздел производится установка Linux. При такой схеме в загрузочную область диска добавится загрузчик grub2 что позволяет выбирать в какую из систем производить запуск.

Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem .

grub rescue – что делать?

Ещё вы могли что-нибудь нахимичить с файлом конфигурации grub.cfg в директории /boot/grub/ . Его вообще не рекомендуется править редакторами поскольку в будущем он всё равно окажется перезаписан автоматически. Вместо этого сконфигурируйте файл /etc/default/grub и выполните команду: sudo update-grub

grub rescue – что делать?

Итак, мы находимся консоли загрузчика. Она имеет небольшой командный интерпретатор наподобие bash. Список всех доступных команд можно получить, набрав:

Читайте также:  Linux где хранятся маршруты

grub rescue – что делать?

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

grub rescue – что делать?

В данном примере всего один раздел msdos1 на жёстком диске hd0.

Убедимся, что это нужный раздел. Для этого выводим список файлов загрузчика:

Находим файл grub.cfg значит всё в порядке, продолжаем. Если каталог не обнаружен, то перебираем остальные разделы дисков пока не найдём.

grub rescue – что делать?

Следующая команда создаёт префикс для каталога загрузчика:

set prefix=(hd0, msdos1)/boot/grub

Установим раздел в качестве корневого:

set root=(hd0, msdos1)/boot/grub

Затем необходимо подключить ещё пару модулей и стартовать загрузку системы:

insmod ext2 insmod normal normal

grub rescue – что делать?

После успешной загрузки в Linux не забудьте переустановить загрузчик командой:

(вместо «_» введите букву загрузочного жёсткого диска).

Далее выполните команду обновления конфигурации файла grub.cfg:

Обычно grub2 автоматически определяет установленные системы, в том числе Windows, и добавляет их в список загрузки.

Восстановление ubuntu с флешки

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

Лучше подготовить USB или CD носитель с Ubuntu той же версии и разрядности что и восстанавливаемая система. Я покажу на примере системы Ubuntu 18.04 LTS x64. Загрузитесь в Live режиме и откройте терминал комбинацией Ctrl+Alt+T.

Для удобства сразу активируйте права суперпользователя root. Знак минус в конце команды означает перемещение в домашний каталог:

grub rescue – что делать?

Теперь нужно посмотреть список дисков и разделов программой fdisk:

grub rescue – что делать?

Обнаруживаем раздел с установленной системой Linux. В этом примере раздел /dev/sda1 единственный, он же корневой и загрузочный.

ВНИМАНИЕ

Выбирайте раздел аккуратно, буква диска может отличаться от моих примеров. Не потеряйте свои данные!

Смонтируем его в каталог /mnt/ :

Убедитесь, что каталог /boot/ находится на этом же разделе диска выполнив команду:

В случае отсутствия каталога, монтируйте его отдельно. Для этого нужно найти раздел в результате вывода утилиты fdisk (на скриншоте выше) и смонтировать командой:

X = номер вашего раздела с файлами каталога /boot/ .

Сейчас необходимо произвести логин в ту систему, которую будем чинить. Но перед этим смонтируем из Live системы несколько служебных разделов:

mount --bind /dev /mnt/dev && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys

Двойной амперсанд && между командами означает проверку выполнения предыдущей команды. Выполнение последующей команды происходит только при условии, что предыдущая завершена успешно.

Переходим в окружение chroot , то есть заходим под пользователем root в систему, установленную на жёстком диске:

Всё, мы в системе. Можно устанавливать загрузчик и обновлять его конфигурацию. Будьте внимательны, используется именно корневой раздел диска /dev/sda без цифры:

grub-install /dev/sda && update-grub

grub rescue – что делать?

Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit , или комбинацию Ctrl+D и выходим в консоль Live системы.

На всякий случай размонтируем корректно разделы и перезагружаемся:

Процедура восстановления загрузчика grub2 на этом завершена.

Видео

Источник

Оцените статью
Adblock
detector