- Подготовка
- Загрузка в Live-режиме
- Открываем терминал
- Определение разделов
- Не загружается Linux, чиним загрузчик GRUB
- Что такое Grub
- От чего могут возникнуть проблемы
- Восстановление Grub с помощью LiveCD/USB
- Как создать LiveCD/USB
- С помощью Rufus:
- С помощью Etcher:
- Восстановление с помощью chroot
- Восстановление Grub в rescue mode
- Восстановление Grub2 с помощью LiveCD
- Шаг 1. Загрузка LiveCD
- Шаг 2. Определение разделов
- Шаг 3. Монтирование файловой системы
- Шаг 4. Подготовка к входу в систему
- Шаг 5. Вход в окружение системы
- Шаг 6. Восстановление Grub2
- Шаг 7. Готово
- Восстановление Grub с помощью утилиты Boot repair
- Подведем итог
Подготовка
Для восстановления GRUB нужен загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, вам необходимо скачать образ с дистрибутивом. Например, вы можете скачать ISO-образ Ubuntu.
Для создания загрузочной флешки можно использовать программу Etcher. Он работает на Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Для этого необходимо предварительно выбрать в BIOS приоритет загрузки с CD/DVD или USB (если вы используете флешку).
На современных компьютерах, использующих БИОС/UEFI, для входа в БИОС нужно при включении компьютера зажать специальную клавишу. Ключи могут отличаться от производителя к производителю. Обычно это: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, использующих классический БИОС, для входа в БИОС при запуске компьютера, в самом начале, при появлении логотипа материнской платы, нажмите специальную клавишу. Для разных материнских плат ключ может быть разным. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или другая, или даже горячая клавиша. Подробности: настройка BIOS для загрузки с CD/DVD или USB
Открываем терминал
Итак, вы загрузились в режиме Live. Теперь вам нужно открыть терминал.
В Ubuntu и некоторых других дистрибутивах это можно сделать, нажав горячую клавишу Ctrl+Alt+T. Или запустить терминал через меню программы.
Определение разделов
Теперь вам нужно определить раздел диска, на котором был установлен GRUB.
Мы хотим отобразить список разделов, для этого выполняем команду (в конце команды есть маленькая буква L):
Не загружается Linux, чиним загрузчик GRUB
Любите экспериментировать? Вы, вероятно, когда-то пытались что-то сделать со своей системой Linux, и не важно, какие цели были: изучение и изучение новых функций, или более конкретная цель, с точки зрения исправления конкретной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых в большинстве случаев используется Grub, с последними могут возникнуть неприятные проблемы, из-за которых дальнейшая работа системы просто невозможна.
В этой статье вы узнаете, что делать, если Linux не загружается. Как вести себя в подобной ситуации и какие действия предпринять, чтобы исправить загрузчик Grub. Может быть, мы начнем.
Что такое Grub
Grub (или GRand Unified Bootloader) — это загрузчик операционной системы с открытым исходным кодом. Распространяется под лицензией GNU GPL в совершенно свободной форме. С этим потрясающим загрузчиком можно делать многое — его основная функция не ограничивается загрузкой только одной операционной системы.
На вашем ПК может быть гораздо больше операционных систем, загрузив любую из них с помощью Grub. На скриншоте выше вы можете увидеть, как выглядит Grub. Кстати, если вы хотите установить Ubuntu 18.04 вместе с Windows, вам обязательно понадобится помощь Grub.
Grub используется в большинстве дистрибутивов Linux в качестве загрузчика по умолчанию. Конечно, иногда с этим возникают проблемы. Данная проблема чревата полным выходом из строя операционной системы. Поэтому, чтобы починить Grub, нужны дополнительные инструменты. Какие именно — узнаем позже.
От чего могут возникнуть проблемы
Одна из самых распространенных причин — неправильный порядок установки двух операционных систем (Linux и Windows). Допустим, если вы хотите установить эти две операционные системы на свой ПК, вам обязательно нужно знать правильный порядок:
- Сначала установите Windows
- И только потом линукс
Если, например, сделать наоборот, будет поврежден точно такой же Grub; система загрузится непосредственно в Windows, а дистрибутив Linux останется недоступным.
Grub также может сломаться по другим причинам. Например, из-за попыток изменить параметры загрузки вручную (при недостатке опыта) в этом случае нужно либо удалить лишнее вручную, либо полностью переустановить Grub.
Восстановление Grub с помощью LiveCD/USB
Для этого способа нам понадобится флешка с дистрибутивом линукса на борту. Подойдет любой: от Ubuntu, Arch или даже Linux Mint. Здесь нужен только терминал, поэтому подойдет даже версия без графической оболочки.
Как создать LiveCD/USB
Разумеется, нам понадобится носитель, на котором мы временно (а может и нет) пишем систему. Сохраните все важные файлы, которые были на этом носителе, а затем (имеется в виду на другом ПК, желательно под управлением Windows) запишите на носитель скачанный образ дистрибутива. Мы будем использовать дистрибутив Ubuntu в качестве примера.
Заходим на официальную страницу загрузки. Скачайте любую понравившуюся версию (для десктопа лучше взять последнюю), затем запишите ее на USB/CD.
С помощью Rufus:
Последняя версия приложения доступна на официальном сайте. Сразу после скачивания и запуска/установки мы увидим следующее окно:
Вставляем носитель, выбираем его в правом меню. Далее выбираем нужную схему разделов и тип системного интерфейса, после чего открываем файловый менеджер этой кнопкой:
Находим скачанный образ через администратора, после чего нажимаем «Пуск».
С помощью 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 на диске. Он имеет базовый функционал и ничего больше (консоль в режиме восстановления).
Поэтому нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), а затем загрузить все недостающие модули. Но после этого мы можем запустить загрузчик с нужного раздела. В режиме спасения всего четыре команды:
Для начала введите следующую команду:
Вывод будет примерно таким:
В некоторых случаях Grub неправильно определяет файловые системы, находящиеся на разделах диска. В этом примере загрузчик перечисляет их как msdos. Мы должны попытаться угадать диски, которые мы видим. В примере доступно два диска. Диск с индексом 0 содержит три раздела, а диск с индексом 1 содержит два раздела. Если вы знаете структуру своих дисков, подобрать нужный не составит труда.
В загрузчике Grub разделы нумеруются в обратном порядке. Не очень понятно какой из разделов называется например (hd0,msdos3). Чтобы было понятнее, можно использовать форму (hd0,1). Если журнал приманок считает диски с 0, а разделы с 1, можно определить, что операционная система установлена в первый раздел первого раздела — (hd0,1). Мы используем следующую команду:
С помощью этих команд мы указываем системе использовать определенный диск для выполнения всех остальных операций (в нашем случае это диск (hd0,1)). Чтобы проверить, есть ли загрузчик на этом диске, введите эту команду:
Если в выводе есть список файлов и папок, мы все сделали правильно. Теперь вы можете загрузить все необходимые модули. Для этого выполните команды:
После выполнения команд Grub загрузится в полнофункциональном режиме. Все операционные системы, установленные на компьютере, будут найдены, после чего появится загрузочное меню по умолчанию.
Чтобы исправить результат (а не делать то же самое после перезагрузки ПК), вам нужно зайти в терминал вашего дистрибутива Linux, где как root вы выполните следующую команду:
sdX — это диск, на который будет установлен Grub.
Читайте также: Как обрезать песню (музыку) на компьютере и телефоне
Восстановление Grub2 с помощью LiveCD
Для начала вам понадобится система LiveCD с той же разрядностью, что и ваша система Linux Mint, на которой был установлен Grub. Кроме того, неважно, графический интерфейс или нет. Как правило, все необходимые инструменты поддерживаются всеми дистрибутивами. И нам нужны только инструменты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2, просто выполните следующие действия.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с системой LiveCD в дисковод или USB-порт, если это флешка. Для загрузки с носителя может сначала потребоваться войти в меню BIOS и установить приоритет загрузки с внешнего устройства.
Нажмите Del, F2, F8 или Shift +F2, чтобы войти в BIOS. В открывшемся меню перейдите на вкладку Boot и в пункте Boot Device Priority или 1st Boot Device выберите нужное устройство:
Затем перейдите на вкладку «Выход» и выберите «Выйти и сохранить настройки.
Затем изображение начинает загружаться.
Шаг 2. Определение разделов
Перед восстановлением Grub2 нам нужно понять, на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Проще всего это сделать с помощью утилиты fdisk.
# sudo fdisk -lDisk /dev/sdc: 14,5 ГБ, 15514730496 байт, 30302208 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер ввода/вывода (минимальный/оптимальный): 512 байт / 512 байт
Тип этикетки диска: dos
Идентификатор диска: 0x38972eb0
Размер начальных и конечных секторов загрузки устройства Идентификатор типа
/dev/sdc1 * 23949312 29882367 5933056 2.8G 7 HPFS/NTFS/exFAT
/dev/sdc2 29882368 30302207 419840 205 Мб W95 FAT32
/dev/sdc3 13551616 23949311 10397696 5G 83 Linux
/dev/sdc4 2048 12621823 12619776 6 ГБ W95 FAT32
В выводе программы вы можете увидеть — все разделы, подключенные к компьютеру, их размер, а также файловую систему. На основе этих данных вам нужно понять, какой раздел используется в качестве корня вашей системы. Если вы производили выделение вручную, вам не составит труда понять, где оно вам нужно. Например, у меня загрузчик установлен на раздел /dev/sdc2 размером 205Мб с файловой системой Fat32, а корень — /dev/sdc3 — размером 5Гб.
Шаг 3. Монтирование файловой системы
Теперь вам нужно смонтировать корневую файловую систему в каталоге /mnt:
# смонтировать /dev/sdc3 /mnt
Смонтируйте папку с файлами загрузчика:
# смонтировать /dev/sdc2 /mnt/boot
Шаг 4. Подготовка к входу в систему
Для восстановления загрузчика linux mint мы будем использовать основную систему 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
Шаг 5. Вход в окружение системы
Для входа в системную среду используйте команду:
# chroot/mnt/bin/bash
Первый параметр указывает каталог, в котором была смонтирована корневая файловая система, а второй параметр указывает оболочку, используемую для интерпретации пользовательских команд.
Затем запустите эти команды, чтобы загрузить и обновить переменные профиля:
# обновление окружения# источник /etc/profile
Теперь вы находитесь в Linux Mint, и вы можете запускать почти все программы, разумеется, сервисы недоступны, так как при запуске не использовалась система инициализации, и, как следствие, графическое окружение недоступно.
Шаг 6. Восстановление Grub2
Теперь восстанавливает Grub в Linux Mint. Просто выполните следующие команды. Во-первых, чтобы переустановить загрузчик на жестком диске:
# sudo grub2 установить /dev/sdc
Здесь /dev/sdc — имя вашего жесткого диска.
Теперь давайте создадим новый файл конфигурации:
# sudo grub2-mkconfig -o /boot/grub/grub.cfg
Путь к конфигурационному файлу может немного отличаться, поэтому будьте внимательны.
Вы также можете использовать команду:
# обновление sudo grub
Но это работает только на Ubuntu и дистрибутивах на ее основе.
Шаг 7. Готово
Выйдите из среды chroot с помощью команды:
#Выход
И перезагрузите компьютер:
# перезагрузить
Теперь все работает.
Восстановление Grub с помощью утилиты Boot repair
С помощью этого замечательного инструмента вы сможете восстановить загрузчик всего за пару кликов. Как видно из скриншота, инструмент имеет собственный графический интерфейс и его использование не вызовет никаких затруднений.
Чтобы установить средство восстановления при загрузке, вы можете использовать один из следующих способов:
- Запись и установка специального образа диска Boot Repair (и дальнейшая загрузка с него)
- Устанавливает Boot Repair из репозитория PPA в дистрибутиве LiveCD/USB.
Если с первым способом все готово: нужно просто скачать и записать образ с помощью нужных инструментов. Так что во втором уже нужно знать конкретные команды, которые выглядят так:
Инструмент будет иметь два варианта на выбор:
Рекомендуемый ремонт исправляет большинство известных ошибок, которые могут возникнуть при запуске. С его помощью вы также можете исправить загрузчик Grub.
Создание сводки BootInfo создает сценарий Boot-Info-Script, который позволяет диагностировать большинство проблем с загрузкой.
Здесь также есть расширенные возможности. Он включает в себя параметры для восстановления и настройки загрузчика Grub2 (загрузка по умолчанию, параметры загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). Используя те же инструменты, вы можете восстановить MBR и т д
Вам обязательно следует посетить официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и функциях программы. Там же будет доступна информация о выходе новых версий: исправления и улучшения самого инструмента, а также многое-многое другое.
Подведем итог
Знакомство с GRUB можно считать завершенным. Если вас интересует дополнительный материал по настройке и работе с этим загрузчиком, сообщите нам об этом, поставив лайк и прокомментировав эту заметку. Опытные пользователи также могут подкинуть идеи в заметки о GRUB.