Навигация
|
Как использовать 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
Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | Код обмена баннерами | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: | © Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|