- Что делать при ошибке GRUB Rescue?
- Что делать при ошибке GRUB Rescue?
- Как восстановить загрузчик GRUB?
- Подводим итоги
- Grub Rescue Commands to Fix Boot Issues
- When will the grub rescue commands be used?
- Grub rescue Commands
- Grub rescue by boot-repair
- Conclusion
- grub rescue – что делать?
- Содержание
- grub rescue – что делать?
- Восстановление ubuntu с флешки
- Видео
- Загрузка операционной системы из командной строки Grub
Что делать при ошибке GRUB Rescue?
У тех пользователей, которые установили сразу Windows и Linux, часто появляется ошибка GRUB Rescue, связанная с нарушением работы загрузчика. После запуска компьютера отсутствует возможность выбора нужной операционной системы. Проблему всегда можно решить обычной переустановкой Linux, но есть более простые варианты, не требующие столь кардинальных мер.
Что делать при ошибке GRUB Rescue?
Загрузчик GRUB имеет модульную структуру. Все конфигурационные файлы и базовые модули находятся в обычном разделе на жестком диске. Однако первичные данные хранятся непосредственно в главной загрузочной записи. Если информация там будет изменена, то меню с выбором операционных систем не появится. Компьютер просто выдаст ошибку о загрузке. Перезапись данных часто является следствием установки Windows после Linux, а не наоборот.
Вариант решения проблемы:
- В терминале всегда можно ввести определенные команды. Чтобы ознакомиться с ними, нужно набрать $help.
- Можно заметить, что в арсенале имеется команда ls, которая позволяет посмотреть список имеющихся каталогов. Ее и нужно ввести.
- С ее помощью также следует проверить появившиеся каталоги, чтобы понять, в каком месте располагаются файлы модулей. Пример: ls (hd0,1)/.
- В каком-то из разделов должна находиться папка boot. Дальше вводятся следующие команды: первая – $setroot=(hd0,1), вторая – $setprefix=(hd0,1/boot/grub).
- В самом конце необходимо запустить модуль normal, позволяющий осуществить загрузку. Сначала требуется ввести: $ insmod normal, а после — $ normal.
Справка: у многих пользователей не заряжается аккумулятор ноутбука. Причин может быть несколько. Перед обращением в сервис можно попытаться самостоятельно решить проблему.
Как восстановить загрузчик GRUB?
Если случалось так, что файлы в соответствующих разделах полностью затерты, то придется заниматься восстановлением загрузчика. Процесс этот можно осуществить двумя способами.
Первый из них предполагает взаимодействие с системой через терминал:
- Требуется загрузить Linux с того носителя, который использовался при инсталляции. Иногда необходимо войти в БИОС, чтобы включить загрузку с диска или флешки.
- Далее стоит открыть терминал, нажав комбинацию клавиш Ctrl + Alt + T, и вывести существующие разделы на экран посредством команды sudofdisk —i.
- После этого появится таблица с каталогами. Нужно найти корневой раздел и смонтировать его. Для этого следует ввести sudomount /dev/sda5/mnt. Вместо sda5 требуется прописать имя конкретного раздела. Он может отличаться.
- Восстановить загрузчик помогает команда sudo grub-install – root-directory=/mnt /dev/sda.
- В самом конце нужно ввести sudo reboot для перезагрузки.
При необходимости можно воспользоваться специальной утилитой, чтобы автоматизировать процесс. Для этого после загрузки с установочного носителя придется ввести всего три команды. Пример для дистрибутива Ubuntu.
- первая – sudo add-apt-repository ppa^yannubuntu/boot-repair;
- вторая – sudo apt-get update;
- третья – sudo apt-get install boot-repair.
Интересно: иногда пользователи не могут включить камеру на ноутбуке после загрузки операционной системы. Это не значит, что она сломана. Часто все проблемы кроются в программном обеспечении.
Подводим итоги
Если при загрузке компьютера появляется ошибка GRUB Rescue, то стоит понимать, что неисправность касается именно загрузчика, а не конкретной операционной системы. После его восстановления все начнет работать в том же режиме, что и ранее. Никакие файлы на жестком диске не будут уничтожены или изменены.
Grub Rescue Commands to Fix Boot Issues
GRUB stands for GRand Unified Bootloader. It is the first software program which be run when your computer starts. The bootloader is in charge of loading and booting the operating system kernel. GRUB is the default bootloader for Linux kernel-based operating systems.
In some cases, you have to run both Linux and Windows on the same machine (Laptop or PC), you may encounter some issues with GRUB. For example, if you install Windows after Linux installation, the Windows initiate its own bootloader on the MBR (Master Boot Record). So, GRUB is no longer available and you can’t boot into the Linux OS.
This tutorial will go through some scenarios that make the GRUB unbootable and how to use GRUB commands in order to rescue your Linux OS from boot.
When will the grub rescue commands be used?
Nowadays, most of the Linux systems are using GRUB2 (grub version 2). GRUB2 is a replacement for GRUB bootloader.
If the GRUB can not find the grub folder or the contents inside are corrupted, The GRUB prompt looks like:
This error prevents you from booting into your operating system. The following sections will explain the way to fix this problem.
Grub rescue Commands
Each of GRUB failed modes can be fixed by the grub terminal or live CD installer.
At the grub command prompt, enter ‘ls’ to see the disk drives and available partitions:
hd0: the hard disk
msdos: the partition type
Normally, the OS is booted from the first partition of the hard disk. In this case, to verify that the bootable partition is ‘msdos1’, let’s run the following command:
Next, let’s explore the grub2 directory by running:
As you can see, the grub in Linux has its own configuration file: ‘grub.cfg’.
If you don’t see this file, you can create it by running the command:
In order to boot your system, let’s type:
Running the ‘set root’ will define the bootable partition. The default kernel is linux v3.10.
Now, we have to define the path to grub2 directory:
Here also, you will need to change the partition to your boot partition.
If you are unable to boot your system (which might be due to bad filesystem, or due to missing GRUB configuration file), you will need to boot from some other medium. You can use some bootable rescue CD or the Live CD of your distribution if available.
Once you have booted into your system, you might need to create the GRUB configuration files, if missing or if misconfigured. To create these configuration files, run:
This command needs superuser privileges. So run this command (and the following commands in this article) as root.
The next step is to install GRUB on the MBR. This will fix the problem caused by Windows, in which Windows installs its bootloader on MBR, after installation of Windows over Linux. Here I assume that you have booted from the Live or rescue CD.
Now, before we go to the details of installing GRUB on MBR, we need to mount the root partition of Linux.
Here, the root partition is assumed to be ‘/dev/sda1’. This partition is mounted on /mnt directory. You can choose your own mount point, and your root filesystem partition may be different.
Now, we are ready to install GRUB. Run the following command:
This will install the GRUB on Master Boot Record. If you wish to install it on some partition, replace the last argument of the above command with the proper partition.
Grub rescue by boot-repair
Another way to rescue the grub on Ubuntu and almost of Linux distributions is using boot-repair tool. It’s a graphical utility that can repair the Grub2 bootloader by some clicks.
You need to prepare a Live USB/DVD installer and boot into the live Linux environment. Then, let’s connect your live OS to the Internet, install boot-repair by running the following commands:
The boot-repair tool will be launched and you can select the ‘Recommend repair’ button and follow some next steps to repair your bootloader.
Conclusion
In this tutorial, we learned how to use grub rescue command to fix the OS boot error. Thanks for reading and please leave your suggestion in the below comment section.
grub rescue – что делать?
Содержание
В случае возникновения проблем с загрузчиком появляется надпись grub rescue. Чаще всего проблема появляется, когда на компьютере установлено сразу две операционные системы: Linux и Windows. Обычно установка производится в такой последовательности.
Сначала на жёсткий диск устанавливается Windows после чего на отдельный раздел производится установка Linux. При такой схеме в загрузочную область диска добавится загрузчик grub2 что позволяет выбирать в какую из систем производить запуск.
Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem.
Ещё вы могли что-нибудь нахимичить с файлом конфигурации grub.cfg в директории /boot/grub/. Его вообще не рекомендуется править редакторами поскольку в будущем он всё равно окажется перезаписан автоматически. Вместо этого сконфигурируйте файл /etc/default/grub и выполните команду sudo grub-update.
grub rescue – что делать?
Итак, мы находимся консоли загрузчика. Она имеет небольшой командный интерпретатор наподобие Bash. Список всех доступных команд можно получить, набрав:
Введите команду для просмотра существующих разделов:
В данном примере всего один раздел msdos1 на жёстком диске hd0.
Убедимся, что это нужный раздел. Для этого выводим список файлов загрузчика:
Находим файл grub.cfg значит всё в порядке, продолжаем. Если каталог не обнаружен, то перебираем остальные разделы дисков пока не найдём.
Следующая команда создаёт префикс для каталога загрузчика:
Установим раздел в качестве корневого:
Затем необходимо подключить ещё пару модулей и стартовать загрузку системы:
После успешной загрузки в Linux не забудьте переустановить загрузчик командой:
(вместо «_» введите букву загрузочного жёсткого диска).
Далее выполните команду обновления конфигурации файла grub.cfg:
Обычно grub2 автоматически определяет установленные системы, в том числе Windows, и добавляет их в список загрузки.
Восстановление ubuntu с флешки
Если все проделанные выше действия не помогли, то придётся раздобыть загрузочную флешку.
Лучше подготовить USB или CD носитель с Ubuntu той же версии и разрядности что и восстанавливаемая система. Я покажу на примере системы Ubuntu 18.04 LTS x64. Загрузитесь в Live режиме и откройте терминал комбинацией Ctrl+Alt+T.
Для удобства сразу активируйте права суперпользователя root. Знак минус в конце команды означает перемещение в домашний каталог:
Теперь нужно посмотреть список дисков и разделов программой fdisk:
Обнаруживаем раздел с установленной системой Linux. В этом примере раздел /dev/sda1 единственный, он же корневой и загрузочный.
ВНИМАНИЕ: выбирайте раздел аккуратно, буква диска может отличаться от моих примеров. Не потеряйте свои данные!
Смонтируем его в каталог /mnt/:
Убедитесь, что каталог /boot/ находится на этом же разделе диска выполнив команду:
В случае отсутствия каталога монтируйте его отдельно. Для этого нужно найти раздел в результате вывода утилиты fdisk (на скриншоте выше) и смонтировать командой:
X = номер вашего раздела с файлами каталога /boot/.
Сейчас необходимо произвести логин в ту систему, которую будем чинить. Но перед этим смонтируем из Live системы несколько служебных разделов:
Двойной амперсанд && между командами означает проверку выполнения предыдущей команды. Выполнение последующей команды происходит только при условии, что предыдущая завершена удачно.
Переходим в окружение chroot, то есть заходим под пользователем root в систему, установленную на жёстком диске:
Всё, мы в системе. Можно устанавливать загрузчик и обновлять его конфигурацию. Будьте внимательны, используется именно корневой раздел диска /dev/sda без цифры:
Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit, или комбинацию Ctrl+D и выходим в консоль Live системы.
На всякий случай размонтируем корректно разделы и перезагружаемся:
Процедура восстановления загрузчика grub2 на этом завершена.
Видео
Загрузка операционной системы из командной строки Grub
У меня на домашнем компьютере стоит две операционные системы, Windows 7 и Linux (Arch). Причем вторая появилась относительно недавно. Да и особых знаний о новой (для меня) ОС не было. Тем не менее систему я поставил и даже относительно настроил под себя. Энтузиазм и программерское любопытство меня пересиливало, поэтому, в качестве ознакомления, стал экспериментировать с различного рода пакетами. К сожалению, не всегда вчитываясь в детали.
Решил я переставить Grub, а точнее обновиться до Grub2. (Слышал я такое мнение, что в духе Linux принято держать последнюю версию пакета… Про изменения Grub2 хорошо написано тут.)
Ну и как результат «спешной» установки — перестала грузиться система. Единственное за что можно было зацепиться — это приглашение командной строки:
По нажатию на Tab вываливается список возможных команд. Их существенно меньше чем в командной строке Linux, но их достаточно для загрузки системы. Почитав про grub тут я решил загрузить Windows, все-таки тут я пока себя чувствую увереннее. Для этого нужно было указать где находиться загрузчик ОС и передать ему управление:
grub> root (hd0,2) [Устанавливаем корневой раздел и монтируем. Тут главное помнить, на каком разделе стоит операционная система]
Запись (hd0,2) означает устройство диска номер 0 (мастер), раздел номер 2.
что соответствует устройству /dev/sda2 (в моем случае). У вас это может быть или /dev/hd2, или еще что-нибудь, в зависимости от дистрибутива. Нумерация устройств идет по-порядку и начинается с (hd0,1) или /dev/sda1.
Далее вводим:
grub> chainloader +1 [пробел перед «+» важен. сhainloader — передает управление загрузкой по цепочке другому загрузчику. В моем случае это был NTLDR]
grub> boot
NTLDR — это загрузчик Windows.
Система стала грузиться, а раз это дало результат — можно копаться дальше (все-таки не Windows теперь предмет изучений).
Перезагружаемся и вводим снова.
grub> root (hd0,6)
grub> linux /boot/vmlinuz26 root=/dev/sda6 [Загружает указанное linux-ядро (/boot/vmlinuz26) с параметрами(root=/dev/sda6)]
Тут стоит различать команду root (hd0,6) и параметр root=/dev/sda6. Первое монтирует раздел к среде выполнения. А второе указывает где находиться root загружаемой ОС. В моем случае ядро и корень оказались на одном разделе, хотя это может быть не так.
grub> initrd /boot/kernel26.img [Загружает указанный initrd-образ]
grub> boot
Мне это помогло, надеюсь вам это не пригодиться, а если и пригодиться, то поможет.
Кстати, если неправильно указать root, процесс загрузки завершиться ошибкой и появиться приглашение вида:
[ramfs /]#
Можно набрать:
[ramfs /]# ls /dev
и посмотреть список устройств(если вы вдруг его забыли как я).
Моя проблема установки gurb2 была в том, что при установке затер файл меню grub (обычно он находиться /boot/grub/menu.lst), а новый файл не создал. Для создания файла конфигурации надо было выполнить grub-mkconfig.
Если у вас сбились настройки grub, то отличия в командах будут минимальными:
- для загрузки Windows вместо root (h d0,2) надо набирать rootnoverify (hd0,1). Нумерация устройств начинается с (hd0,0), а не (hd0,1). А командой rootnoverify вы устанавите корневое устройство, но не смонтируете его.
- для загрузки Linux поменяется другая команда: вместо linux вам понадобится команда kernel (полный аналог, даже параметры теже).
UPD: дописал про отличия загрузки с grub от grub2. Спасибо bliznezz