Рішення помилок програми-завантажувача GRUB

Нерідко виникає необхідність в установці двох принципово різних операційних систем на один комп'ютер: Windows і Linux. Зрозуміло, подібне "сусідство" буде пов'язано з деякими незручностями. Для установки, як правило, використовують спеціальну програму GRUB. Але на жаль, при її використанні можна зіткнутися з рядом помилок. У цій статті розберемося з тим, як виправити помилки завантажувача GRUB. Давайте ж почнемо. Поїхали!

Для початку давайте визначимося з тим, що з себе представляє ця програма. GRUB - являє собою системний завантажувач, який встановлюється безпосередньо з Лінукса і записує всі дані на перший розділ диска (MBR).

Сам rescue mode є відмінною рисою GRUB 2 від його попередньої версії. Цей режим запускається, якщо програмою-завантажувачу не вдалося знайти файл "grub.cfg" або не вдалося передати управління в kernel (ядро). Саме тоді і виникає помилка.

Слідуйте інструкціям нижче, щоб дізнатися, як вирішити проблему з GRUB

Що робити в разі помилки unknown filesystem grub-rescue? Перед вами вікно, в якому можна використовувати тільки 4 команди, їх цілком достатньо, щоб виправити всі проблеми і успішно завантажитися:

  • ls - дозволяє вивести весь вміст;
  • set - застосовується для установки змінних;
  • unset - очищає змінну;
  • insmod - необхідна для завантаження модулів.

Також можна зробити доступним ряд інших команд. Зробити їх доступними можна, завантаживши модуль "normal". Для цього пропишіть:

insmod normal

Після цього стануть доступні:

  • dump - для очищення пам'яті;
  • exit - команда виходу з завантажувача;
  • chainloader - необхідна, щоб вказати подальшої команді boot передати управління цепочечную завантажувачу;
  • kfreebsd - кілька команд, що дозволяють завантажити ядро ​​FreeBSD, його модулі;
  • rmmod - дозволяє вивантажити вказаний модуль ядра;
  • multiboot.

Насамперед потрібно відшукати модулі, щоб завантажити їх. Для цього введіть:

ls

Результатом виконання команди буде наступне:

(Hd0) (hd0, msdos3) (hd0, msdos2) (hd0, msdos1) (hd1) (hd1, msdos2) (hd1, msdos1)

З цього можна зробити висновок, що завантажувач не може визначити файлові системи дисків, тому визначає їх як msdos. Тепер необхідно вгадати видимі диски. У конкретному прикладі перед вами два диска: hd0 (з трьома розділами) і hd1 (з двома розділами). Припустимо, ви знаєте, що Linux інстальований на диск, який має три розділи. В такому випадку вам потрібен диск з індексом "0".

GRUB дає назви розділів в зворотному порядку. У зв'язку з цим, неясно як трактувати запис: "(hd0, msdos3)". Адже можна порахувати це як першим розділом, так і третім.На щастя, з цієї ситуації можна вийти за допомогою такого синтаксису команди: "(hd0,1)". Зверніть увагу, що в програмі-завантажувач GRUB відлік дисків йде з 0, а розділів з 1.

Припустимо, що Лінукс зберігається в першому розділі, тоді він буде позначатися (hd0,1). В цьому випадку команда, яку необхідно прописати, матиме вигляд:

set prefix = (hd0,1) / boot / grub
set root = (hd0,1)

Тепер модулі можуть бути завантажені. Використовувати їх можна тільки після завантаження.

Після того як ви вибрали потрібний диск, перевірте чи міститься там те, що потрібно. Для цього пропишіть:

ls / boot / grub

В результаті виконання на екрані з'явиться список md файлів.

Далі, пропишіть:

insmod ext2
insmod normal
normal

Після цього завантажувач буде переведений в режим повної функціональності. Потім автоматично будуть знайдені розділи з операційною системою, і відкриється меню програми.

Тепер залишається завантажити Linux. Робиться це за допомогою команди:

grub-install / dev / sda

Після виконання всіх цих дій роботу відновлено. Пишіть в коментарях була корисна для вас ця стаття і задавайте будь-які питання, що цікавлять по розглянутій темі.