Обзор
Для загрузки операционной системы необходимо установить загрузчик, поддерживающий Linux, такой как GRUB, rEFInd или Syslinux, в главную загрузочную запись (MBR) или таблицу разделов GUID (GPT) носителя, содержащего операционную систему. Установки, созданные с помощью Manjaro ISO, по умолчанию используют GRUB.
По разным причинам загрузчик может быть поврежден, стерт или неправильно настроен, что приводит к появлению черного экрана с сообщением об ошибке при загрузке, например, No boot loaders found in /dev/…. Для восстановления работы системы без переустановки ОС и потери данных вам потребуется использовать установочный носитель Manjaro, например, CD/DVD или USB Flashdrive.
Процесс загрузки Archlinux
Большая информация о процессе загрузки в дистрибутивах на базе Archlinux доступна на Archwiki
.
Подготовка
Определите тип системы, которую вы пытаетесь восстановить, так как команды немного отличаются.
- система BIOS/MBR/GPT
- система EFI/GPT
Загрузка с установочного носителя Manjaro
Переопределение загрузки системы
Для переопределения порядка загрузки системы у каждого есть специальная клавиша. Большинство клавиатур ноутбуков имеют множественное назначение функциональных клавиш, и основная функция может быть изменена на противоположную. В таком случае вместе с функциональной клавишей необходимо использовать клавишу FN. Если вы не знаете — обратитесь к документации вашей системы. Имена пользователей и пароли Manjaro ISO по умолчанию
Имя по-умолчанию | Пароль по-умолчанию |
---|---|
manjaro | manjaro |
root | manjaro |
Идентификация разделов
Чтобы определить разделы и их назначение необходимо запустить менеджер разделов. В зависимости от окружения существуют различные инструменты. ISO на базе GTK предлагает GpartEd, ISO на базе QT предлагает KParted, и общим для всех является CLI.
user $ lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME COPY TO CLIPBOARD
Более полную информацию можно найти с помощью fdisk
(требуется суперпользователь), и вы можете ограничить исследуемое устройство, например, /dev/sda или /dev/nvme0n1.
user $ sudo fdisk -l /dev/sda COPY TO CLIPBOARD
Подсказки, на которые следует обратить внимание, это mbr против gpt и наличие небольшого раздела (обычно первого), отформатированного в файловой системе vfat, за которым следует больший раздел, отформатированный как ext4.
Info
Этот документ и его содержание никогда не должны использоваться в качестве ресурса для копирования/вставки. В оставшейся части этого документа будут использоваться псевдоимена и нумерация разделов. Устройства будут называться /dev/sdy, а разделы /dev/sdyA, и вам придется подставить в них реальные значения из вашей системы.
Использование контекста root
После загрузки живого ISO — в зависимости от окружения — откройте терминал и переключитесь в контекст root. Используйте вышеупомянутую комбинацию root:password.
user $ su COPY TO CLIPBOARD
Среда Chroot
Chroot — это метод ограничения различных задач в ограниченной области, например, установка пакетов и другие задачи по обслуживанию системы. Перейдите по ссылке [1], чтобы прочитать больше о chroot в Arch wiki.
Идентификация системных разделов
Из вышесказанного мы предполагаем, что вы определили соответствующие разделы в вашей системе, и в этом документе разделы будут упоминаться следующим образом. Разделы, которые не нужны для обслуживания такого рода, намеренно опущены (например, home, swap).
Раздел | ! Использование | Комментарий |
---|---|---|
/dev/sdyA |
EFI система | Требуется для EFI системы и монтируется в /boot/efi. |
/dev/sdyB |
boot | Необязателен, но монтируется в /boot В основном используется, когда GRUB не может быть записан в / (например, в f2fs). |
/dev/sdyC |
root | Требуется для корневой файловой системы и монтируется в / — обычно форматируется в ext4. |
Template:Importantant
Использование manjaro-chroot
Manjaro развертывает скрипт под названием manjaro-chroot
, который принимает необязательный аргумент и выполняет поиск видимых устройств — сканирует разделы на наличие признаков операционной системы. Если найдено более одной операционной системы Linux — Вам будет предложено выбрать, какая система будет chroot, иначе файл /etc/fstab из системы будет использоваться для монтирования разделов и chroot в эту систему. Этот скрипт по умолчанию доступен только в live iso, но вы можете получить его в установленной системе, установив пакет manjaro-tools-base
.
root # pamac install manjaro-tools-base COPY TO CLIPBOARD
root # manjaro-chroot -a COPY TO CLIPBOARD
Ручной chroot
(Нет необходимости, если вы использовали manjaro-chroot
)
Монтируйте разделы, используя назначенную временную точку монтирования, и всегда начинайте с root.
root # mount /dev/sdyC /mnt COPY TO CLIPBOARD
Info
При использовании файловой системы BTRFS следует учитывать, что субтома должны быть смонтированы. В таком случае:
root # mount -o subvol=@ /dev/sdyC /mnt COPY TO CLIPBOARD
Затем, если необходимо, смонтируйте boot.
root # mount /dev/sdyB /mnt/boot COPY TO CLIPBOARD
А после по необходимости и efi
root # mount /dev/sdyA /mnt/boot/efi COPY TO CLIPBOARD
Создайте среду chroot и используйте bash в качестве оболочки
root # manjaro-chroot /mnt /bin/bash COPY TO CLIPBOARD
Переустановка GRUB
Одна из возможных причин, по которой вы читаете этот документ — это незавершенное обновление, которое, в свою очередь, может быть вызвано несколькими ситуациями, в которые мы не будем углубляться. Чтобы исправить причину Вам следует запустить полное обновление системы, включая grub, чтобы убедиться, что все на месте.
root # pacman -Syu grub COPY TO CLIPBOARD
После завершения операции продолжите, используя раздел, соответствующий вашей системе
Система BIOS
В системе BIOS/GPT нет MBR и, следовательно, нет места для хранения загрузчика. Спецификация разделов GPT допускает наличие неформатированного раздела типа загрузочного раздела BIOS (0xEF02). Размер этого раздела может составлять всего 1 мегабайт. Программа установки Calamares использует фиксированный размер 32 мегабайта. В системе BIOS/MBR часть загрузчика записывается в Master Boot Record основного диска.
Устройство — это диск (не раздел)
root # grub-install —force —target=i386-pc —recheck —boot-directory=/boot /dev/sdy COPY TO CLIPBOARD
Убедитесь что конфигурация grub обновлена
root # grub-mkconfig -o /boot/grub/grub.cfg COPY TO CLIPBOARD
Система EFI
Info
Вы должны быть в chroot для этой процедуры.
Переустановка grub
root # grub-install —target=x86_64-efi —efi-directory=/boot/efi —bootloader-id=manjaro —recheck COPY TO CLIPBOARD
Обновление конфигурации grub
root # grub-mkconfig -o /boot/grub/grub.cfg COPY TO CLIPBOARD
EFI grub install messages
Переменные EFI не поддерживаются в этой системе.
Проверьте существование системного раздела EFI
root # lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME COPY TO CLIPBOARD
Убедитесь, что файловая система efi загружена
root # ls /sys/firmware/efi COPY TO CLIPBOARD
Выйти из chroot
root # exit COPY TO CLIPBOARD
Попробуйте загрузить файловую систему efi
root # modprobe efivarfs COPY TO CLIPBOARD
Повторно войдите в chroot
root # manjaro-chroot /mnt /bin/bash COPY TO CLIPBOARD
Затем смонтируйте файловую систему efi
root # mount -t efivarfs efivarfs /sys/firmware/efi/efivars COPY TO CLIPBOARD
.
Убедитесь, что файловая система efi загружена
root # ls /sys/firmware/efi COPY TO CLIPBOARD
В случае успеха повторно выполните вышеуказанные команды установки
Устранение неполадок
Manjaro не распознается
Если Manjaro не распознается после обновления grub, то, вероятно, в вашей установке отсутствует пакет lsb-release.
Посмотрите также
- Руководство по установке UEFI
- GRUB на Arch wiki
Restore the GRUB Bootloader on Manjaro Linux. Usefull when your fresh windows install eats your grub and can not boot into your linux installation, or for some how your grub is missing
- Chroot into your linux instalation
- The easiest way is with
mhwd-chroot
- Install it
yaourt -S mhwd-chroot
- Run it
sudo mhwd-chroot
- DONE, you have chrooted into your linux installation (open a root console of your installed linux OS, is like just open a console with root access)
- Install it
- The easiest way is with
- Restore your GRUB
- Install a new GRUB bootloader with
grub-install /dev/sda
- Recheck to ensure the that installation has completed without any errors
grub-install --recheck /dev/sda
- Finally, configure the freshly installed GRUB bootloader typing
update-grub
- Install a new GRUB bootloader with
Ref Manjaro Wiki — Restore the GRUB Bootloader
Update Jul 2022
I dont use Manjaro distribution any more, the above step may been deprecated.
A solution posted in the comments that is receiving lots of positive feedback made by @y6nH seems to be the right steps to fix it:
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
sudo manjaro-chroot -a
(and select system to mount)grub-install /dev/sda
(it’s sda for me; make sure you choose the right drive!)grub-install --recheck /dev/sda
update-grub
exit
- reboot
У меня было установлена Windows 10 и рядом Manjaro Linux.
Захотел выделить больше места под Манджаро грубым способом… Из Винды удалил раздел с ней, выделил еще места для нее, попробовал установить на нее Манджаро, но установка завершилась с ошибкой (что-то было написано про EFI system).
При перезагрузке ноута, соответственно, выбора ОС нет, но есть тот самый «grub rescue».
Очень странно, но месяц назад я таким же макаром поменял Убунту на Манджаро, и все встало идеально, а тут захотел переустановить ее саму и вот…
Никак не могу восстановить загрузчик, ни с LiveCD, ни из «grub rescue»
Следующие команды выдают ошибку:
$ sudo mount /dev/sda1 /mnt
$ sudo grub-install --root-directory=/mnt /dev/sda1
Ошибка:
grub-install: error: cannot find EFI directory.
Для информации:
sudo fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/nvme0n1p2 1028160 160433558 159405399 76G 7 HPFS/NTFS/exFAT
/dev/nvme0n1p4 161565766 1000214527 838648762 399.9G f W95 Ext’d (LBA)
/dev/nvme0n1p5 161565768 839475877 677910110 323.3G 7 HPFS/NTFS/exFAT
/dev/nvme0n1p6 839477926 1000214527 160736602 76.6G 83 Linux
Помогите, пожалуйста, восстановить загрузчик
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Содержание
- Восстановление GRUB
- Подготовка
- Загрузка в Live-режиме
- Открываем терминал
- Определение разделов
- Вывод fdisk для BIOS
- Вывод fdisk для UEFI
- Монтирование разделов
- Монтирование EFI-раздела
- Выполняем chroot на /mnt
- Генерация файла конфигурации GRUB
- Устанавливаем GRUB
- Перезагрузка компьютера
- Шпаргалка
- Не загружается Linux, чиним загрузчик GRUB
- Что такое Grub
- От чего могут возникнуть проблемы
- Восстановление Grub с помощью LiveCD/USB
- Как создать LiveCD/USB
- С помощью Rufus:
- С помощью Etcher:
- Восстановление с помощью chroot
- Восстановление Grub в rescue mode
- Восстановление Grub с помощью утилиты Boot repair
- Выводы
- compizomania
- Страницы
- 08 апреля 2020
- Как восстановить загрузчик GRUB Manjaro после установки другой системы Linux?
- Восстановление Grub после установки Windows 10
- Как восстановить Grub после Windows 10
- Шаг 1. Запуск cmd
- Шаг 2. Подключение раздела EFI
- Шаг 3. Поиск загрузчика
- Шаг 4. Восстановление Grub
- Выводы
- Оцените статью:
- Об авторе
- 45 комментариев
Восстановление GRUB
В данной статье рассматривается процесс восстановления загрузчика GRUB 2.
Причины, по которым может понадобится восстановить GRUB, могут быть разными.
Очень часто требуется восстанавливать GRUB после установки Windows. Если у вас был установлен Linux и вы установили в соседний раздел или на соседний диск Windows, то после перезагрузки компьютера загрузится Windows, как будто Linux вообще пропал. Загрузчик GRUB даже не появился. Иногда подобное происходит при обновлении существующего Windows.
Иногда требуется восстановление GRUB после установки Linux, когда неверно был выбран раздел для установки загрузчика.
Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.
Также иногда различают процесс восстановления для систем с BIOS и с UEFI. Описанный ниже способ рассматривает оба этих случая. Я тестировал его как на компьютерах с традиционным BIOS, так и с UEFI.
Подготовка
Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.
Для создания загрузочной флешки можно воспользоваться программой Etcher. Она работает в Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).
Открываем терминал
Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен GRUB.
Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):
Вывод fdisk для BIOS
Пример вывода команды:
В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).
Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.
Вывод fdisk для UEFI
Монтирование разделов
Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
Также можно проверить, что директория boot не пустая:
Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:
Монтирование EFI-раздела
Выполняем chroot на /mnt
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем GRUB
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
Отмонтируем все разделы, которые мы примонтировали:
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
Если вы монтировали EFI-раздел, отмонтируем:
Отмонтируем корневой раздел:
Перезагружаем компьютер. Для этого выполняем команду:
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
Мне это помололо на компьютере, который использует UEFI.
Шпаргалка
Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов ( /dev/sd. ) у вас могут отличаться.
Источник
Не загружается Linux, чиним загрузчик GRUB
Любите экспериментировать? Наверняка вы когда-либо пытались произвести какие-то действия со своей Linux-системой, причем не так важно какие были цели: изучение и познание новых возможностей или же какая-то более конкретная цель, в виде исправления той или иной ошибки. В любом случае, при работе с дистрибутивами Linux, для загрузки которых, в большинстве случаев, и используется Grub, с последним могут возникать неприятные проблемы, ввиду которых дальнейшая эксплуатация системы просто-напросто невозможна. В этой статье вы узнаете, что делать, если не загружается Linux. Как вести себя в подобной ситуации и какие действия производить, чтобы починить загрузчик Grub. Пожалуй, начнем.
Что такое Grub
От чего могут возникнуть проблемы
Если, например, сделать наоборот, то как раз-таки Grub будет поврежден; система будет грузиться напрямую в Windows, а дистрибутив Linux останется недоступным.
Grub может сломаться и по другим причинам. Например, из-за попыток ручного изменения параметров запуска (при недостатке опыта), в таком случае нужно будет либо вручную убирать лишнее, либо полностью переустанавливать Grub.
Восстановление Grub с помощью LiveCD/USB
Для этого способа нам понадобится флешка с дистрибутивом Linux на борту. Подойдет любой: от 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 диска. В ней присутствует базовый функционал и ничего больше (консоль в rescue mode).
Стало быть, нам нужно определить, в каком разделе находится вторая часть Grub (находится в каталоге /boot/grub), и после чего подгрузить все недостающие модули. А вот уже после этого мы сможем запустить загрузчик с нужного раздела. В rescue mode есть всего четыре команды:
Для начала вводим следующую команду:
В выводе будет что-то подобное:
В некоторых случаях Grub неправильно опеределяет файловые системы находящиеся на разделах дисков. В данном примере загрузчик показывает их как msdos. Мы должны попытаться угадать диски, которые видим. В примере доступно два диска. Диск с индексом 0 содержащий три раздела, и диск с индексом 1 содержащий два раздела. Если вы знаете структуру своих дисков, определить нужный труда не составит.
С помощью этих команд мы приказываем системе использовать какой-то конкретный диск, для выполнения всех остальных операций (в нашем случае, это диск (hd0,1)). Чтобы проверить есть ли на данном диске загрузчик, введем эту команду:
Если в выводе будет список файлов и папок, значит мы все сделали правильно. Теперь можно загрузить все необходимые модули. Для этого выполним команды:
После выполнения команд Grub загрузится в полнофункциональном режиме. Будут найдены все операционные системы, которые установлены на компьютере, после чего будет показано стандартное меню загрузки.
Чтобы закрепить результат (и не проделывать все то же самое после перезапуска ПК), нужно зайти в терминал своего дистрибутива Linux, где с root правами выполнить следующую команду:
Если операционная система расположена на разделе с файловой системой btrfs, то нам необходимо выполнить следующие команды:
И подгрузить модули:
Ну и теперь запустить GRUB:
Восстановление Grub с помощью утилиты Boot repair
С помощью этой замечательной утилиты вы сможете восстановить загрузчик всего в пару кликов. Как видно из скриншота, утилита имеет собственный GUI, ее использование не вызовет трудностей.
Чтобы установить boot repair, вы можете воспользоваться одним из приведенных способов:
Если с первым способом все понятно: нужно просто скачать и записать образ с помощью соответствующих инструментов. То во втором уже нужно знать конкретные команды, которые выглядят следующим образом:
В утилите будет доступно два варианта на выбор:
Recommended repair исправляет большую часть известных ошибок, которые могли бы возникнуть при запуске. С его помощью вы сможете пофиксить и загрузчик Grub.
Create a BootInfo summary создает Boot-Info-Script – скрипт, который позволяет диагностировать большинство проблем при загрузке.
Здесь же есть и Advanced options. Он включает в себя варианты для восстановления и настройки загрузчика Grub2 (загрузка по-умолчанию, опции загрузки ядра, отображение или скрытие GRUB при загрузке, удаление GRUB). С помощью этих же инструментов, вы можете восстановить MBR и т.д.
Вам обязательно стоит заглянуть на официальный сайт Boot Repair. Там вы сможете найти более подробную информацию обо всех возможностях и особенностях программы. Там же будет доступна информация о выходе новых версий: фиксах и улучшениях самой утилиты, а также многом и многом другом.
Выводы
Возможно вас заинтересуют и другие похожие материалы про починку загрузчика Grub2. Например, в этом материале вы узнаете, как починить GRUB2 если Ubuntu не хочет загружаться. Там более подробно рассказывается, как фиксить груб с помощью утилиты Boot Repair, возможно вам стоит заглянуть туда, если вы не поняли что-то из этого материала. Что же, ну а на сегодня это все. Надеюсь, что данный материал помог вам разобраться в ошибках. Что, в свою очередь, поможет вам их решить.
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
08 апреля 2020
Как восстановить загрузчик GRUB Manjaro после установки другой системы Linux?
Многие пользователи компьютером устанавливают на жёсткий диск несколько ОС, чтобы попробовать и выбрать наиболее подходящую под свои запросы и возможности компьютера.
Если после установки Manjaro была установлена другая система Linux, например, Ubuntu; Linux Mint или Fedora и т.п., то загрузчик операционных систем GRUB теперь будет от последней установленной системы Linux.
Но вот незадача, войти в Manjaro будет проблематично, а именно, переключаясь в GRUB на строку с Manjaro и нажатия Enter, система не загружается и на экране появляется примерно вот такое извещение с Kernel panic:
Некоторые пользователи переустанавливают Manjaro, чтобы её загрузчик GRUB был главным, а из GRUB Manjaro, можно загрузиться и в другие системы.
Но переустанавливать Manjaro совсем необязвтельно. Для того чтобы из загрузчика GRUB, например, Ubuntu зайти в систему Manjaro, необходимо прежде переключится на строку Advanced options Manjaro и нажать Enter.
А затем в открывшемся меню выбрать третью строку с fallback initramfs или резервную инициализацию файловой системы и нажать Enter.
Таким образом пользователь совершает вход в систему Manjaro без проблем.
После того как пользователь вошёл в Manjaro, можно восстановить загрузчик GRUB Manjaro следующей командой в терминале:
sudo grub-install /dev/sda
И остаётся только обновить GRUB:
Вот и все. Теперь можно перезагрузить компьютер, чтобы убедиться, что система Manjaro находится первой в меню загрузчика GRUB.
Источник
Восстановление Grub после установки Windows 10
Если вы используете на своем компьютере две операционные системы, Windows и Linux, и обновили свою Windows из 7, 8 или 8.1 до самой новой Windows 10, могут возникнуть проблемы с загрузчиком Grub при использовании защищенной загрузки UEFI. Во время обновления Windows 10 просто затрет загрузчик Grub и запишет туда свой.
Вы, как обычно, перезагружаете систему и ожидаете увидеть меню выбора операционной системы Grub, но вместо этого загружается новая Windows 10. Вам может показаться, что нет никакого способа получить доступ к Ubuntu или что не может работать Ubuntu рядом с Windows 10. Но это не так.
Как восстановить Grub после Windows 10
Многие советуют установить Ubuntu на другой диск, но есть более простое и прекрасно работающие решение, чтобы восстановить grub после установки windows 10. Кончено, всегда можно восстановить grub2 стандартным способом, с помощью LiveCD диска, но если вы используете UEFI, есть более легкое решение, мы сделаем все с помощью Windows 10.
Хотя за основу в этой статье берется Ubuntu, но это также будет работать и для других дистрибутивов. Просто папка, в которой находятся файлы загрузчика будет немного отличатся.
Шаг 1. Запуск cmd
Кликните по иконке поиск в Windows, наберите там cmd и найдите Командную строку Windows. Кликните по ней правой кнопкой и выберите Запустить от имени администратора:
Шаг 2. Подключение раздела EFI
Далее вы можете попытаться угадать как называется файл загрузчика Grub на разделе EFI, но можно поступить по другому и просто посмотреть. Чтобы подключить раздел EFI запустите diskpart. Для этого выполните:
Затем выведите список доступных дисков:
Выберите в качестве активного диск, на который установлена Windows 10 и на котором сейчас находится раздел EFI:
Далее выведите список разделов на диске:
Найдите раздел EFI, он обычно отформатирован в файловую систему FAT и занимает около 100 мегабайт места. В данном случае это том 2:
Этому разделу надо присвоить букву. Для этого выполните:
sel vol 2
assign letter=I:
Шаг 3. Поиск загрузчика
Далее надо найти файл загрузчика на разделе EFI. Но открыть этот раздел в проводнике вы не сможете, надо использовать только командную строку. Закройте DiskPart и выполните:
Затем с помощью команды dir найдите загрузчик Grub. Например:
Здесь есть файл grubx64.efi. Это он. Загрузчик может называться по другому в других дистрибутивах, именно поэтому я рассказал как всё посмотреть.
Шаг 4. Восстановление Grub
Скопируйте и выполните эту команду:
bcdedit /set path EFIubuntugrubx64.efi
Вам не нужно будет вводить пароль, у вас уже есть права администратора и программа должна отработать нормально. Эта команда обратно запишет вместо загрузчика Windows 10 загрузчик Grub.
Если команда вернула ошибку, вы можете откатить изменения такой командой:
bcdedit /deletevalue path EFIubuntugrubx64.efi
Затем можно включить загрузчку загузчика Windows 10:
bcdedit /set path EFIMicrosoftBootbootmgfw.efi
Выводы
Восстановление Grub после Windows 10 завершено. Перезапустите компьютер и вы увидите на экране знакомый Grub. Надеюсь, эта краткая инструкция помогла вам выполнить восстановление Grub после установки Windows 10.
Оцените статью:
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
45 комментариев
Пойдет. А что раньше, я имею в виду, если была установлена первой Ubuntu, а затем Windows 7, Grub работал нормально, без этой команды?
Нет, нужно было восстанавливать загрузчик с помощью LiveCD.
А если не linux не Ubuntu установлен?
А если linux другой установлен, в смысле?
Не работает. хоть тресни.
Интересно, как удалить эту запись теперь в Windows?
Какая нужна команда чтобы удалить у себя эту запись bcdedit /set path EFIubuntugrubx64.efi?
Это действительно помогло. Очень быстро и удобно. У меня установлены Linux Mint, Ubuntu и OpenSUSE. Большое спасибо!
А можно пример команды для Linux Mint?
Помогло после обновления биос. Спасибо.
а если у меня не UEFI?
У нас есть статья и на этот случай.
Помогло второй раз, но уже после неудачного обновления ядра на Ubuntu 16.04, слетели обе системы. Системные Windows 10 (на m.2) разделы восстановил acronis, а grub командной строкой. Еще раз спасибо!
Моё увожение автору
Большое спасибо за помощь.
привет всем кто может помочь в моей проблеме у меня две системы. винда 10 и линукс минт ребека начал обновлятся виндоуз и полетел загрузчик после обновления загрузчика видит только линукс
Ну и нормально же)) Страшнее было бы, если ьы осталась только винда.
Зайдите в линукс и в терминале выполните sudo update-grub
Винда слетела нах, спасибо
добрый день, нужна помощь, была винда 10, на жестком диске было 2 раздела, один с загрузчиком виндоус, другой с виндоус, загрузился с лив-флешки Арча (Arch linux), доразбил диск с виндоуз под установку линукс, раздел, где был загрузчик виндоус использовал под boot арча (специально так сделал), сделал другие разделы для арча, установил арч и теперь, естественно, не грузится виндоуз, вопрос следующий, как, НЕ восстанавливая раздел для загрузчика виндоуза загрузиться в виндоуз, иначе говоря, я хочу, чтобы на разделе boot арча были специальные загрузочные файлы, которые помогут загрузиться в виндоуз, возможно ли такое?
Спасибо, с Mint 18.1 помогло.
Спасибо за рецепт. Очень удобно и быстро восстановился загрузчик.
У меня Дипин, эта команда не помогла. Что надо поменять в команде, чтобы она сработала?
Огромное спасибо автору за экономию времени, заняло 30 секунд. Система с Win10/Fedora29,
после Windows Feature Update 1809 затёрся grub, сейчас всё работает.
Спасибо! Помогли сэкономить время!
Сработало после неудачного обновления Windows 10.
Система откатилась до состояния перед обновлением, но вот загрузчик grub потёрла.
Уже писал на флешку live-образ, но вовремя нашёл вашу статью.
Ещё раз благодарю!
Спасибо, помогло
У меня Manjaro; просто написал название своего дистрибутива вместо Ubuntu и все получилось с первого раза.
DISKPART> assign letter=I:
Ошибка службы виртуальных дисков:
Указанное имя диска уже занято.
Вот на этом у меня всё и закончилось
аналогично. Теперь интересует, как убрать этот раздел I:, который появился после второго шага. Если кто-то знает, подскажите, пожалуйста
т.е. раздел создался, но дальше файл с убунту не обнаружился. Решила снести убунту, освободила диск, чтобы заново установить, но этот I: остался. Спасите кто-нибудь ))
Выполните в DiskPart команду remove letter=I, аналогично тому как вы выполняли assign letter.
+ CategoryInfo : InvalidArgument: (:) [], ParameterBindingException
+ FullyQualifiedErrorId : ParameterSpecifiedAlready
Как его понять?
У меня Debian, все команды выполнены, по их словам, успешно, но грузится без лишних слов windows10
Таких дисков (99мб) нашел три и успешно сделал всё со всеми (сраной letter=) и со всеми win поёт, а я нет.
Кстати, после bcdedit я выполнял exit;
Источник
Содержание
- Как восстановить GRUB Manjaro, объяснил бот официального Telegram-канала проекта на испанском языке
- Восстановите GRUB из Manjaro с помощью этих шагов от ManjaroLinuxEsBot
- Установите его в режиме BIOS или UEFI.
- Установите загрузчик grub в режиме BIOS.
- IУстановить загрузчик grub в режиме UEFI
- Дополнительный шаг, если есть двойная загрузка
- Просто, но вы должны следовать правильным инструкциям
- dianjuar / Restore the GRUB Bootloader.md
- Ligh7bringer commented Apr 24, 2018
- woshichuanqilz commented Sep 4, 2020
- dianjuar commented Sep 4, 2020
- s1lmaris commented Sep 14, 2020
- dianjuar commented Sep 14, 2020 •
- SamadKhafi commented Oct 16, 2020 •
- y6nH commented Oct 21, 2020
- ArashAfrabandpay commented Jan 20, 2021
- kellergoech commented Mar 4, 2021
- buragwitmo commented Sep 6, 2021
- KikiMcArron commented Nov 7, 2021
- KikiMcArron commented Nov 7, 2021
- GRUB/Restore the GRUB Bootloader
- Содержание
- Identify system partitions
- Use manjaro-chroot
- Manual chroot
- BIOS System
Как восстановить GRUB Manjaro, объяснил бот официального Telegram-канала проекта на испанском языке
С тех пор, как я начал использовать Manjaro в его специальное издание для USB, в настоящее время не поддерживается, но и не требуется, потому что вы можете лучше установить напрямую, я могу найти только хорошие слова для этого популярного дистрибутива на базе Arch Linux. У меня всегда ПО в актуальном состоянии, не без предварительного прохождения через фаерволы веток Unstable и Testing. Но. это не работает одинаково хорошо для всех нас, или мы не все делаем то же самое, и есть пользователи, которые в конечном итоге делают личинка манджаро прекрати работать.
Хотя я не понимаю, как, возможно, потому что я обычно держу руки при себе или потому что я собираюсь установить его вместе с Windows, есть люди, которые обращаются к сообществу за помощью в восстановлении grub Manjaro. Вы можете искать много информации, но я думаю, что ни одна из них не так ясна, как та, что предоставлена Telegram-бот канала Manjaro на испанском языке. Мы можем пообщаться с ним наедине, это рекомендуется, но также добавить бота другим группам и вызывать или просить у них помощи.
Восстановите GRUB из Manjaro с помощью этих шагов от ManjaroLinuxEsBot
Все нижеследующее — это инструкции, которые бот говорит нам, чтобы восстановить GRUB Манджаро в случае аварии.
- Чтобы восстановить личинку Manjaro, используется установочный USB-накопитель Manjaro в режиме реального времени. Редакция (KDE, GNOME, XFCE) установщика не имеет значения. Да стоит, чтобы ISO был максимально актуальным.
- Чтобы начать восстановление, вы должны загрузить USB с режимом (BIOS или UEFI) установки Manjaro, то есть загрузиться с USB Manjaro в режиме Live.
- После загрузки мы откроем терминал/консоль и запустим эту команду, чтобы автоматически смонтировать нашу установку Manjaro:
- Если у утилиты есть сомнения из-за того, что установлены разные дистрибутивы, она представит нам список для выбора нашей установки Manjaro. Но обычно он делает это автоматически.
- В качестве дополнительного и рекомендуемого шага вы можете обновить систему с помощью pacman -Syu , но возможно, что в системе нет сети и команда не работает. Если это так, тоже не проблема, это необязательный шаг.
- Единственный случай, когда вам нужно будет получить сетевое подключение, — это если по какой-то причине пакет grub не был установлен в системе. В этом случае вам нужно подключиться к Интернету и запустить:
Установите его в режиме BIOS или UEFI.
В зависимости от того, из какого режима вы хотите восстановить Manjaro, вам придется установить загрузчик grub немного по-другому.
Установите загрузчик grub в режиме BIOS.
- Вам нужно определить, на какое дисковое устройство будет установлен grub. Для получения информации о дисках и их содержимом можно использовать, например, команду:
- Дисковое устройство, на которое будет установлен grub, обычно имеет формат /dev/sdX или /dev/nvmeXnY. Буквы или цифры X или Y, которые идентифицируют диск в нашей системе. Например, /dev/sda или /dev/nvme0n1. Имейте в виду, что это должен быть весь диск, а не один из его разделов.
- Как только устройство будет идентифицировано, необходимо выполнить следующую команду, где /dev/XXX будет диск, на который будет установлен grub:
IУстановить загрузчик grub в режиме UEFI
Независимо от того, в каком режиме установлен загрузчик grub, выполните следующее, чтобы создать файл конфигурации grub:
Затем выйдите из chroot с помощью:
И перезагрузите компьютер.
Дополнительный шаг, если есть двойная загрузка
Если на компьютере установлена другая система Windows/Linux, скорее всего, она не была обнаружена в предыдущем процессе. Чтобы получить соответствующие записи grub, после загрузки Manjaro повторно запустите:
Просто, но вы должны следовать правильным инструкциям
Если мы сделаем все, что нам объясняет бот, разработанный пользователями сообщества (названия не ставлю во избежание СПАМ), все должно прийти в норму.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Любители Linux » Общие » Как восстановить GRUB Manjaro, объяснил бот официального Telegram-канала проекта на испанском языке
Источник
dianjuar / Restore the GRUB Bootloader.md
Restore the GRUB Bootloader on Manjaro
- Chroot into your linux instalation
- The easiest way is with mhwd-chroot
- Install it yaourt -S mhwd-chroot
- Run it sudo mhwd-chroot
- DONE, you have chrooted into your linux installation (open a root console of your installed linux OS, is like just open a console with root access)
- The easiest way is with mhwd-chroot
- Restore your GRUB
- Install a new GRUB bootloader with grub-install /dev/sda
- Recheck to ensure the that installation has completed without any errors grub-install —recheck /dev/sda
- Finally, configure the freshly installed GRUB bootloader typing update-grub
Update Jul 2022
I dont use Manjaro distribution any more, the above step may been deprecated.
A solution posted in the comments that is receiving lots of positive feedback made by @y6nH seems to be the right steps to fix it:
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
The guide in the Manjaro Wiki didn’t work for me but these instructions did! Looks like all the mounting is unnecessary.
couldnt find packages mhwd chroot
The guide in the Manjaro Wiki didn’t work for me but these instructions did! Looks like all the mounting is unnecessary.
They are unnecessary thanks to mhwd-chroot , it does all the work for us that sometimes could be hard
@dianjuar please im having the same issue, is there any way to still use this guide? cant find the mhwd-chroot on pacman
@dianjuar please im having the same issue, is there any way to still use this guide? cant find the mhwd-chroot on pacman
mhwd-chroot is an AUR package, search on internet how to install an AUR on Manjaro, I think the easiest way to do it is using Octopi
I had the same issue.
# manjaro-chroot -a worked for me.
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
ArashAfrabandpay commented Jan 20, 2021
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
Hey there @y6nH so I’ve taken those mentioned steps. but when i tried to boot back again into my Manjaro it just freezes on the preOs icon «Lenovo» (which is my laptop brand). by any chance do you have any idea how to fix it?
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
Worked for me aswell!
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
Thanks this works for me ,but there is no manjaro bootmanager,
i can boot to manjaro using f12 key but dont see the bootloader page manjaro
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
I fight with grub all weekend, on friday i decide to uninstall Mint. After that grub was broken and I worked all day to delete it from boot and run win 10. When I done it and install Manjaro, The grub doesn’t appear. I try almost everythink. Now I do this script, evrything goes ok, but there is no result, Bootloader is not apear, Win is runing immediatly after reboot. Is there any other way to fix this problem?
These are the steps that worked for me, without having to install any new packages:
- Boot into Manjaro installer
- Open terminal
- sudo manjaro-chroot -a (and select system to mount)
- grub-install /dev/sda (it’s sda for me; make sure you choose the right drive!)
- grub-install —recheck /dev/sda
- update-grub
- exit
- reboot
I fight with grub all weekend, on friday i decide to uninstall Mint. After that grub was broken and I worked all day to delete it from boot and run win 10. When I done it and install Manjaro, The grub doesn’t appear. I try almost everythink. Now I do this script, evrything goes ok, but there is no result, Bootloader is not apear, Win is runing immediatly after reboot. Is there any other way to fix this problem?
@#&#&@# problem solved, I don’t know how it happends but in bios my first boot drive was changed to other hd 🤦
Источник
GRUB/Restore the GRUB Bootloader
Содержание
In order to load the operating system, a Linux-capable boot loader such as GRUB, rEFInd or Syslinux needs to be installed to the Master Boot Record (MBR) or the GUID Partition Table (GPT) of the media containing the Operating System. Installations created using Manjaro ISO defaults to GRUB.
For various reasons — it happens the bootloader get’s corrupted, erased or misconfigured resulting to a black screen with a failure message during boot, like No boot loaders found in /dev/. . To restore system operation without re-installing your OS or losing your data you will need to use your Manjaro installation media, such as, a CD/DVD or USB Flashdrive.
Identify the type of system you are attempted to resque as the commands involved are slightly different.
System Boot Override To override system boot order the vendor has a dedicated key. Most laptop keyboard has multiple use for the function keys and the primary function may be reversed. In such case a Fn key must be used with the function key. If you don’t know consult your system documentation. Manjaro ISO default usernames and passwords
Default Username | Default Password |
---|---|
manjaro | manjaro |
root | manjaro |
To identify your partitions and their designated use you need to run a partition manager. Depending on environment there is various tools. GTK based ISO offers GpartEd, QT based ISO offers KParted and common to all is the CLI tools.
More comprehensive information can be found using fdisk (requires superuser) and you can limit the probed device e.g. /dev/sda or /dev/nvme0n1
The clues to look for is mbr vs. gpt and the presence of a small partition — usually the first — formatted with the vfat filesystem followed by a larger partition formatted as ext4.
When you have loaded the live ISO — depending on environment — open a terminal and switch to root context. Use above mentioned root:password combination.
Chroot is a method to restrict various tasks to a restricted area e.g. package installation and other system maintenance tasks. Follow the link to read more about chroot on the Arch wiki.
Identify system partitions
From the above we assume you have identified the relevant partitions on your system and this document will refer the partitions as follows. Partitions not needed for this kind of maintenance has intentionally been left out (e.g. home, swap).
Partition | Usage | Comment |
---|---|---|
/dev/sdyA | EFI system | Required for EFI system and mounted on /boot/efi |
/dev/sdyB | boot | Optional but mounted on /boot The primary use is when GRUB cannot write to / (eg. f2fs) |
/dev/sdyC | root | Required and for the root filesystem and mounted on / — usually formatted using ext4 |
Use manjaro-chroot
Manjaro deploys a script called manjaro-chroot takes an optional argument which will search the visible devices — scan the partitions for signs of an operating system. If more than one Linux operating system is found you will get a choice of which system to chroot otherwise the file /etc/fstab from the system is used to mount the partitions and chroot into this system.This script is only available in live iso by default but you can get it in an installed system by installing manjaro-tools-base package.
Manual chroot
(Unnecessary if you have used manjaro-chroot ) Mount the partitions using the designated temporary mountpoint and always start with root
Then — if applicable — mount boot
Then — if applicable — mount efi
Create the chroot environment and use bash as shell
One possible cause why you are reading this document — is an unfinished update — which in turn can be caused by several situations — situation we will not dive into. To fix what ever caused this you should run a full system update including grub to ensure everything is in place.
When the transaction as completed continue below using the section matching your system
BIOS System
On a BIOS/GPT system there is no MBR and therefore no place to store the loader. The GPT partition specification allows for an unformatted partition of the BIOS boot partition type (0xEF02). The size of this partition can be as small as 1 mebibyte. The Calamares installer uses a fixed size of 32 mebibyte. On a BIOS/MBR system a part of the bootloader is written to the Master Boot Record for the primary disk.
The device is the disk (not a partition)
Make sure the grub configuration is up-to-date
Источник
In order to boot Linux, a Linux boot loader such as GRUB needs to be installed. Sometimes, a fresh windows install eats 😋 your grub or the MBR or GPT gets corrupted, erased or misconfigured for various reasons, resulting to missing the capability to boot into your linux installation.
Fortunatelly, there is a way to restore GRUB without re-installing your OS or losing your data. For this, you will need to use your Linux installation media to Restore the GRUB Bootloader.
If you install Manjaro on UEFI system and you need to restore the Grub bootloader, just boot the Manjaro Installation Media and follow me, as I will demonstrate to you in this tutorial how to properly restore it.
{tocify} $title={Table of Contents}
If you do not want to watch the video, which I recommend watching for more details, you just have to follow the following steps
Step1: Install mhwd-chroot
sudo pacman -Sy mhwd-chroot{codeBox}
Step2: Identify the Manjaro installation partition
lsblk -f{codeBox}
Step3: Start mhwd-chroot
sudo mhwd-chroot{codeBox}
Step4: Mount the EFI partition as /boot/efi:
sudo mount /dev/sdXY /boot/efi{codeBox}
P.S: X = Alphabet of the drive Y = Partition number of the EFI partition{alertInfo}
Step5: Re-install Grub
sudo grub-install —target=x86_64-efi —efi-directory=/boot/efi —bootloader-id=manjaro —recheck{codeBox}
Step6: Update Grub configuration file
sudo update-grub{codeBox}
All done! Now close the terminal and reboot your system to use your freshly re-installed GRUB 😌. {alertSuccess}
Let’s know your feeling after getting back your Manjaro
If you find Linux-Tech&More helpful, consider supporting it on Patreon or Liberapay. For supporting it via Paypal & Crypto currencies contact me.{alertIdea}
В этой статье опишем порядок восстановление grub например после неудачной попытки обновления, так же подойдет для всего того из-за чего система могла «умереть»
Для этого нам нужно загрузится с загрузочной флешки с ранее установленной на нее системой Arch или Manjaro Linux
Можете узнать информацию о ваших жестких дисках командой
lsblk
Или
fdisk -l
Например, система имеет следующую разметку:
/dev/sda1 fat32 /boot/efi /dev/sda2 ext4 / /dev/sda3 ext4 /home
Те кто использую обычный биос обычно это /boot, либо вообще без него если вы его не монтировали при установке системы
Нужно примонтировать наши разделы:
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot/efi
Заходим в нашу систему:
arch-chroot /mnt /bin/bash
В Manjaro команду изменили на:
manjaro-chroot /mnt /bin/bash
Так же добавили автоматическое монтирование
manjaro-chroot -a
Обновим корректно систему:
sudo pacman -Syyuu
P.S. Так же можете принудительно, но не обязательно запустить переустановку всех пакетов из официального репозитория.
sudo pacman -S $(pacman -Qnq)
Установим загрузчик если у вас UEFI:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
Установим загрузчик для BIOS:
grub-install /dev/sda
Обновим настройки загрузчика:
grub-mkconfig -o /boot/grub/grub.cfg
Обновим загрузочный RAM диск:
sudo mkinitcpio -P
Выходим из chroot:
exit
Перезагрузка:
reboot
( 4 оценки, среднее 5 из 5 )
Среда, 8 Апрель 2020, 12:38
Многие пользователи компьютером устанавливают на жёсткий диск несколько ОС, чтобы попробовать и выбрать наиболее подходящую под свои запросы и возможности компьютера.
Если после установки Manjaro была установлена другая система Linux, например, Ubuntu; Linux Mint или Fedora и т.п., то загрузчик операционных систем GRUB теперь будет от последней установленной системы Linux.
Но вот незадача, войти в Manjaro будет проблематично, а именно, переключаясь в GRUB на строку с Manjaro и нажатия Enter, система не загружается и на экране появляется примерно вот такое извещение с Kernel panic:
Некоторые пользователи переустанавливают Manjaro, чтобы её загрузчик GRUB был главным, а из GRUB Manjaro, можно загрузиться и в другие системы.
Но переустанавливать Manjaro совсем необязвтельно. Для того чтобы из загрузчика GRUB, например, Ubuntu зайти в систему Manjaro, необходимо прежде переключится на строку Advanced options Manjaro и нажать Enter.
А затем в открывшемся меню выбрать третью строку с fallback initramfs или резервную инициализацию файловой системы и нажать Enter.
Таким образом пользователь совершает вход в систему Manjaro без проблем.
После того как пользователь вошёл в Manjaro, можно восстановить загрузчик GRUB Manjaro следующей командой в терминале:
sudo grub-install /dev/sda
И остаётся только обновить GRUB:
sudo update-grub
Вот и все. Теперь можно перезагрузить компьютер, чтобы убедиться, что система Manjaro находится первой в меню загрузчика GRUB.
Удачи и берегите себя.
P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме:
http://compizomania.54672.x6.nabble.com/GRUB-Manjaro-Linux-td9673.html
Вы можете поделится этой информацией с друзьями в социальных сетях или на страницах Ваших блогов
Комментирование и пинг закрыты.
В данной статье рассматривается процесс восстановления загрузчика GRUB 2.
Причины, по которым может понадобится восстановить GRUB, могут быть разными.
Очень часто требуется восстанавливать GRUB после установки Windows. Если у вас был установлен Linux и вы установили в соседний раздел или на соседний диск Windows, то после перезагрузки компьютера загрузится Windows, как будто Linux вообще пропал. Загрузчик GRUB даже не появился. Иногда подобное происходит при обновлении существующего Windows.
Иногда требуется восстановление GRUB после установки Linux, когда неверно был выбран раздел для установки загрузчика.
Во всех случаях нужно выполнить восстановление загрузчика GRUB. Существуют разные способы восстановления. В данном руководстве рассматривается процесс использованием загрузочного Live-образа Linux. Загрузившись в Live-систему вам нужно будет ввести несколько команд, чтобы выполнить восстановление. Рассматривается способ восстановления без использования сторонних программ.
Также иногда различают процесс восстановления для систем с BIOS и с UEFI. Описанный ниже способ рассматривает оба этих случая. Я тестировал его как на компьютерах с традиционным BIOS, так и с UEFI.
Подготовка
Для восстановления GRUB потребуется загрузочный диск или флешка с дистрибутивом Linux. Если у вас его нет, то нужно скачать образ с дистрибутивом. Например, можно скачать ISO образ Ubuntu.
Для создания загрузочной флешки можно воспользоваться программой Etcher. Она работает в Linux, Windows и MacOS. Подробная инструкция: Как создать загрузочную флешку.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).
На современных компьютерах, где используется BIOS/UEFI, для входа в BIOS нужно при включении компьютера удерживать специальную клавишу. У разных производителей клавиша может быть разной. Обычно это: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя
Открываем терминал
Итак, вы загрузились в Live-режиме. Теперь нужно открыть терминал.
В Ubuntu и некоторых других дистрибутивах это можно сделать нажатием сочетания клавиш Ctrl+Alt+T. Или запустить терминал через меню программ.
Определение разделов
Теперь нужно определить раздел диска, на котором был установлен GRUB.
Выведем список разделов, для этого выполняем команду (в конце команды стоит строчная буква L):
sudo fdisk -l
Вывод fdisk для BIOS
Пример вывода команды:
В моем случае мы видим 2 диска: /dev/sda (SSD диск) и /dev/sdb (флешка, с которой сейчас загружена Live-система).
Нас интересует диск /dev/sda. На диске /dev/sda создано несколько разделов. В моем случае /dev/sda4, на котором установлен Windows, а также 4 раздела с пометкой Linux (см. последний столбец таблицы). У вас скорее всего может быть один раздел Linux (корневой раздел) или два раздела (корневой и home). На одном из этих разделов установлен GRUB.
То есть из таблицы вы должны определить какой раздел является корневым, на нем скорее всего у вас установлен GRUB. В моем случае GRUB установлен в раздел /dev/sda2. Далее по тексту я буду его использовать (вы должны будете указывать свой раздел).
Иногда бывает, что для загрузчика GRUB выделен отдельный раздел (он называется boot-раздел). Если это так, то на следующем шаге вам нужно будет примонтировать корневой раздел и раздел с загрузчиком.
Вывод fdisk для UEFI
Для новых компьютеров с UEFI вывод команды fdisk -l может быть примерно следующим:
Нам нужно определить, на каком разделе установлен Linux (корневой раздел), а также определить EFI-раздел. В моем случае это разделы: /dev/nvme0n1p5 и /dev/nvme0n1p1, которые расположены на диске /dev/nvme0n1.
Монтирование разделов
Примонтируем корневой раздел. Выполняем команду (вместо /dev/sda2 вы должны указать свой раздел):
sudo mount /dev/sda2 /mnt
Мы примонтировали раздел /dev/sda2 в директорию /mnt.
Если для загрузчика у вас выделен отдельный раздел, то нужно примонтировать еще и его (вместо /dev/sdX укажите ваш boot-раздел):
sudo mount /dev/sdX /mnt/boot
Теперь можно посмотреть содержимое директории /mnt, чтобы убедиться, что мы примонтировали верный раздел:
ls /mnt
Вывод команды должен быть примерно следующим. Обратите внимание есть ли в этом списке каталог /boot, так как именно в нем установлен GRUB.
Также можно проверить, что директория boot не пустая:
ls /mnt/boot
У меня вывод команды выглядит следующим образом. Обратите внимание на присутствие каталога с именем grub.
Далее нужно создать ссылки на несколько директорий, к которым GRUB должен иметь доступ для обнаружения всех операционных систем. Для этого выполните команды:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
Монтирование EFI-раздела
Если у вас используется UEFI, то еще нужно примонтировать EFI-раздел в директорию /mnt/boot/efi (выше я указал пример вывода команды fdisk -l в котором показан EFI-раздел):
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
Выполняем chroot на /mnt
На предыдущем шаге мы смонтировали все необходимые директории в директорию /mnt. Теперь переключимся (выполним chroot) на данную директорию. Выполняем команду:
sudo chroot /mnt
Генерация файла конфигурации GRUB
Данный шаг нужно выполнять не всем. Если у вас был установлен GRUB и вы уверены, что его конфигурация верная, то можно перейти к следующему шагу.
Для генерации файла конфигурации GRUB используется команда update-grub. Данная команда автоматически определяет файловые системы на вашем компьютере и генерирует новый файл конфигурации. Выполняем команду:
sudo update-grub
В выводе команды будет показано, какие операционные системы были найдены.
Если вдруг утилита update-grub не определила ваш Windows (у меня такое было для UEFI), то можно будет запустить update-grub повторно уже из вашей Linux-системы, когда вы в нее загрузитесь (мне это помогло и Windows определился).
Устанавливаем GRUB
Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.
Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):
grub-install /dev/sda
https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows
If Ubuntu is installed in EFI mode, and EFI partition UUID has changed, you may need to update it in /etc/fstab. Compare it:
blkid | grep -i efi
grep -i efi /etc/fstab
Перезагрузка компьютера
Выходим из окружения chroot, для этого выполняем команду:
exit
Отмонтируем все разделы, которые мы примонтировали:
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
Если вы монтировали boot-раздел, то его тоже нужно отмонтировать:
sudo umount /mnt/boot
Если вы монтировали EFI-раздел, отмонтируем:
sudo umount /mnt/boot/efi
Отмонтируем корневой раздел:
sudo umount /mnt
Перезагружаем компьютер. Для этого выполняем команду:
reboot
Если во время перезагрузки компьютера меню GRUB не появилось, то это еще не значит, что он не восстановился. Возможно, просто установлена нулевая задержка и меню не показывается. Чтобы показать меню GRUB нужно во время загрузки, после того, как появился логотип материнской платы:
- удерживать клавишу Shift, если у вас классический BIOS;
- нажать Esc, если у вас UEFI.
Если у вас, при выполнении grub-update, не определился Windows и не был добавлен в меню GRUB, то уже загрузившись в вашу систему Linux (не LiveCD), откройте терминал и выполните:
sudo grub-update
Мне это помололо на компьютере, который использует UEFI.
Шпаргалка
Мы рассмотрели процесс восстановления загрузчика GRUB 2. Для удобства привожу краткую шпаргалку по командам, которые мы выполняли. Учитывайте, что названия и имена разделов (/dev/sd…) у вас могут отличаться.
sudo fdisk -l
sudo mount /dev/sda2 /mnt
# sudo mount /dev/sdaX /mnt/boot
# sudo mount /dev/sdaY /mnt/boot/efi
sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
sudo update-grub
grub-install /dev/sda