Как восстановить запуск linux mint

Обновлено: 07.07.2024

В качестве примера будет использована система Ubuntu 18.04 LTS, но руководство актуально для любой системы, использующей Systemd как подсистему инициализации. Так же мы рассмотрим команды по восстановлению системы Ubuntu без ее переустановки.

Что такое режим восстановления в системах Linux?

Режим восстановления эквивалентен однопользовательскому режиму в дистрибутивах Linux, которые используют демон SysV в качестве диспетчера служб по умолчанию. В режиме восстановления все локальные файловые системы будут примонтированы, но только некоторые важные службы будут запущены. Например, сетевые сервисы не будут запущены. Режим восстановления Linux полезен в ситуациях, когда система не может нормально загрузиться. Кроме того, в данном режиме мы можем выполнить некоторые важные операции по восстановлению, например, такие как сброс root пароля.

Что такое аварийный режим?

В отличие от режима восстановления, в аварийном режиме не монтируются точки монтирования файловых систем, службы и сокеты не будут запущены. Аварийный режим подходит для отладки.

Загрузка в режим восстановления в Ubuntu 18.04 LTS

Запустите установленную систему Ubuntu. Когда появится меню Grub, выберите первую запись и нажмите e для редактирования.


Если у вас не отобразилось меню Grub, то нужно нажать клавишу ESC сразу после исчезновения логотипа BIOS.

Найдите строку, начинающуюся со слова «linux», удалите значение «$vt_handoff» и в конце этой строки введите следующее значение (Чтобы быстрее достичь конца строки, просто нажмите CTRL + e или используйте клавишу END или стрелки LEFT / RIGHT на клавиатуре):


После того, как вы добавили вышеприведенное значение, нажмите сочетание клавиш CTRL + x или F10, чтобы загрузить систему в режим восстановления. Через несколько секунд вы попадете в режим восстановления (однопользовательский режим) в качестве пользователя root. Нажмите Enter.

Затем введите следующую команду для монтирования файловой системы root (/) в режим чтения / записи:


Загрузка в аварийный режим

Загрузка операционной системы Linux в аварийный режим аналогична описанному выше методу. Все, что вам нужно сделать, это заменить «systemd.unit= rescue.target» на «systemd.unit = emergency.target» при редактировании меню Grub.


После того, как вы добавили «systemd.unit=emergency.target», нажмите Ctrl + x или F10, чтобы продолжить загрузку в аварийный режим.

Вы можете подключить корневую файловую систему в режим чтения / записи с помощью команды:


Переключение между режимами восстановления и аварийный режимом и наоборот

Если вы загрузились в режим восстановления, то из него же можно переключиться в аварийный режим с помощью следующей команды:

Аналогично, чтобы переключиться с аварийного режима в режим восстановления, введите команду:


Режим восстановления Recovery mode в Linux

Еще одним режимом, которым можно воспользоваться для восстановления системы, является режим Recovery mode. Примечателен он тем, что содержит предустановленные утилиты для восстановления.

Для запуска режима восстановления необходимо загрузиться в меню Grub, выбрать Дополнительные параметры.

Затем из появившегося списка выбрать первое (верхнее) ядро с надписью (recovery mode).


Как вы можете видеть на рисунке ниже, как только система загрузится в режим восстановления, вам будет показано меню инструментов, которые решают различные общие проблемы с загрузкой системы. Стоит попробовать каждый из них, который как вам кажется, может решить вашу проблему.


Теперь вы знаете, что такое режим восстановления, аварийный режим и Recovery mode, а также как загрузиться в эти режимы в Ubuntu 18.04. Как я уже упоминал, приведенные здесь шаги будут работать во многих последних версиях Linux, в которых используется Systemd.

Как восстановить операционную систему Ubuntu без переустановки

Рассмотрим популярные и действенные методы восстановления операционной системы Ubuntu. Если вы столкнулись с тем, что ваша система не запускается после обновления, установки драйверов или по каким-нибудь другим причинам, то вам стоит воспользоваться данной инструкцией.

На экране входа в систему воспользуйтесь комбинацией клавиш CTRL + ALT + F1 для переключения в виртуальную консоль tty1, возможно вам придется переключится на другую виртуальную консоль, в таком случае воспользуйтесь этой же комбинацией клавиш, но с F2 или F3 и т.д. И затем выполните следующие команды:


Если причиной того, что система не загружается стала установка видеорайвера Nvidia, то для решения проблемы его нужно удалить:

И обновить систему:

И перезагрузить систему:

Так же может помочь переустановка рабочего окружения. Для Ubuntu это будет следующая команда (не влияет на пользовательские данные):

Рекомендую периодически делать резервные копии системы и домашнего каталога пользователя, соответствующими инструментами. Например, для резервного копирования в среде Linux можно воспользоваться утилитой QT5-FSArchiver.

Grub - это загрузчик, используемый для запуска системы в большинстве дистрибутивов Linux, в том числе и в Linux Mint. Повреждение загрузчика может быть вызвано различными причинами, например, установкой Windows, другого дистрибутива Linux или переразметкой диска, изменением размера и положения разделов на диске и так далее.

Восстановление Grub2 с помощью LiveCD

В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа - с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.

Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub. Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами. А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.

Шаг 1. Загрузка LiveCD

Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.


Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.

Шаг 2. Определение разделов

Перед тем как восстановить Grub2, нам нужно понять - на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать - воспользоваться утилитой fdisk.

В выводе программы вы видите - разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень - /dev/nvme0n1p5 - размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее

Шаг 3. Монтирование файловой системы

Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:

mount /dev/nvme0n1p5 /mnt

Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:

mount /dev/nvme0n1p1 /mnt/boot

Шаг 4. Подготовка к входу в систему

Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром - /dev, /sys, /proc:

sudo mount --bind /dev /mnt/dev

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

Для входа в окружение вашей системы используйте команду:

chroot /mnt /bin/bash

Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй - оболочка, используемая для интерпретации команд пользователя.

Затем выполните эти команды для загрузки и обновления переменных профиля:

Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.

Шаг 6. Восстановление Grub2

Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:

sudo grub2-install /dev/sd*

Здесь /dev/sd* - имя вашего жесткого диска.

Теперь создадим новый конфигурационный файл:

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Путь к конфигурационному файлу может немного отличаться, так что будьте внимательны.

Еще можно использовать команду:

Но она работает только в Ubuntu и основанных на ней дистрибутивах.

Шаг 7. Готово

Выйдите из окружения chroot командой:

И перезагрузите компьютер:

Теперь все работает.

Восстановление Grub2 без LiveCD

Все что вам потребуется - это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.

Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:

(hd2,msdos1, hd2,msdos2, hd2,msdos3, hd2,msdos4)

Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1. Разделы именуются начиная с единицы.

Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:

Загрузим нормальную оболочку grub:

insmod ext2
insmod normal
normal

После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:

И наконец загружаемся:

Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды, чтобы завершить восстановление загрузчика linux mint:

sudo grub2-install /dev/sd*

sudo grub2-mkconfig -o /boot/grub/grub.cfg

Где sd* - имя вашего диска, на котором установлена система. Обратите внимание, что нужно именно имя диска, а не раздела, никакие цифры добавлять не надо. Вот и все.

Восстановление в Boot Repair

Наверное самый простой способ восстановить загрузчик Grub - это использовать утилиту Boot Repair. Для её запуска вам понадобится LiveCD с Ubuntu или другим дистрибутивом. Сначала загрузитесь в Live среду, как описано в первом методе, затем добавьте PPA к системе:

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

После этого установите утилиту:

sudo apt install boot-repair

Для запуска выполните:

Далее для восстановления загрузчика достаточно нажать кнопку Рекомендуемый способ восстановления:

Затем просто дождитесь завершения процесса восстановления:

После этого компьютер можно перезагружать и всё будет работать.

Выводы

Теперь восстановление загрузчика linux mint не вызовет у вас проблем в любых обстоятельствах, независимо от того, есть ли у вас диск с другим дистрибутивом или нет. Если остались вопросы, напишите в комментариях!

10 фев 2017, 14:06

ВОССТАНОВЛЕНИЕ С ПОМОЩЬЮ LiveCD/USB

Запустите систему с LiveCD/USB и откройте терминал . Для этого

можно нажать Alt+F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте

На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

Из таблицы видим, что Linux стоит (в нашем случае) на разделе

Теперь подключим этот раздел в /mnt следующей командой:

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

В случае, если нужно только восстановить MBR диска (например,

после переустановки Windows), то этого достаточно.

Если нужно обновить и меню grub (например, после установки

Windows), то нужно сделать:

ВОССТАНОВЛЕНИЕ ИСПОЛЬЗУЯ CHROOT

Запустите систему с LiveCD/USB и откройте терминал . Для этого

можно нажать Alt+F2 и ввести команду:

Далее необходимо узнать Вашу таблицу разделов. Используйте

На экран должна быть выведена примерно такая таблица:

/dev/sda1 29 8369 66999082+ 83 Linux
/dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS
/dev/sda3 13996 14593 4803435 5 Extended

Теперь нужно примонтировать Ваш Linux раздел (здесь это sda1) и

еще несколько важных директорий:

Если раздел /boot находится отдельно, то Вам необходимо

примонтировать его в /mnt/boot !

Теперь перейдем в окружающую среду chroot !

Теперь необходимо установить GRUB, используя команду:
Если все прошло успешно, выходим из chroot командой:
Если Вы монтировали раздел /boot воспользуйтесь командой:
При необходимости Вы можете обновить меню загрузчика командой:

ВОССТАНОВЛЕНИЕ В RESCUE MODE

При отсутствии загрузочного диска, можно восстановить Grub из его

консоли. Восстановление происходит следующим образом: сначала

нужно подгрузить все модули, чтобы стала доступна вся

функциональность Grub, а затем уже запуститься с нужного раздела.

Как известно, Grub состоит из двух частей. Первая часть записана в MBR

диска. Она содержит базовую функциональность, то есть в ней есть

консоль в rescue mode и ничего больше. Вначале нужно определить, на

каком разделе находится вторая часть груба (она лежит в каталоге

/boot/grub), подгрузить недостающие модули. И только потом можно

будет дать команду запуска с нужного раздела. В rescue mode доступно

всего четыре команды:

В ответ она выведет, например, следующее:

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

Иногда Grub может неправильно опеределить, какие файловые системы

находятся на разделах дисков. В данном случае определяет их как

msdos. Нам нужно постараться угадать, какие диски мы видим. В

данном случае видно два диска. Диск с индексом 0 содержит три

раздела, диск с индексом 1 содержит два раздела. Зная структуру своих

дисков несложно определить нужный диск.

Grub называет разделы в обратном порядке . И становится непонятно,

что имеется в виду под (hd0,msdos3) - первый раздел или третий? Тут

можно выкрутиться, использовав синтаксис (hd0,1). Нужно помнить, что

в Grub счет дисков начинается с 0, а счет разделов - с 1. Предположим,

что Linux установлен на первый диск в первый раздел, то есть (hd0,1).

Этими командами мы указываем использовать диск (hd0,1) для

дальнейших команд. После чего нужно проверить, действительно ли на

этом разделе есть то, что нам нужно. Даем команду:

если в ответ получаем список всех файлов в этой директории, то диск и

раздел выбраны правильно. Подгружаем модули:

Проверьте правильность написания первой команды для файловых

систем ext3 и ext4

После чего Grub перейдёт в полнофункциональный режим. Он

автоматически найдет все операционки, которые можно подгружать, и

покажет своё Grub-меню.

Дальнейшее восстановление сводится к тому, чтобы загрузить нужный

нам Linux, и в нем от рута дать команду:

Где sdX, диск, на который нужно установить Grub.

Информация любезно предоставлена пользователем avkP3

Новичок? - ознакомься с правилами
и Панель форматирования

IRC-канал

Восстановление GRUB

10 июн 2017, 14:15

Спасибо за статью, мне как новичку, непонятно в разделе "ВОССТАНОВЛЕНИЕ ИСПОЛЬЗУЯ CHROOT" куда и как примонтировать раздел /boot. И раздел /boot - он же EFI (ESP)?

Восстановление GRUB

10 июн 2017, 18:11

Нет. Это инструкция для владельцев машин с БИОС и тех, кто устанавливает ОС в эмуляции БИОС на диск с разметкой ms-dos.

Восстановление GRUB

10 июн 2017, 18:16

Unborn , у меня uefi и gpt, пользовался инструкцией, все прекрасно восстанавливал

Изображение

Восстановление GRUB

10 июн 2017, 18:32

adminka , в УЕФИ и восстанавливать не нужно, ничего ни куда не пропадает, если сам руками не удалишь.
Если страшно, можешь забекапить каталог ubuntu на флешку, потом тупо его скопировать на esp раздел если по какой то причине он исчезнет в неизвестном направлении.

Восстановление GRUB

11 июн 2017, 13:22

В этой статье приведены команды как для MBR так и для GPT и нигде неуточняется для каких разметок они подходят

Восстановление GRUB

11 июн 2017, 20:30

Восстановление GRUB

11 июн 2017, 20:55

Изображение


Изображение

Восстановление GRUB

11 июн 2017, 21:18

Chocobo , Ясно. Я ифу взял отсюда про него, и нигде больше не встречал. Подумал может инфа устарела и уже не канает.
Тогда этот способ проще чем вышеописанные.
Вот только вопрос - когда устанавливается этот Бут репаир он тоже в оперативку ставится?

Восстановление GRUB

11 июн 2017, 21:40

ikrost , в случае запуска с LiveCD - да, будет жить в оперативке.
На рабочую систему ставиь не приходилось за ненадобностью, но как любая другая прога - расположится в /bin , /var , /usr , и т.д

можно глянуть внутрь деб-пакета - там все видно будет

Изображение


Изображение

Восстановление GRUB

12 июн 2017, 09:47

Rout писал(а): В этой статье приведены команды как для MBR так и для GPT и нигде неуточняется для каких разметок они подходя

Про статью не скажу (читал её "по диагонали").

Для диска с разметкой MBR можно так (один из вариантов)

sudo mount /dev/sdaN /mnt - смонтировать корневую директорию
sudo grub-install --root-directory=/mnt /dev/sdХ - где Х, нужный жесткий диск

Для диска с разметкой GPT ( установка в UEFI режиме )

sudo mount /dev/sdXХ /mnt - смонтировать корень
sudo mount /dev/sdNN /mnt/boot/efi - смонтировать раздел EFI
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo grub-install /dev/sdY - где Y, нужный HDD
sudo update-grub - если раньше GRUB был установлен, то эта команда не нужна
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/boot/efi
sudo umount /mnt

Восстановление GRUB

12 июн 2017, 23:10

Если с уефаями играться кто-нибудь надумает - отключайте системный диск, а то с него загрузчик убежит туда, куда вы его поставите во время установки. GRUB в этом плане поумнее. Новичок? - ознакомься с правилами
и Панель форматирования

IRC-канал

Восстановление GRUB

12 янв 2018, 21:44

Dja , Попробовал все три варианта - ни один не помог.
То ли у меня случай был такой запущенный, то ли пакеты и команды для их использования обновились - не знаю.
Первый способ, как я понял лайтовый для простых случаев. Поэтому на него не особо-то и рассчитывал.
Во втором способе, на просторах интернета предлагают другие команды и их больше на три штуки. Впрочем, не сработал ни тот вариант ни этот.
В третьем способе затык на insmod ext2. не находит (хотя /boot отформатирован именно в ext2) и все дальше прохода нет.
Boot Repair упоминаемый в обсуждении продвинулся дальше всех - загрузил окно с выбором пользователя, но не принял пароля (ни пользователя, ни рута).

В результате, запустил установку с livecd с форматированием /swap, /boot и / , а /home просто подмонтировал без форматирования (хорошо, что при начальной разметке во времена оно я эти разделы выделил). Правда, пользователя старого оставлять не рискнул. Создал нового и уже под ним таскал/спасал документы из предыдущего пользователя. Вот уж не знаю насколько правильный сей способ с точки зрения опытных линуксоидов, но мне помог только такой вариант. Может еще кому поможет.

При использовании нескольких ОС в процессе переустановки одной из них может слететь загрузчик. В результате невозможно будет загрузить Linux, так как запись в MBR будет затерта. Но восстановить его очень просто. Загружаемся в LiveCD Ubuntu/Linux Mint, далее требуется смонтировать корневой раздел Linux и ввести команды на восстановление, как это описано здесь. Но это подходит не для всех, да и ошибиться легко. Чтобы не вводить комманды вручную используем замечательную утилиту Boot-Repair, которая доступна в репозитарии PPA. Устанавливаем:

Теперь запускаем из меню или в командной строке:

22 комментария

Какой в ней смысл? Если загрузчик слетит то загружаться ОС не будет и не запустишь программу, нужен будет лайв cd для восстановления загрузчика. Если я не прав поправьте пожалуйста.

Ну так написано. Загружаемся в LiveCD, ставим и восстанавливаем одной кнопкой.

boot-repair ввожу, отвечает command not found

2Andrey А ставил его?

Все сделал, как написано. Все заработало. А ведь до этого долго искал на форумах, но ничего полезного там не нашел. Спасибо

Очень толково написано. Действительно помогает после переустановки Винды. Спасибо большое!

Удобная штука, особенно когда много разделов, и непонятно что и где находится. Рекомендую с ее оффсайта скачать сборку ubuntu, где она уже содержится (плюс еще пара плюшек дополнительных кроме нее)

We are have now:

Премного благодарен автору за эту статейку,которая мне помогла,Перед этим перелопатив кучу ссылок в и-нете.Все получилось с первого раза.Респект и уважуха автору.

Спасибо большое.Мне программа пригодилась.Поскольку я далеко не гуру в linux то восстановление загрузчика пугало.Я сделал так ,сначала добавил программу в свой минт.Затем после переустановки виндовс вставил диск с super grub disc,загрузил свой минт,запустил программу и все 🙂

это лучший из проверенных мной способов востановления загрузчика.
теперь при загрузке у меня корректно отображаются установленные ОСы!

Была на компе Win 7 + Linux Mint. Поставил второй винчестер, решил переустановить Линукс. После переустановки Линукса слетел загрузчик, не было выбора ОС, загружался только Линукс. Прога быстро все восстановила в автоматическом режиме. Теперь на загрузке показываются варианты загрузки Линукса и Win 7

После установки обновления Win7 на Win10 слетел загрузчик. До этого был установлен Linux Mint 17.2 второй системой. Рекомендуемым способом восстановления загрузчик был восстановлен, но загружается только Win10. Разделов линукса не вижу. Запустил эту программу заново, закладки GRUB location GRUB option неактивны. Буду пробовать что-то другое.

Все отлично работает после загрузки с live cd и установки через терминал

bcdedit /set path \EFI\ubuntu\grubx64.efi

От души благодарю, Брат. 2 дня изучался и курил форумы. Переносил с хдд на сад win7 и linux mint с помощью Акрониса. Загрузчик восстановил в итоге нажатием одной кнопки (рекомендованный способ). Всех благ!

Реально помогло, спасибо огромное, думал всё- капец.

Не загружается Linux, чиним загрузчик GRUB

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

Что такое Grub

GRUB_screenshot

Grub (или GRand Unified Bootloader) - загрузчик операционных систем с открытым исходным кодом. Распространяется он под лицензией GNU GPL, в полностью свободном виде. С помощью этого замечательного лоадера можно сделать много всего - основная же функция не ограничивается загрузкой лишь одной операционной системы. Вы можете иметь куда больше операционных систем на своем ПК, загружая любую из них с помощью Grub. На скриншоте выше вы можете видеть как примерно Grub выглядит. Кстати говоря, если вы захотите установить Ubuntu 18.04 рядом с Windows, вам определенно понадобится помощь Grub.

Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по-умолчанию. Разумеется и с ним иногда возникают проблемы. Этим самые проблемы чреваты полным отказом операционной системы. Поэтому для починки Grub нам понадобятся дополнительные инструменты. Какие именно - узнаете далее.

От чего могут возникнуть проблемы

Одна из самых распространенных причин - это неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы захотите установить две этих операционных системы на свой ПК - вам непременно стоит знать правильную последовательность:

  • Сначала устанавливаем Windows
  • И только потом уже Linux

Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.

Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.

Восстановление Grub с помощью LiveCD/USB

Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.

Как создать LiveCD/USB

Само собой, нам понадобится носитель, на который мы временно (а может и нет) запишем систему. Сохраните все важные файлы, которые были на этом носителе, после чего (имеется ввиду на другом ПК, желательно под управлением Windows) запишите загруженный образ дистрибутива на носитель. В качестве примера мы будем использовать дистрибутив Ubuntu.

Идем на официальную страницу загрузки. Загружаем любую понравившуюся версию (лучше взять новейшую для десктопа), после чего записываем ее на USB/CD.

С помощью Rufus:

Последняя версия приложения доступна на официальном сайте. Сразу после загрузки и запуска/установки мы увидим такое окно:

Rufus

Вставляем носитель, выбираем его в соответствующем меню. Далее выбираем нужную схему раздела и тип системного интерфейса, и после уже открываем файловый менеджер с помощью этой кнопки:

Rufus obraz

Находим загруженный образ через менеджер, после чего жмем "Старт".

С помощью Etcher:

Опять же, идем на официальный сайт, где скачиваем последнюю версию утилиты. Далее делаем все так, как показано на этой гифке:

Ну а теперь, собственно, можно переходить к восстановлению Grub. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

Открываем таблицу разделов с помощью команды:

Примерно такая таблица будет выведена на экран:

По этой таблице мы видим, что Linux, в нашем случае, расположен на разделе /dev/sda1.

С помощью следующей команды мы смонтируем этот раздел в /mnt:

Теперь, для записи grub в MBR, нужно ввести следующую команду:

Если нужно только восстановить MBR диска (после переустановки Windows, к примеру), то этих действий будет вполне достаточно.

Если же необходимо обновить и меню grub (после установки Windows), то нужно выполнить еще и эту команду:

Вот и все, восстановление закончено!

Восстановление с помощью chroot

Помимо вышеописанного способа, при восстановлении Grub с помощью LiveCD можно использовать и этот. Тут мы будем использовать утилиту chroot.

Здесь нам, опять же, понадобится таблица разделов. Вводим уже известную команду:

В выводе снова будет эта таблица. Теперь нам надо присмотреться к ней еще внимательнее.

В этом способе нам необходимо примонтировать системный, а также нескольких других важных разделов. Для этого вводим эти команды:

Обратите внимание, что если если разделы /boot или /var находятся отдельно, то Вам нужно будет примонтировать их в /mnt/boot и /mnt/var.

Далее мы переходим в окружающую среду chroot с помощью команды:

И теперь, наконец-таки переустанавливаем Grub с помощью следующей команды:

Если все прошло успешно, выходим из chroot, используя команду:

Далее нужно отмонтировать все разделы. Для этого вводим в терминал:

В случае, если вы монтировали раздел /boot введите команду:

Теперь перезагружаем систему с помощью:

Можно также обновить меню Grub, используя команду:

Восстановление Grub в rescue mode

Если по каким-то причинам у вас нет доступа к LiveCD/USB-носителю, а также к компьютеру, с помощью которого этот самый носитель можно было бы сделать, то этот способ для вас.

Само восстановление проходит таким образом: сначала мы подгружаем все модули, чтобы открыть доступ ко всей функциональной части Grub, после чего запуститься с нужного раздела. Надо понимать, что Grub состоит из двух частей:

Одна из этих частей (первая) записана в MBR диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).

Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:

Для начала вводим следующую команду:

В выводе будет что-то подобное:

В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.

В загрузчике Grub разделы нумеруются в обратном исчислении. Не очень ясно какой именно из разделов назван, к примеру (hd0,msdos3). Чтобы было более понятно, можно использовать вид (hd0,1). Если в грабе отсчет дисков идет с 0, а разделов с 1, то можно определить, что операционная система установлена в первый раздел первого раздела - (hd0,1). Используем следующую команду:

С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:

Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:

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

Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:

sdX - диск, на который должен быть установлен Grub.

Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:

И подгрузить модули:

Ну и теперь запустить GRUB:

Восстановление Grub с помощью утилиты Boot repair

1335260967

С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.

Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:

  • Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
  • Установка Boot repair из PPA-репозитория в LiveCD/USB дистрибутиве.

Если с первым способом все понятно: нужно просто скачать и записать образ с помощью соответствующих инструментов. То во втором уже нужно знать конкретные команды, которые выглядят следующим образом:

В утилите будет доступно два варианта на выбор:

Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.

Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.

Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.

Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.

Выводы

Вот мы и рассмотрели несколько вариантов исправления загрузчика Grub. Стоит сказать, что некоторые из них могут показаться сложными или даже невыполнимыми. Это не так, каждый из рассмотренных способов нашел подтверждение в виде сотен и тысяч актов исправления загрузчика Grub в опенсорсном сообществе. Кстати говоря, какой из способов выбрать - решать только вам, любой из них достаточно эффективен, чтобы попасть в этот материал.

Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

Читайте также: