14 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

Не загружается 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. Вставляем флешку в наш ПК (где сломан загрузчик), после чего перезагружаем его с этой самой флешки. Как только мы войдем в лайв-систему, сразу открываем терминал, после чего проделываем следующие действия:

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

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

Читайте так же:
Чем открыть файл djvu? Топ программ и способов

По этой таблице мы видим, что 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 правами выполнить следующую команду:

Читайте так же:
Как расширить диск Windows 7

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, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.

Восстановление 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 следующей командой (следим за пропусками между кодами и порядковыми номерами разделов):

Читайте так же:
Как отключить автозапуск флешки в Windows — подробная инструкция

Затем, для записи 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, и в нем от рута дать команду:

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

Boot Repair восстановление GRUB в UbuntuВосстановление GRUB в Ubuntu, не такая уж и сложная задача, а при наличие еще и специальной графической утилиты, выполнить сие действие сможет абсолютно любой, даже совершенно не подготовленный пользователь. Для чего вообще нужно восстанавливать загрузчик и в каких случаях? Один из самых распространенных вариантов, это когда после установки «Ubuntu», была установленна «Windows», ну и естественно, в силу собственного «самовозвеличивания», во время установки, удалила загрузчик «GRUB» из «MBR». Это далеко не единственный случай, когда «GRUB» становится недоступным, могут быть и другие причины, главное не это, главное то, что если такое случилось, то не стоит растраиваться и сразу «кидаться» переустанавливать все по-новой.

Способов выхода из сложившейся ситуации существует несколько и один из них, наиболее простой и удобный, при помощи небольшой утилиты «Boot Repair». Программа может быть использована на «Ubuntu», начиная с версии «10.04 12.10» (для 13.04 неизвестно, вполне может быть, что работает и здесь).

Читайте так же:
10 Lifehacks for the Vivaldi Browser

Для восстановления GRUB в Ubuntu, нужно загрузиться с «Live CD», запустить терминал и установить программу, выполнив следующие команды:

Запустить программу можно также, из меню «Dash» для «Unity» или «Система → Администрирование → Boot-Repair», если у вас другая графическая оболочка.

Окно восстановления загрузчика GRUB в Boot Repair

Нажимаем на «Рекомендуемый способ восстановления. », все. Через несколько секунд, ваш загрузчик будет восстановлен. Просто? Нет. Это очень просто! А кто сказал, что это будет сложно? Кроме этого, в программе имеются расширенные возможности для более гибкой настройки.

Расширенные настройки восстановления загрузчика GRUB в Boot Repair

Одной из интересных опций является возможность резервного копирования таблиц разделов, загрузочных секторов и журналов. Резервная копия создаётся в архиве «ZIP». В них можно указать месторасположение «Grub» если программа не смогла его найти или восстановила не то, что Вам нужно. В расширенных настройках можно указать дополнительные настройки для «Grub». К примеру, задать параметр ядра acpi=off. По некоторым сведениям, в ближайшее время, программу обещают включить в официальный репозиторий «Ubuntu».

Вообще в идеале, самое лучшее — это создать собственный загрузочный «Live CD/USB» для восстановления системы, на который можно поместить эту утилиту, что бы каждый раз не устанавливать ее через терминал, ну и в придачу конечно, «Gparted» (для работы с жестким диском), «qt4-FSarchiver» (для восстановления самой системы), но это уже другая тема разговора.

Положительные характеристики Boot Repair:

  • Восстановление загрузчика «GRUB» в один клик.

Отрицательные характеристики Boot Repair:

  • Не обнаружено.

Параметры:

Язык интерфейса: русский
Лицензия: GNU GPL
Домашняя страница: http://sourceforge.net/p/boot-repair/home/Home/

Утилита устанавливалась на живую «Ubuntu 12.10» «Unity» (32-bit.) для проверки работоспособности, а также, при создание загрузочной USB-флешки, предназначенной для восстановления системы, на «Ubuntu 12.04 LTS» (32-bit.). После восстановления системы с версии 12.04 LTS на 12.10, при помощи «FSarchiver», система грузиться отказалась. При помощи данной утилиты, удалось все вернуть к жизни, буквально одним кликом.

Восстановление загрузчика GRUB в Ubuntu/Linux Mint

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

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

Теперь выбираем пункт «Рекомендуемый способ восстановления» (Recommended repair). Этого обычно достаточно в большинстве случаев.

Если этого недостаточно нажимаем «Рассширенные настройки», где можем изменить меню загрузки и добавить параметры ядра, сохранить загрузочную запись, указать другой расположение MBR (полезно если появился новый диск).



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

  1. user
    9 лет ago // Ответить

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

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

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

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

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

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

Читайте так же:
Почему телефон не открывает файлы

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

востанавливал загрузчик backtrack 5 R3 после переустановки windows 8 на нетбуке eMachines 10» — идеально сработало — с одной кнопочки, только перед установкой boot-repair предложил сначала (apt-get install python-software-properties) а установка (sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update) затем (sudo apt-get install -y boot-repair && boot-repair)

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 и установки через терминал

Спасибо, все отработало отлично с одним уточнением после переноса диска, на котором был Windows 10 и Linux Mint 19, на другой компьютер. После переноса грузилась только винда без возможности выбора системы. Загрузился с Linux Mint 19 Live CD, сделал все как в видео, но эффекта не дало. Если так произошло — после рестарта заходим в винду, открываем командную строку от имени администратора(пишем в поиск CMD, правый клик — запустить от администратора) и пишем в командную строку

bcdedit /set path EFIubuntugrubx64.efi

С учетом пробелов и в одну строку. Далее жмем ентер. Это прописывает вызов загрузчика Ubuntu. Но т.к. Linux Mint построен на Ubuntu, то мы сможем с него загрузиться. Делаем рестарт и видим, что у нас доступен запус убунту и винды. Жмем Ubuntu — запускается наш Linux Mint в котором после обновления через апдейт менеджер груб перепишется с Ubunt -овского на Linux Mint-вский.

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

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

Господи, зачем «левые» программы, зачем рассматривать их настройку?!…
Ну всё же делается в четыре тычка!
— грузимся с LiveCD или USB;
— смотрим, где находится Ваш установленный линух: sudo fdisk -l (первый, помеченный как Linux. Пусть для определённости это будет sda2);
— sudo mount /dev/sda2 /mnt
— sudo grub-install —root-directory=/mnt /dev/sda
— sudo reboot
ВСЁ! Подойдёт для подавляющего большинства пользователей персональных PC.
Говорят, что редких случаях Винда не определяется. Тогда грузимся в уже имеющийся линух и даем дополнительную команду: sudo update-grub
Ну теперь уж точно всё!

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector