Швидке відновлення завантажувача Grub у Ubuntu

Незважаючи на те, що операційна система Linux займає незначну частку ринку, її різні збірки завойовують популярність своєю офіційною безкоштовністю, досить стабільною роботою, а також значною гнучкістю в налаштуваннях. Так, деякі моменти функціонують не так, як на Windows або Mac OS, та й більшість програмного забезпечення створюються в першу чергу для цих двох продуктів. Але це зупиняє далеко не всіх.

Для роботи ОС Linux необхідне відновлення завантажувача Grub, якщо сталася помилка.

Хоча практично будь-яка збірка Linux працює без збоїв, іноді може трапитися помилка завантажувача, через що стає неможливим запустити операційну систему. З яких причин це може відбуватися? Як відновити звантажувач Grub у Linux? Які робочі способи існують? Про все це і навіть трохи більше ми розповімо в сьогоднішній статті.

Що таке Grub і через що він може пошкоджуватися

Після того як ви виконуєте інсталяцію Linux на жорсткий диск вашого комп'ютера, всі файли копіюються в окремі теки. В одних каталогах зберігаються файли звичайного програмного забезпечення, яке можна спокійно видалити. В інших же записуються файли, без яких операційна система працювати не буде. Сюди належать ядро Linux, графічна оболонка, а також системний завантажувач Grub. Саме останній і застосовується для того, щоб запускати інстальовану операційну систему. Як це відбувається?

У спеціальному завантажувальному розділі система створює головний завантажувальний запис. Її англійська абревіатура виглядає як MBR, і розшифровується як Master Boot Record. При старті комп'ютера BIOS звертається до цього запису, а потім в дію вступає Grub і, коли все в порядку, відбувається запуск Linux. І якщо завантажувач пошкоджено, при запуску відбудеться помилка і система запускатися не буде.

З яких причин це може статися? Переважна більшість випадків є наслідком того, що після встановлення Linux в якості першої системи ви встановлюєте Windows в ролі додаткової. Компанія Microsoft традиційно не любить Linux, тому установник Windows видаляє Grub Linux. Ця ж проблема може виникнути при некоректному встановленні самого Linux, переходу на інший дистрибутив або через перезметку диска.

Найважливіше, що слід врахувати - це те, що не потрібно відразу ж думати про перевстановлення всієї системи. Достатньо лише просто відновити Grub і все буде працювати, як і раніше. Перейдемо до розгляду найбільш дієвих способів, доступних навіть недосвідченим юзерам.

Через термінал з завантажувального носія

Для цього вам знадобиться завантажувальна флешка або диск із записаним дистрибутивом Linux. В ідеальному варіанті він повинен бути аналогічним системі, встановленій на жорсткий диск. Але якщо дистрибутив - це не найважливіший момент, то розрядність повинна збігатися в будь-якому випадку. Інакше це загрожує ще більшими наслідками, в результаті яких вже точно доведеться все перевстановлювати.

  1. Вставте флешку або диск у роз'єм комп'ютера, після чого в BIOS виставте носій як пріоритетний для завантаження. Необхідне налаштування знаходиться в розділі Boot Device Priority або First Boot Device. Щоб запустити BIOS, натисніть кнопку або комбінацію клавіатури. Найбільш популярними варіантами є F2, Del, Shift + F2, F10. Щоб не розбиратися з БІОСом, можна просто натиснути F11 або F12 і вибрати носій із запропонованого списку.
  2. Далі потрібно з'ясувати, на якому розділі вінчестера інстальовано систему, а який вказано як завантажувач. Для цього потрібно запустити термінал (аналог командного рядка Windows), знайшовши його в меню програм або ж натиснувши комбінацію клавіш Ctrl + Alt + T, або Alt + F2. У відкритому віконці вам потрібно буде вражати команду sudo fdisk -l. Відразу ж утиліта просканує всі розділи диска і відобразить інформацію про кожен з них. Буде показано навіть інформацію про інші встановлені на комп'ютер операційні системи. Ви можете дізнатися назву розділу, його розташування, розмір, а також тип його файлової системи. За умови, що при установці Ubuntu ви здійснювали розмітку вручну, ви без проблем зрозумієте, який з розділів є завантажувальним, а який - кореневим. Під час автоматичної розмітки орієнтуйтеся на назву Linux. Саме він і буде коренем вашої системи. Назва розділу зазвичай складається з абревіатури sdc або sda і цифри з порядковим номером.
  3. Далі потрібно монтувати кореневу файлову систему до теки/mnt. У цьому вам допоможе команда sudo mount/dev/sda1/mnt, де замість sda потрібно прописати назву вашого розділу.

Починаючи з цього етапу, відновлювати Grub в Linux можливо двома методами.

Спосіб 1

  1. Введіть команду відновлення звантажувача: sudo Grub-install —root-directory=/mnt /dev/sda.
  2. Перезавантажте Комп "ютер за допомогою команди sudo reboot. У результаті має з'явитися меню вибору ОС.
  3. Якщо у цьому меню буде показано застарілу інформацію, оновіть завантажувальний запис MBR. Для цього запустіть Linux у звичайному режимі, відкрийте термінал і використовуйте команду sudo update-Grub. Якщо це не допомагає, застосуйте sudo update-Grub - output =/mnt/boot/Grub/Grub.cfg, а потім повторіть попередню.
  4. Знову перезапустіть комп'ютер.

Спосіб 2.

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

sudo mount /dev/sdc2 /mnt/boot

sudo mount —bind /dev /mnt/dev

sudo mount —bind /sys /mnt/sys

sudo mount —bind /proc /mnt/proc

  1. Далі вам знадобиться запустити оболонку chroot. Для цього в терміналі додайте chroot/mnt/bin/bash. Перший параметр звертає увагу на кореневу теку, а другий - на спеціальну оболонку для перетворення команд юзера.
  2. Далі необхідно застосувати команди, щоб потрапити в Ubuntu і користуватися практично всіма її додатками, крім сервісів і графічного інтерфейсу:

env-update

source /etc/profile.

  1. Тепер можна безпосередньо приступати до відновлення Grub. Для цього потрібно скористатися кількома командами:
    • Для повторної інсталяції завантажувача на вінчестер: sudo Grub2-install/dev/sdc (останній параметр - це назва вашого розділу).
    • Для створення нового файла налаштувань: sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.
    • Для оновлення меню завантаження: sudo Grub-update.
  2. Для завершення процедури вийдіть з оболонки chroot через команду exit, а також відмонтуйте раніше змонтовані розділи файлової системи:

sudo umount /mnt/dev

sudo umount /mnt/proc

sudo umount /mnt/sys

sudo umount /mnt

sudo umount /mnt/boot.

  1. Перезавантажте reboot.

Через утиліту відновлення завантажувача

Оскільки попередній метод може бути не всім під силу, скористаємося тією особливістю Ubuntu, що вона може повноцінно працювати, будучи запущеною з флешки. Для цього ми застосуємо спеціальну утиліту boot-repair. Що потрібно зробити?

  1. Запустити Ubuntu з флешки і переконатися, що є активне інтернет-з'єднання.
  2. Знайти термінал і запустити в ньому одну за одною такі команди:

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install boot-repair.

  1. У меню програм ви знайдете «Відновлення завантажувача» та увімкнете утиліту.
  2. Клацнути кнопку «Рекомендований спосіб відновлення» і дочекатися закінчення процедури.
  3. У більшості ситуацій цих дій цілком достатньо для нормальної працездатності завантажувача Grub Linux.

За допомогою командного рядка при частковому доступі до файлової системи

Іноді завантажувач Grub пошкоджений не настільки сильно, що не може завантажитися вся система. Наприклад, завантажувальний розділ залишається цілим, але сама утиліта не має до нього доступу. У такому випадку відкривається програмна оболонка, чимось схожа на командний рядок, і виводиться повідомлення такого змісту: Minimal BASH like line editing is supported. За допомогою цього командного рядка ви можете спробувати завантажити Ubuntu.

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

  1. Щоб сканувати диски та розділи, виберіть команду ls. Як відповідь ви отримаєте список жорстких дисків (наприклад, hd1, hd2), а також тип файлової системи на них (наприклад, msdos1, msdos2). Наприклад, будемо вважати, що завантажувальний розділ розташований в/dev/sda1.
  2. Далі потрібно вибрати той розділ, з яким ви бажаєте працювати. У нашому випадку команда буде записуватися наступним чином: set root=(hd1,1).
  3. Звантажте звичайну оболонку Grub: insmod ext2, insmod normal, normal.
  4. Запустіть ядро Linux: linux /boot/vmlinuz.
  5. Завантажте систему: boot.
  6. Після запуску Ubuntu у звичайному режимі відкрийте термінал і закінчіть процедуру відновлення завантажувача наступними командами:

sudo Grub2-install /dev/sda

sudo Grub2-mkconfig -o /boot/Grub/Grub.cfg.

  1. Перезавантажіться і радійте нормальній роботі.

Ув'язнення

Хоча на перший погляд відновлення завантажувача Grub в Ubuntu може здатися чимось дуже складним, і багато хто з користувачів Linux при подібній проблемі відразу ж почнуть перевстановлювати операційну систему, при наявності нормальної інструкції все робиться дуже просто і без будь-яких ускладнень. Ми сподіваємося, що змогли допомогти вам уникнути втрати важливої інформації. Збережіть сторінку до закладок і поділіться цією інформацією з вашими друзями і знайомими. У коментарях залишайте свої запитання.