Быстрое восстановление загрузчика Grub в Ubuntu

Несмотря на то, что операционная система Linux занимает незначительную долю рынка, её различные сборки завоёвывают популярность своей официальной бесплатностью, довольно стабильной работой, а также значительной гибкостью в настройках. Да, некоторые моменты функционируют не так, как на Windows или Mac OS, да и большинство программного обеспечения создаются в первую очередь для этих двух продуктов. Но это останавливает далеко не всех.

Восстановление загрузчика Grub

Для работы ОС Linux необходимо восстановление загрузчика Grub, если произошел сбой.

Хотя практически любая сборка Linux работает без сбоев, иногда может случиться ошибка загрузчика, из-за чего становится невозможным запустить операционную систему. По каким причинам это может происходить? Как восстановить загрузчик Grub в Linux? Какие рабочие способы существуют? Обо всём этом и даже немного больше мы расскажем в сегодняшней статье.

Что такое Grub и из-за чего он может повреждаться

После того как вы производите инсталляцию Linux на жёсткий диск вашего компьютера, все файлы копируются в отдельные папки. В одних каталогах хранятся файлы обычного программного обеспечения, которое можно спокойно удалить. В других же записываются файлы, без которых операционная система работать не будет. Сюда относятся ядро Linux, графическая оболочка, а также системный загрузчик Grub. Именно последний и применяется для того, чтобы запускать инсталлированную операционную систему. Каким образом это происходит?

Выбор операционной системы при запуске 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 через терминал

Начиная с этого этапа, восстанавливать 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.

Yannubuntu boot repair

Через командную строку при частичном доступе к файловой системе

Иногда загрузчик 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. Перезагрузитесь и радуйтесь нормальной работе.

Minimal BASH Grub

Заключение

Хотя на первый взгляд восстановление загрузчика Grub в Ubuntu может показаться чем-то очень сложным, и многие из пользователей Linux при подобной проблеме сразу же начнут переустанавливать операционную систему, при наличии нормальной инструкции всё делается очень просто и без каких-либо осложнений. Мы надеемся, что смогли помочь вам избежать потери важной информации. Сохраните страницу в закладки и поделитесь этой информацией с вашими друзьями и знакомыми. В комментариях оставляйте свои вопросы.

  • ВКонтакте
  • обычная форма
  • Olivier559:

    Спасибо большое, восстановил загрузчик, с помощью boot-repair.

    olgan65:

    У меня ubuntu 20.04 не загружается иногда после обновления. Запускается после bios загрузчик, выбираю ubuntu, потом, якобы, что-то грузится и тишина.
    Приходится жестко вырубать ноутбук и снова включать. Запускается восстановление какого-то раздела. Каждый раз, при таком сбое, кажется одно и тоже… и тогда уже ubuntu загружается.

    Оставить комментарий

сети
программы
Smart TV
ос