- Что делать при ошибке GRUB Rescue?
- Что делать при ошибке GRUB Rescue?
- Как восстановить загрузчик GRUB?
- Подводим итоги
- Аварийный запуск системы из командной строки GRUB
- Комментариев: 8
- grub rescue – что делать?
- Содержание
- grub rescue – что делать?
- Восстановление ubuntu с флешки
- Видео
- Grub-rescue, как восстановить загрузку.
Что делать при ошибке 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
Краткая инструкция по загрузке Windows и Linux из командной строки GRUB на случай каких-либо неполадок. Сразу оговорюсь, что сам grub2 должен запускаться, если же вы не можете попасть в консоль grub2, то вам скорее всего потребуется переустановка grub.
Запуск Linux с помошью командной строки GRUB
Нам понадобится написать всего 3 строчки: «set root«, «linux» и «initrd» и в конце дать команду «boot».
set root=(hd0,5)
linux /boot/vmlinuz-2.6.32-generic root=/dev/sda5
initrd /boot/initrd.img-2.6.32-generic
boot
Немного поясню — в строке set root указываем на корневой раздел linux. В моем случае это был «hd0,5», он же «/dev/sda5», то есть пятый раздел первого диска. Список доступных разделов диска можно получить, выполнив команду ls.
Далее, командой linux, указываем загружаемое ядро. Полное название ядра знать не обязательно, просто пишем «linux /boot/vmlinuz» и нажимаем tab. Консоль сама допишет правильный результат. У меня был предложен выбор между старым и новым ядром. Только в конце строки не забудьте дописать параметр root=/dev/sda5 или что там у вас.
Для старта системы этого уже должно хватить. Осталось выполнить команду boot. В некоторых случаях перед выполнением «boot» попробуйте дополнительно выполнить команду initrd, как описано выше в примере.
Запуск Windows из командной строки GRUB
Процесс запуска Windows из консоли GRUB ещё проще. Как и в случае с Linux в начале указываем корневой раздел, где находится Windows. В моем случае окошки установлены в /dev/sda1. После чего, отдаем команду chainloader +1, которая заставляет grub2 передать дальшейшее управление загрузкой Windows-загрузчику. Даем команду boot на запуск системы и наблюдаем загрузку винды. Пример:
set root=(hd0,1)
chainloader +1
boot
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Комментариев: 8
Единственный работающий мануал на весь рунет.
Если не знаете на каком разделе установлен Линукс (вдруг), можно каждый раздел проверить командой типа ls(hd0,1)/ (со слешем в конце).
Привет, а как сделать так, чтобы каждый раз это не прописывать?
Для этого нужно прописать соотвествующие изменения в загрузчик GRUB. Обычно нужные строки добавляются автоматически при установке системы.
Что делать, если видит только разделы msdos, но я знаю что там есть Linux
Что делать, если видит только разделы msdos, но я знаю что там есть Linux
Если пишет например (hd0,msdos5) — то это тоже самое, что (hd0,5).
У меня так пишет, хотя там Linux и ext4.
Что делать если на всех разделах не находит виндовс? пишет unknown filesystem
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-rescue, как восстановить загрузку.
Предыстория. Попал в руки ноутбук Samsung NP355V4C с установленной на оном Windows 7. Задача: поставить параллельно Debian. Странности начались с самого начала — в биосе почему то ну никак не смог выставить загрузку сначала с флешки, затем с жесткого диска. Т.е. или одно или другое. Ну и ладно, бог с ним, запустил сетевую установку Debian. После установки дистрибутив по умолчанию поставил GRUB на флешку. Необходимо было переместить GRUB на жесткий диск. Что и сделал по следующему руководству
Перезагрузился без флешки, получил Grub-rescue. В rescue mode доступно всего четыре команды:
- ls — вывод содержимого
- set — установить переменную
- unset — очистить переменную
- insmod — загрузка модуля
Т.е. текущая задача найти где хранятся модули и загрузить их. Вначале следует дать команду:
В ответ она выведет, например, следующее:
По непонятным причинам, в данном примере Grub даже не понимает, какие файловые системы находятся на разделах дисков, и почему-то их считает как msdos.
Нам нужно постараться угадать, какие диски мы видим. В данном случае видно два диска. Диск с индексом 0 содержит три раздела, диск с индексом 1 содержит два раздела. Я знаю, что мой линукс, который мне нужно загрузить, находится на диске с тремя разделами. Поэтому делаю вывод, что мне нужен hd0.
По непонятным причинам Grub называет разделы в обратном порядке. И становится непонятно, что имеется в виду под (hd0,msdos3) — первый раздел или третий? Тут можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что в Grub счет дисков начинается с 0, а счет разделов — с 1.
Так как я знаю, что Linux в моем случае установлен на первый раздел, то нужный мне раздел будет обозначаться (hd0,1). Выяснив обозначение радела, нужно дать команды:
Этими командами мы указываем использовать диск (hd0,1) для дальнейших команд. После чего нужно проверить, действительно ли на этом разделе есть то что нам нужно. Даем команду:
должно вывестись на экран куча файлов с расширением md
После чего Grub перейдёт в полнофункциональный режим. Он автоматически найдет все разделы с которых можно грузить ОС и покажет своё Grub-меню.
Дальнейшее восстановление обычно сводится к тому, чтобы загрузить нужный нам Linux, и в нем от root дать команду:
Эта команда переустановит в MBR код Grub-а таким образом, что он автоматически будет подхватывать свою вторую часть с раздела, с которого вы и загрузились.