Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Как использовать GRUB Rescue в Ubuntu 18.04


 
 
Как использовать GRUB Rescue в Ubuntu 18.04
 
 
Попробуем кратко объяснить процесс загрузки компьютера с ОС Linux Ubuntu 18.04
 
 
При включении компьютера, процессору надо узнать, какую последовательность действий следует выполнить
 
В материнской плате в энергонезависимой памяти хранится список устройств (порядок загрузки - жесткий диск, dvdrom, usb), с которых возможно произвести загрузку
 
Каждое из устройств разбито на области (сектора), на которых процессор ищет первый сектор - главная загрузочная запись (Master Boot Record - MBR)
 
Кроме секторов, устройство может содержать разделы, которые состоят из определенного количества секторов
 
Первый сектор раздела является загрузочным сектором (boot sector), является минимальной единицей деления жесткого диска на части
 
В секторе процессор находит программный код, с помощью которого он может выполнить процесс загрузки
 
По этой схеме процессор выполняет загрузку системы
 
 
Сам программный код загрузки в Linux называется Grub(Grand Unified BootLoader)
 
Код Grub имеет 2 части:
1 - хранится в главной загрузочной записи (MBR), называется stage1 (512 байт)
2 - загружается в оперативную память компьютера (ОЗУ) после выполнения первой части, называется stage2
 
Stage2 запускает ядро(/boot/vmlinuz) операционной системы Linux, после создает в ОЗУ временную файловую систему, в которую загружает модули и драйвера устройств
 
При создании временной файловой системы применяется образ файловой системы(Initial Ram Disk) - /boot/initrd.img
 
 
По сути загрузчику Grub нужно знать 2 пункта, с помощью которых он сможет загрузить операционную систему:
1 - где лежит ядро операционной системы(/boot/vmlinuz)
2 - где лежит образ файловой системы(/boot/initrd.img)
 
Данную информацию загрузчик ищет в файле - /boot/grub/menu.lst или grub.conf
При наличии ошибки в этих файлах загрузчик может не найти ядро, образ файловой системы, а неверно указанный корневой раздел вызовет ошибку "Kernel panic"
 
 
Приведем пример файла menu.lst из Ubuntu 18.04, меню которое отображается при загрузке системы:
# cat /boot/grub/menu.lst
 
 
С stage2 мы взаимодействуем интерактивно
 
При перезагрузке, находясь в меню загрузчика можно выйти в командную строку и загрузить систему дав команды руками:
Нажимаем Esc
Нажимаем c
 
Выведем наши разделы(в моей машине 1 диск):
grub> ls
(hd0) (hd0,gpt2) (hd0, gpt1)
 
Вы можете получить список файлов, которые есть в определенном разделе, с помощью команды ls:
grub> ls (hd0,gpt2)/
 
Итак, мы нашли файловую систему на (hd0,gpt2), нас интересуют файлы, которые есть в каталогах /boot:
grub> ls (hd0,gpt2)/boot
 
Вы должны найти два файла в каталоге /boot, vmlinuz и initrd, эти файлы необходимы для правильной загрузки:
grub> set root=(hd0,gpt2)
 
Теперь вам нужно использовать команду linux, чтобы сделать относительный путь к файлу vmlinuz известным загрузчику GRUB:
grub> linux /boot/vmlinuz-4.15.0-96-generic root=/dev/sda2
 
ПРИМЕЧАНИЕ:
Здесь в примере моей машины требуется root = /dev/sda2
В противном случае не загрузиться
/dev/sda2 означает, что это второй раздел первого жесткого диска
 
Я добавил пример-таблицу 2х дисков, чтобы помочь вам понять, как это работает:
 
 
Теперь вам нужно выполнить команду initrd, чтобы сообщить путь к образу initrd загрузчику GRUB:
grub> initrd /boot/initrd.img-4.15.0-96-generic
 
 
Теперь вы можете запустить следующую команду GRUB для загрузки операционной системы Ubuntu 18.04:
grub> boot
 
 
Когда вы вошли в систему, выполните следующую команду, чтобы обновить файл конфигурации GRUB 2:
sudo update-grub2
 
Вам также может понадобиться переустановить загрузчик GRUB с помощью следующей команды:
sudo grub-install /dev/sda
 

Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект