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

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

From Manjaro
Revision as of 09:38, 2 February 2023 by Krotesk (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎français • ‎русский

Обзор

Для загрузки операционной системы необходимо установить загрузчик, поддерживающий 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 по умолчанию
Имя по-умолчаниюПароль по-умолчанию
manjaromanjaro
rootmanjaro

Идентификация разделов

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

Посмотрите также

Cookies help us deliver our services. By using our services, you agree to our use of cookies.