Виправлення Linux boot failures в GRUB 2 rescue mode
GRUB 2 (Grand Unified Bootloader version 2) — популярний і гнучкий завантажувач, який використовується в багатьох дистрибутивах Linux. Він служить інтерфейсом між прошивкою системи та операційною системою, дозволяючи користувачам вибирати, в яку ОС або версію ядра завантажуватися. GRUB 2 підтримує широкий спектр операційних систем, включаючи Linux, Windows та інші, що робить його дуже універсальним. Він має модульну конструкцію, що дозволяє налаштовувати та розширювати за допомогою різних модулів, таких як підтримка різних файлових систем та шифрування. GRUB 2 також включає інтерактивний інтерфейс командного рядка, режим порятунку та параметри налаштувань, які можна редагувати для зміни поведінки завантаження. Цей завантажувач має вирішальне значення для керування системами з кількома завантаженнями та забезпечення правильного завантаження операційної системи після оновлень або змін системи.
Здатність GRUB 2 виправляти проблеми із завантаженням значно покращилася порівняно з оригінальним завантажувачем GRUB. У цій статті наведено відомості щодо варіантів вирішення проблем із завантаженням GRUB 2, а також конкретні настанови щодо використання термінала GRUB 2. Інструкції написані для GRUB 2.
Як виглядає запит GRUB 2?
В основному є три повідомлення про помилки або екрани, коли GRUB не вдається завантажитися.
grub>: Це режим екрана, який ви бачите, коли GRUB знайшов все, крім файла налаштувань. Цей файл, ймовірно, буде grub.conf.
grub rescue>: Це режим, коли GRUB 2 не може знайти папку GRUB або її вміст відсутній/пошкоджений. Папка GRUB 2 містить меню, модулі та збережені дані про середовище.
GRUB: Просто “GRUB” ніщо інше не вказує на те, що GRUB 2 не зміг знайти навіть найосновнішу інформацію, необхідну для завантаження системи.
Це основні помилки, які можуть виникнути під час завантаження. Однак на екрані можна побачити ще кілька помилок, на кшталт завислої заставки, Busybox або Initramfs: почалася GRUB 2.
Втім, кожен з режимів збою GRUB 2 можна виправити або з термінала GRUB 2, або з завантажувального CD або DVD дистрибутива. Також доступні сторонні інструменти порятунку.
Доступні основні команди.
Це команди, які можна використовувати, коли ви входите в режим терміна GRUB 2 натисканням «c».
boot (Initiate the boot, also F10 or CTRL-x)
cat (view the contents of config or txt files; cat (hd0,1)/boot/grub/grub.cfg)
configfile (Load a GRUB 2 configuration file such as grub.cfg; configfile (hd0,5)/boot/grub/grub.cfg.)
initrd (Loads the initrd.img, necessary for booting; initrd (hd0,5)/initrd.img.)
insmod (Loads a module; insmod (hd0,5)/boot/grub/normal.mod, or insmod normal.)
linux (Loads the kernel; insmod /vmlinuz root=(hd0,5) ro.)
loop (Mount a file as a device; loopback loop (hd0,2)/iso/my.iso.)
ls (lists the contents of a partition/folder; ls, ls /boot/grub, ls (hd0,5)/, ls (hd0,5)/boot.)
lsmod (List loaded modules.)
normal (Activate the normal module, if loaded.)
search (Search for a device. Type help search for the available options.)
set (Review current settings, or set XXX to set a variable such as colors, prefix, root.)
vbeinfo (Display GRUB 2 available resolutions.)
The Rescue Shell.
Якщо ви отримуєте rescue shell, це, зазвичай, означає, що GRUB з якоїсь причини не вдалося завантажити модуль «normal». Можливо, це можна тимчасово обійти: наприклад, якщо причиною помилки є те, що “префікс” неправильний (можливо, він стосується не того пристрою, або, можливо, шлях до “/boot/grub” було неправильно прокладено відносно пристрою), то ви можете виправити це і увійти в звичайний режим вручну: Перевірте поточний префікс (та інші попередньо встановлені змінні):
set
You will probably have an output more or less like this:
Ймовірно, у вас буде результат більш-менш такий: Ваш вихід може відрізнятися,
ls
Встановіть правильне значення, яке може бути приблизно таким:
set prefix=(hd0,1)/grub
(це потрібно робити відповідно до вашого власного імені диска)
set root=(hd0,1)
(Це має бути виконано відповідно до вашого власного імені диска.)
insmod normal normal
Наведені вище команди виведуть вас з режиму порятунку в звичайний режим терміналу. У режимі терміналу у вас більше команд з підвищеною функціональністю.
Після перерахованих вище команд можна йти далі і приступати до інших налаштувань.
insmod linux * linux /vmlinuz root=/dev/sdXY ro
(якщо це не допомогло, спробуйте це)
linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro
(необов’язково)
initrd /initrd.img
(Вибирає зображення initrd.)
boot
Після завантаження системи.
Оновіть файл налаштувань GRUB.
sudo update-grub
Перевстановлення Grub на пристрій:
sudo grub-install /dev/sdX
Це має бути все для рятувальної частини, і ваша система має бути справною та працюючою. Якщо ні, ви можете уникнути всіх своїх проблем, використовуючи Boot Repair. Це інструмент, який використовується для відновлення всього меню завантаження. Його можна завантажити безпосередньо та використовувати як Live Boot CD або DVD. Ось посилання для завантаження.