Как обновить grub archlinux
Перейти к содержимому

Как обновить grub archlinux

  • автор:

Настройка grub на arch

Grub вроде как установил, но он не видит остальные ос, на deb-образных linux другие ос можно было обнаружить командой update-grub, тут как я понял, её нет. Как добавить остальные ос?

stripwire
08.04.19 21:37:54 MSK

gentux ★
( 08.04.19 21:40:19 MSK )

Странно, os-prober должен по умолчанию быть.

sudo pacman -S os-prober

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

, должен подхватить ну и на всякий случай.

sudo pacman -S grub-customizer

One ★★★★★
( 08.04.19 21:40:58 MSK )
Последнее исправление: One 08.04.19 21:43:13 MSK (всего исправлений: 2)

Ответ на: комментарий от gentux 08.04.19 21:40:19 MSK

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

stripwire
( 08.04.19 21:45:22 MSK ) автор топика

Поставил арч, а от убогого жирного груба не избавился? Есть же syslinux, efistub.

anonymous
( 08.04.19 23:07:32 MSK )
Ответ на: комментарий от anonymous 08.04.19 23:07:32 MSK

Впервые слышу о них, но посмотрю, что это.

stripwire
( 09.04.19 09:57:19 MSK ) автор топика
Ответ на: комментарий от anonymous 08.04.19 23:07:32 MSK

Убогий жирный граб — единственный загрузчик, которые может работать с кучей ФС сам и через модули, умеет в ЛВМ, дмкрипт, имеет собственный шел, умеет передавать на ходу параметры ядра, имеет собственный рескью шел, умеет предоставлять доступ к установленному шелу, умеет грузить установочные образы с любых носителей, умеет на ходу устанавливать параметры для загрузки образа, которого нет в установленной конфигурации и еще кучу всего. Другие загрузчики могут часть из этого, но не все сразу. Называть граб убогим и жирным неправильно. В некоторых случаях применение граба оверхед, да, но это до первой поломки/необходимости в лвм/другой фс/шифровании и т.д. Так что установка граба вполне себе оправдана на почти любой системе.

Как обновить Grub в Arch Linux

Для Ubuntu и других систем Linux GRUB (GRand Unified Bootloader) является инструментом загрузчика. Ядро Linux, а также начальный RAM-диск (initrd) загружаются им при старте системы. Если доступно более одной операционной системы или ядра, пользователь может выбрать, какую из них запустить. Кроме того, он предлагает опытным пользователям интерфейс командной строки для непосредственной настройки процедуры загрузки. В этом руководстве мы обсудим методы обновления Grub в системе Arch Linux.

Обновите Arch Linux

Начните со следующей перечисленной команды, которая используется для обновления баз данных пакетов и обновления всех пакетов в системе, работающей на Arch Linux. Флаг -S указывает Pacman синхронизировать (установить или обновить) пакеты. Флаг -y говорит Pacman принять утвердительный ответ на любой вопрос, который он может задать. И флаг -u указывает Pacman также обновить пакеты, которые уже установлены в системе. В выводе видно, что базы данных пакетов для основных, дополнительных и общих репозиториев пакетов уже обновлены.

[ omar @ omar ~ ] $ sudo pacman -Syu

Установить Grub

Теперь, если grub еще не установлен, мы устанавливаем его с помощью пакета «grub» в команде Pacman. Флаг -S указывает Pacman синхронизировать (установить) пакет. В выводе видно, что пакет «grub» уже обновлен, и команда переустанавливает пакет. Затем он переходит к установке пакета «grub». Он проверяет наличие конфликтов файлов и доступное место на диске.

[ omar @ omar ~ ] $ sudo pacman -S grub

Обновите Grub с помощью настройщика Grub

Файл «/etc/default/grub» — это файл конфигурации для загрузчика GRUB, который используется для управления процедурой загрузки системы. Он содержит различные параметры и настройки, которые определяют, как ведет себя GRUB и какие параметры предоставляются пользователю во время загрузки. Важно соблюдать осторожность при редактировании этого файла, так как ошибки или использование неправильных настроек могут привести к тому, что система не сможет загрузиться. После внесения в него изменений сохраните его с помощью Ctrl+S.

[ omar @ omar ~ ] $ sudo nano / etc / default / grub

Grub-customizer — это инструмент с графическим интерфейсом для настройки параметров и внешнего вида grub2/burg. Это позволяет пользователям редактировать пункты меню, обновлять файл конфигурации GRUB, изменять фоновое изображение и многое другое, что обеспечивает простой в использовании интерфейс для управления процессом загрузки. Следующая команда используется для установки пакета «grub-customizer» в системе, работающей на Arch Linux. В выводе вы видите, что Pacman устанавливает пакет «grub-customizer». Затем Pacman проверяет доступное место на диске и обрабатывает изменения пакета.

[ omar @ omar ~ ] $ sudo pacman -S grub-customizer

Теперь найдите приложение Grub Customizer в области активности вашей системы, как показано на следующем рисунке. Затем откройте его.

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

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

На вкладке «Настройки внешнего вида» вы можете найти настройки, касающиеся внешнего вида вашей системы Linux. После внесения изменений сохраните и закройте настройщик Grub.

Файл загрузчика GRUB2 «grub.cfg» создается командой grub-mkconfig на основе настроек в файле /etc/default/grub и файлов в каталоге /etc/grub.d. Создав файл grub.cfg, вы можете убедиться, что загрузчик вашей системы настроен правильно и включает в себя последние изменения, которые вы внесли в параметры загрузки вашей системы с помощью Grub Customizer.

[ omar @ omar ~ ] $ sudo grub-mkconfig -o / boot / grub / grub.cfg

Использование репозитория Update-Grub

Если предыдущий способ покажется вам сложным и долгим, вы можете переключиться на установку репозитория update-grub из Git. Следующая команда используется для установки пакетов «git» и «base-devel» в Arch Linux. «base-devel» — это группа пакетов, которые обычно используются для сборки и компиляции программного обеспечения из исходного кода в Arch Linux. Команда просит пользователя подтвердить установку и показывает общий размер устанавливаемых пакетов и размер чистого обновления. Как только пользователь подтвердит y, команда продолжит установку.

[ omar @ omar ~ ] $ sudo pacman -S git base-devel

Следующая команда используется для загрузки копии пакета с именем «update-grub» из системы контроля версий Git. Пакет загружается в новый каталог с именем «update-grub» в текущем рабочем каталоге. Процесс загрузки пакета называется клонированием. Он включает в себя несколько шагов, таких как перечисление объектов, подсчет объектов, сжатие объектов, повторное использование объектов и получение объектов. После загрузки пакета вы можете применить его, перейдя в каталог update-grub.

[ omar @ omar ~ ] $ git clone https: // aur.archlinux.org / update-grub.git

Папку update-grub можно найти в текущем рабочем каталоге Arch Linux с помощью команды ls.

[ omar @ omar ~ ] $ ls
Desktop Downloads Pictures Templates docker-git update-grub
Documents Music Public Videos index.jpg yay

Следующая команда «cd update-grub» изменяет текущий рабочий каталог на каталог клонированного репозитория.

[ omar @ omar ~ ] $ cd update-grub

Последняя команда makepkg -sri используется для сборки и установки пакета из клонированного репозитория с помощью утилиты makepkg. Флаг «-s» предназначен для сборки пакета со всеми зависимостями. Флаг «r» предназначен для установки пакета после его сборки. И флаг «i» означает, что пакет не должен быть отправлен без запроса подтверждения.

[ omar @ omar update-grub ] $ makepkg -sri

Следующая команда использует вспомогательную программу AUR «yay» для установки пакета «update-grub» из пользовательского репозитория Arch (AUR). Сначала команда проверяет наличие конфликтов пакетов и внутренних конфликтов. Затем он перечисляет найденный пакет (update-grub 0.0.1-7) и предлагает пользователю подтвердить установку.

[ omar @ omar update-grub ] $ yay -S update-grub

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

[ omar @ omar update-grub ] $ sudo update-grub

Заключение

Введение в руководство позволяет узнать об использовании Grub в различных операционных системах, подобных Linux. Это говорит о том, как важно использовать его для начальной загрузки. После этого мы установили Grub в Arch Linux и обсудили два разных способа его обновления один за другим, используя настройщик grub и репозиторий Git update-grub. Использование файла конфигурации grub показывает, как вы можете вносить изменения, а затем сохранять их для начальной загрузки.

Все права защищены. © Linux-Console.net • 2019-2024

Как обновить загрузчик GRUB в Arch Linux и производных дистрибутивах (Manjaro, BlackArch)

Загрузчик операционной системы GRUB устанавливается и обновляется в Linux как и любой другой пакет программного обеспечения. Но особенностью загрузчика является то, что даже после обновления пакета, фактически работающие файлы загрузчика, которые находятся в разделе, монтируемом по пути /boot/grub/, не обновляются автоматически.

То есть при выходе новых версий GRUB, пакет в вашей ОС обновляется автоматически.

Но сам загрузчик, который устанавливается на отдельном разделе диска и монтируется по пути /boot/grub/, не обновляется.

Чтобы начать использовать новые функции, которые добавлены в новые версии GRUB, вам нужно вручную обновить загрузчик.

Когда нужно обновлять загрузчик GRUB в /boot/grub/

Сигналом, что вышла новая версия GRUB, является примерно следующее сообщение:

(3/4) upgrading grub [######################] 100% :: To use the new features provided in this GRUB update, it is recommended to install it to the MBR or UEFI. Due to potential configuration incompatibilities, it is advised to run both, installation and generation of configuration: $ grub-install . $ grub-mkconfig -o /boot/grub/grub.cfg

В этом сообщении говориться, чтобы использовать новые функции, представленные в этом обновлении GRUB, рекомендуется установить его в MBR или UEFI. Из-за потенциальной несовместимости конфигурации рекомендуется выполнить как установку, так и создание конфигурации. А также даны примерные команды.

То есть если вы видите это сообщение, значит вам нужно обновить загрузчик в /boot/grub/.

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

В Arch Linux и производных дистрибутивах пакет GRUB может быть установлен, но при этом не используется, поскольку загрузчиком является systemd-boot.

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

ls -l /boot/grub/grub.cfg

Если файл /boot/grub/grub.cfg найден, значит используется GRUB, если файл grub.cfg не найден, значит GRUB не используется и обновлять его не нужно. То есть не нужно выполнять действия, показанные в данной статье!

Как обновить загрузчик GRUB в /boot/grub/

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

grub-install --recheck /dev/DISK

Где в качестве /dev/DISK нужно указать имя вашего диска.

Имена дисков можно проверить командой:

fdisk -l
Disk /dev/vda: 30 GiB, 32212254720 bytes, 62914560 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4b23ea92 Device Boot Start End Sectors Size Id Type /dev/vda1 * 2048 411647 409600 200M 83 Linux /dev/vda2 411648 62914559 62502912 29.8G 83 Linux

В данном случае именем диска является /dev/vda. Обратите внимание, что /dev/vda — это не загрузочный или какой-то другой раздел — это весь диск.

Итак, команда для обновления GRUB в /boot/grub/ в моём случае следующая:

grub-install --recheck /dev/vda

Также необходимо создать новый файл конфигурации следующей командой:

grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file . Found linux image: /boot/vmlinuz-linux Found initrd image: /boot/initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings . done

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

Близкие статьи

  • Обновление загрузчика systemd-boot в /boot (25%)
  • Как в Arch Linux поменять операционную систему загружаемую по умолчанию (для UEFI и systemd-boot) (25%)
  • Как в Arch Linux перейти к предыдущей версии ядра. Как установить и переключиться на linux-lts (18.8%)
  • Обновление списка зеркал pacman в Arch Linux (6.3%)
  • Как найти самые быстрые зеркала Arch Linux и BlackArch (6.3%)
  • Ошибки «Incorrect definition of table mysql.event: expected column ‘definer’ at position 3 to have type varchar(, found type char(141)» и «Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler» (РЕШЕНО) (RANDOM — 6.3%)

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

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

Использование 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 для этой процедуры.

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

Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *