як полагодити grub

відновлення GRUB

зміст

GRUB — це основний завантажувач Ubuntu починаючи з версії 9.10. Раніше він був відомий як GRUB2 і прийшов він на зміну старій версії GRUB, відомої тепер як GRUB Legacy. Якщо вам необхідно відновити GRUB Legacy, наприклад оскільки у Вас стоїть версія Ubuntu старше 9.10, то вам необхідно прочитати відповідну статтю.

На будь-якому завантажувальному вінчестері є так звана Головний завантажувальний запис (Англ. Master boot record, MBR), до якої звертається BIOS при завантаженні комп’ютера. У цю область завантажувач системи і повинен записати інформацію про основні файлах, які зберігаються вже на розділах вінчестера.

Відновлення за допомогою LiveCD / USB

перший спосіб

Запустіть систему з LiveCD / USB і відкрийте термінал. Для цього можна натиснути Alt + F2 і ввести команду:

Далі необхідно дізнатися Вашу таблицю розділів. Використовуйте команду:

На екран повинна бути виведена приблизно така таблиця:

З таблиці бачимо, що Linux (завантажувальний / -корінь відзначений зірочкою) коштує, в нашому випадку, на розділі / dev / sdc1.

Тепер підключимо цей розділ в / mnt наступною командою (стежимо за пропусками між кодами і порядковими номерами розділів):

Потім, для запису grub в MBR, вводите наступну команду:

У разі, якщо потрібно тільки відновити MBR диска (наприклад, після перевстановлення Windows), то цього достатньо, закриваємо термінал і перезавантажуємо.

Якщо потрібно оновити і меню grub (наприклад, після установки Windows), то потрібно зробити:

Відновлення використовуючи chroot

Запустіть систему з LiveCD / USB і відкрийте термінал. Для цього можна натиснути Alt + F2 і ввести команду:

Далі необхідно дізнатися Вашу таблицю розділів. Використовуйте команду:

На екран повинна бути виведена приблизно така таблиця:

Тепер потрібно примонтировать Ваш Linux розділ (тут це sda1) і ще кілька важливих директорій:

Тепер перейдемо в навколишнє середовище chroot:

Тепер необхідно встановити GRUB, використовуючи команду:

Також в деяких випадках може допомогти варіант:

Якщо все пройшло успішно, виходимо з chroot командою:

Тепер необхідно отмонтировать розділи:

Якщо Ви монтували розділ / boot скористайтеся командою:

Потім перезавантажити Ваш комп’ютер командою:

При необхідності Ви можете оновити меню завантажувача командою:

Відновлення в rescue mode

При відсутності завантажувального диска, можна відновити Grub з його консолі. Відновлення відбувається наступним чином: спочатку потрібно довантажити всі модулі, щоб стала доступна вся функціональність Grub, а потім вже запуститися з потрібного розділу. Як відомо, Grub складається з двох частин. Перша частина записана в MBR диска. Вона містить базову функціональність, тобто в ній є консоль в rescue mode і нічого більше. Спочатку потрібно визначити, на якому розділі знаходиться друга частина груба (вона лежить в каталозі / boot / grub), довантажити відсутні модулі. І тільки потім можна буде дати команду запуску з потрібного розділу. У rescue mode є всього чотири команди:

Спочатку слід дати команду:

У відповідь вона виведе, наприклад, наступне:

Іноді Grub може неправильно опеределить, які файлові системи знаходяться на розділах дисків. В даному випадку визначає їх як msdos. Нам потрібно постаратися вгадати, які диски ми бачимо. В даному випадку видно два диска. Диск з індексом 0 містить три розділи, диск з індексом 1 містить два розділи. Знаючи структуру своїх дисків нескладно визначити потрібний диск.

Grub називає розділи в зворотному порядку. І стає незрозуміло, що мається на увазі під (hd0, msdos3) — перший розділ або третій? Тут можна викрутитися, використавши синтаксис (hd0,1). Потрібно пам’ятати, що в Grub рахунок дисків починається з 0, а рахунок розділів — з 1. Припустимо, що Лінукс встановлений на перший диск в перший розділ, тобто (hd0,1). Даємо команду:

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

якщо у відповідь отримуємо список всіх файлів в цій директорії, то диск і розділ обрані правильно. Модулями ядра:

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

Подальше відновлення зводиться до того, щоб завантажити потрібний нам Linux, і в ньому від рута дати команду:

Де sdX, диск, на який потрібно встановити Grub.

Відновлення GRUB 2 після установки Windows

Сьогодні я хотів би показати вам спосіб, як можна відновити GRUB 2 після установки або переустановки Windows на комп’ютер з Linux. І ще один спосіб, як це можна зробити це з-під Debian описані в цій замітці.

Якщо ви на своєму комп’ютері використовуєте дуалбут з Windows і Linux, то ймовірно вже знаєте, що під час установки ОС для того, щоб було менше метушні, краще встановлювати спочатку ОС від Microsoft а потім тільки Ububtu, Debian або що ви там хочете встановити. Пов’язано це з тим, що Windows не бачить інших операційних систем крім своїх і поверх завантажувача GRUB записує в MBR свій завантажувач. Відповідно, якщо ви встановите спочатку Linux а потім Windows, то в результаті не зможете завантажити Linux, так як його просто не буде в списку завантаження. Але що ж робити якщо вам все ж необхідно переустановити Windows або просто встановити її на комп’ютер з Linux? Чи не встановлювати заново ж заради цього і Linux? Ні. Просто після всього, що ви зробите потрібно буде відновити завантажувач GRUB.

Для демонстрації я приведу свій випадок з віртуальними машинами, але даний спосіб нічим не відрізняється від відновлення GRUB на реальному залозі.

У мене на один віртуальний жорсткий диск були встановлені Ubuntu 14.04 і Windows 7. І ось мені захотілося спробувати developer версію Windows 10. Я вирішив встановити її поверх сімки. Як і належить, після всіх маніпуляцій Windows 10 заробила, а Ubuntu не запускати. Так як Ubuntu мені потрібна була для роботи я вирішив відновити затертий GRUB.

Відновлення GRUB 2

Спочатку необхідно завантажиться з LiveDVD. Коли система завантажиться, відкриваємо термінал (Ctr + Alt + T) і дивимося структуру розділів за допомогою команди:

У мене, як видно з виведення команди, диск розділений на 6 розділів: два NTFS для Windows, Extended (розширений) і три відзначені як Linux для Ubuntu. Щоб встановити GRUB необхідно примонтировать кореневий розділ Ubuntu — мій sda5:

І щоб записати GRUB в завантажувальний запис, потрібно виконати в терміналі команду:

Після цього можна перезавантажити комп’ютер:

GRUB відновлений. Але залишився один момент. Зараз на віртуальній машині була встановлена ​​Windows 10, але в меню завантажувача як і раніше вона відображалася як сімка, через що при спробі її запуску вискакувала помилка. Щоб виправити це досить було просто завантажиться в Ubuntu (НЕ LiveDVD) і через термінал оновити завантажувач:

Ось так просто можна відновити GRUB після установки Windows

Швидке відновлення завантажувача 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 -bind / dev / mnt / dev

sudo mount -bind / sys / mnt / sys

sudo mount -bind / proc / mnt / proc

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

sudo umount / mnt / proc

sudo umount / mnt / sys

sudo umount / mnt

  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-mkconfig -o /boot/Grub/Grub.cfg.

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

висновок

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

Ссылка на основную публикацию