При запуске linux пишет grub

Аварийный запуск системы из командной строки 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: «символ grub_calloc не найден

Только что запустил последний пакет обновлений 20.04 (Xubuntu), и теперь я получаю ошибку GRUB:

Я попал в оболочку «grub rescue», но понятия не имею, что там делать, что может быть полезно. Для меня «символ не найден» означает какую-то ошибку сборки с пакетом grub, но я действительно не знаю, как работает grub. Я заметил, что это обновление также включало «прошивку», не уверен, может ли это быть связано. Лучше всего загрузиться с live CD и посмотреть, смогу ли я как-нибудь откатить обновление до grub?

Читайте также:  Windows звук по событию

Отредактировано для добавления:

Хорошо, спасибо многим! Вот что я теперь понимаю.

В системах без UEFI grub устанавливается в двух отдельных частях. Первая, самая основная часть — это часть, которая запускается при загрузке. Но для большей части его функциональности нужна вторая часть. Эти части должны быть выровнены — ни одна из частей не должна требовать каких-либо функций от другой части, которой на самом деле нет.

Видимая проблема во время выполнения возникает, когда эти части не выровнены, а функция grub_calloc не предоставляется. Мне не на 100% ясно, принадлежит ли grub_calloc второй, большей части или первой. Я ожидал второго, но система сборки grub — произведение искусства, поэтому я не знаю:).

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

На самом деле для меня это до сих пор остается загадкой. Все, что требуется для обновления по умолчанию, — это поместить каждую часть на место текущих частей, потому что, очевидно, это сработало. Если места установки / диски зависят от конфигурации, и одно из этих мест не может быть достигнуто, то каким-то образом возникло несоответствие между этими данными конфигурации и реальностью. Это может не проявляться как проблема, пока между частями не будет введена новая зависимость.

Все варианты решения включают переустановку личинки, чтобы обеспечить совмещение двух частей. На самом деле нет необходимости возвращаться к предыдущей версии (хотя это будет работать), потому что сама по себе среда выполнения grub не работает. Есть множество способов добиться этого, в зависимости от вашей среды, но запуск живого диска Boot-repair для меня сработал.

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

Это обновление устраняет некоторые важные ошибки (см. Уведомление о безопасности Ubuntu 4432). Если вы вернули grub для решения этой проблемы, имейте в виду, что вы подвержены этим проблемам.

Источник

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

Содержание

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

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

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

Читайте также:  При обновлении драйвера видеокарты синий экран windows 10

Ещё вы могли что-нибудь нахимичить с файлом конфигурации 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 на этом завершена.

Читайте также:  Mac os screenshot hotkey

Видео

Источник

GRUB консоль. Запускаем Linux

Дата 30.05.2017 Автор Alex Рубрика iT

Иногда после установки Linux GRUB загрузчик показывает консоль вместо списка операционных систем. В статье расскажу как попросить grub начать загрузку системы через консоль.

Запускаем Linux через консоль GRUB

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

Для начала надо определить на каком диске находится система. В этом поможет команда:

Введите её и появится список всех дисков и разделов:

Теперь надо пройтись по всем дискам и разделам, чтобы найти два файла. Эти файлы начинаются на vmlinuz и initrd.img. В поиске этих файлов поможет та же команда ls. Скорее всего файлы будут лежать в корневой директории раздела ‘/’. Начинаем перебирать все диски и разделы:

Перебираем до тех пор, пока не найдём фалы vmlinuz и initrd.img. Верный результат будет выглядеть примерно так:

Запускаем Linux

Теперь надо запустить Linux. К сожалению, придётся минимум один раз наступить на грабли, но о них чуть позже.

Для загрузки Linux необходимо ввести следующие команды:

linux /vmlinuz-4.4.0-53-generic root=/dev/sda1

В приведённом примере необходимо заменить все пути и названия файлов на свои.

Чтобы облегчить задачу по набору всех значков в именах файлов, можно время от времени нажимать TAB на клавиатуре. Консоль сама будет завершать названия файлов. К примеру, набрали из второй строки «linux /vm», затем нажали TAB, строчка сама дописалась до «linux /vmlinuz-4.4.0-53-generic».

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

ALERT! /dev/sda1 does not exist Dropping to shell!

При загрузке система монтируется на определенный раздел, в который её устанавливали. К примеру, если установка происходила в /dev/sda1 надо смонтировать систему туда. Но если система была установлена не в /dev/sda1, то во время запуска система выдаст ошибку:

ALERT! /dev/sda1 does not exist. Dropping to shell!

Это и есть грабли, о которых говорил ранее. На второй строчке примера было указано root=/dev/sda1:

linux /vmlinuz-4.4.0-53-generic root=/dev/sda1

Необходимо задать правильный раздел, потому что /dev/sda1 не подходит. Для этого вводим команду:

Появится список всех смонтированных разделов и их адреса:

Находим что-то похожее на root. В моём примере это

Перезапускаем систему и заново вводим в консоль grub все известные команды, но уже с правильным разделом для root:

linux /vmlinuz-4.4.0-53-generic root=/dev/mapper/mint—vg-root

Заключение

В статье описан один способов запуска linux через grub консоль. Есть и другие методы запуска. Читайте о них в следующих статьях.

4 комментариев к “ GRUB консоль. Запускаем Linux ”

Привет, а как сделать так, чтобы каждый раз не вводить при загрзке:
set root=(hd1,gpt2)

linux /vmlinuz-4.4.0-53-generic root=/dev/sda1

Привет. Ох, если бы я только знал!:)
Если найду — обязательно поделюсь. Но пока не нашёл. Поэтому пришлось забросить ультрабук prestigio, из-за которого и начал писать эту статью.

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

А если загрузиться в систему и сделать update-grub — это не поможет «запомнить» настройки?

Источник

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