GRUB консоль. Запускаем Linux
Иногда после установки Linux GRUB загрузчик показывает консоль вместо списка операционных систем. В статье расскажу как попросить grub начать загрузку системы через консоль.
Запускаем Linux через консоль GRUB
Если при загрузке компьютера появилась консоль grub, то не отчаивайтесь:
Для начала надо определить на каком диске находится система. В этом поможет команда:
Введите её и появится список всех дисков и разделов:
Теперь надо пройтись по всем дискам и разделам, чтобы найти два файла. Эти файлы начинаются на vmlinuz и initrd.img. В поиске этих файлов поможет та же команда ls. Скорее всего файлы будут лежать в корневой директории раздела ‘/’. Начинаем перебирать все диски и разделы:
Перебираем до тех пор, пока не найдём фалы vmlinuz и initrd.img. Верный результат будет выглядеть примерно так:
Запускаем Linux
Теперь надо запустить Linux. К сожалению, придётся минимум один раз наступить на грабли, но о них чуть позже.
Для загрузки Linux необходимо ввести следующие команды:
set root=(hd1,gpt2)
linux /vmlinuz-4.4.0-53-generic root=/dev/sda1
initrd /initrd.img-4.4.0-53-generic
boot
В приведённом примере необходимо заменить все пути и названия файлов на свои.
Чтобы облегчить задачу по набору всех значков в именах файлов, можно время от времени нажимать 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:
set root=(hd1,gpt2)
linux /vmlinuz-4.4.0-53-generic root=/dev/mapper/mint—vg-root
initrd /initrd.img-4.4.0-53-generic
boot
В статье описан один способов запуска linux через grub консоль. Есть и другие методы запуска. Читайте о них в следующих статьях.
Публикации из этого раздела:
- Linux. Переподключить все USB устройства — Иногда на компьютерах происходит беда с USB устройствами. К примеру, во время загрузки операционной .
- Антивирус для Linux? — Если устройство с цифровым интерфейсом подключено к интернету, то его можно сломать или заразить вир.
- Как посмотреть DNS записи домена — Чтобы посмотреть DNS записи домена введите в командной строке Linux следующую команду: dig alexgur.r.
- Как удалить SNAP. Вообще всё — Однажды после свежей установки kubuntu мне потребовался обычный калькулятор. Мой любимый — это gnome.
- Учитесь программировать — В истории человечества было несколько промышленных революций. Всегда с печальными последствиям для р.
- Ubuntu. Стартовая настройка — Уже больше 10 лет пользуюсь дистрибутивами на основе Ubuntu. Поэтому привык к набору программ, кото.
- Debian. Минимальная установка KDE — Для минимальной установки Debian+KDE использую следующую команду.
- Шифрование папки — На всех переносимых устройствах (ноутбуках) использую полное шифрование диска (с шифрованием swap ра.
4 комментариев к “ GRUB консоль. Запускаем Linux ”
Привет, а как сделать так, чтобы каждый раз не вводить при загрзке:
set root=(hd1,gpt2) linux /vmlinuz-4.4.0-53-generic root=/dev/sda1 initrd /initrd.img-4.4.0-53-generic boot
Привет. Ох, если бы я только знал!:)
Если найду — обязательно поделюсь. Но пока не нашёл. Поэтому пришлось забросить ультрабук prestigio, из-за которого и начал писать эту статью.
Привет. Помоги, пожалуйста, с установкой Linux. При выборе загрузочной флэшки появляется такое окно. Оставь контакты, как с тобой можно связаться? Спасибо.
Загрузка операционной системы из командной строки 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
- для загрузки Windows вместо root (h d0,2) надо набирать rootnoverify (hd0,1). Нумерация устройств начинается с (hd0,0), а не (hd0,1). А командой rootnoverify вы устанавите корневое устройство, но не смонтируете его.
- для загрузки Linux поменяется другая команда: вместо linux вам понадобится команда kernel (полный аналог, даже параметры теже).
UPD: дописал про отличия загрузки с grub от grub2. Спасибо bliznezz