- Ubuntu66.ru — новости, уроки, помощь, поддержка.
- GRUB/Restore the GRUB Bootloader
- Содержание
- Identify system partitions
- Manual chroot
- Use manjaro-chroot
- BIOS System
- compizomania
- Страницы
- 08 апреля 2020
- Как восстановить загрузчик GRUB Manjaro после установки другой системы Linux?
- Восстановление загрузчика GRUB в Linux
- Почему «ломается» загрузчик GRUB?
- Способы восстановления GRUB
- Загрузка и восстановление с помощью LiveCD
- Монтирование корневого и загрузочного раделов
- Подготовка программной среды для работы
- Восстановление загрузчика
- Загрузка из командной консоли GRUB
- Определение и выбор раздела загрузки
- Ручная загрузка ядра
- Заключение
Ubuntu66.ru — новости, уроки, помощь, поддержка.
Многие пользователи компьютером устанавливают на жёсткий диск несколько ОС, чтобы попробовать и выбрать наиболее подходящую под свои запросы и возможности компьютера.
Если после установки 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.
Удачи и берегите себя.
P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме:
http://compizomania.54672.x6.nabble.com/GRUB-Manjaro-Linux-td9673.html
Ссылка на источник compizomania
08-04-2020.
Источник
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 |
Manual 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
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.
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
Источник
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 в Linux
Загрузчик GRUB является универсальным, гибким и достаточно надёжным инструментом для организации загрузки операционных систем (ОС). Однако при наличии некоторых обстоятельств и факторов. От которых не застрахована ни одна система. Могут возникать сбои, в результате которых загрузка системы может быть некорректной или вовсе невозможной. Если в данном случае точно установлено, что система не загружается из-за неработоспособности самого загрузчика. То в данной ситуации далеко не всё так сложно и безнадёжно. Как может показаться некоторым неопытным пользователям или системным администраторам. В большинстве случаев загрузку системы можно довольно быстро и относительно легко восстановить, не прибегая к переустановке системы. Для этого существуют давно проверенные способы, о которых будет рассказано в данной статье.
Почему «ломается» загрузчик GRUB?
Естественно, само по себе ничего не происходит. Если «сломалась» загрузка GRUB – значит что-то на это повлияло. Очень часто в подобных ситуациях пользователи говорят, что системную конфигурацию не изменяли, а GRUB вдруг перестал работать. И они отчасти правы.
На самом деле GRUB довольно чувствителен к любому изменению как своей, так и системной конфигурации, каким бы универсальным и удобным он ни был. Так, например, изменение идентификатора раздела, хранящего ядра (/boot), уже приведёт к невозможности загрузки системы. И GRUB здесь и ни причём. Нужно искать причину, по которой изменился идентификатор раздела. А они могут быть самыми разными. К примеру, даже если компьютер долгое время не использовался и на его платы не подавалось питание. То это также может быть причиной сброса некоторых настроек BIOS (по причине севшей батареи). Что может привести при последующем после длительного перерыва включении переопределению параметров оборудования. От которых зависит, в некоторых случаях, и идентификатор раздела. Это лишь одна из причин неработоспособности GRUB, самая неочевидная, которую не могут предусмотреть ни разработчики GRUB, ни создатели системных плат.
Наличие ошибок на разделах диска, человеческий фактор (особенно среди малоопытных пользователей) также очень часто являются причиной неработоспособности GRUB. Главное, что нужно понимать — это то, что в большинстве случаев причиной является внешний фактор. A GRUB – это довольно уязвимое место, чувствительное практически к любым внешним воздействиям, поскольку это программная среда, организующая передачу управления компьютером от BIOS (UEFI) к ОС.
Способы восстановления GRUB
В данной статье будут рассмотрены два самых эффективных способа восстановления GRUB:
- с помощью LiveCD/DVD – самый «народный» метод, с ним вполне справляются новички;
- работа в командной консоли GRUB – ручная загрузка системы и восстановление GRUB «родной» системной среды, очень полезно, когда нет возможности воспользоваться LiveCD/DVD или другим загрузочным устройством.
Как нетрудно догадаться, восстановление GRUB напрямую связано с загрузкой системы. Основная работа по восстановлению именно в этом и заключается — загрузить родную системную среду альтернативными способами или вручную. Далее, в подавляющем большинстве случаев, восстановление GRUB осуществляется одной командой:
Существуют также и другие команды:
Последние стоит использовать, если не помогла команда grub-update. Первая из них устанавливает сам загрузчик GRUB на указанное устройство (не на раздел!). В данном случае вместо sdN может быть sda, sdb, и т. д. Но никак не sda1, sdb2 (т. е. на разделы — числовой индекс в конце означает номер раздела на устройстве) и т. д. — это очень важно, поскольку GRUB устанавливается только на устройство.
Вторая команда создаёт конфигурационный файл GRUB исходя из текущей конфигурации системы. Анализируется информация о количестве имеющихся в системе ядер, их версий и т. д. В результате формируется оптимальная и безопасная конфигурация загрузки системы. Если ядер несколько, то будет сформирован список, который может быть доступен (в меню загрузки GRUB) для выбора определенного ядра для загрузки. По-умолчанию GRUB загружает ядро самой свежей версии.
Как можно видеть, ничего сложного в восстановлении/установке GRUB нет. Теперь можно перейти к рассмотрению альтернативных способов, собственно, загрузки системной среды для восстановления GRUB.
Примечание: вместо команд grub-install и grub-mkconfig могут использоваться команды grub2-install и grub2-mkconfig соответственно. Это зависит от используемой системы (дистрибутива).
Загрузка и восстановление с помощью LiveCD
При использовании любого из альтернативных вариантов загрузки «родной» системы очень полезно сначала узнать (или убедиться), с какого устройства происходит загрузка. Необходимо заранее это выяснить в настройках BIOS компьютера. Это необходимо, если придётся не просто обновить конфигурацию загрузчика, а полностью его переустановить. А для этого очень желательно устанавливать его на то устройство, которому из BIOS передаётся управление для дальнейшей загрузки ОС. Для BIOS материнских плат MSI это выглядит примерно следующим образом:
Рис. 1: BIOS MSI — просмотр и настройка приоритета устройств для загрузки системы.
Как можно видеть, для данной системы загрузочным устройством является SSD-накопитель «Samsung SSD 860 EVO 250 GB». А пока это наименование можно запомнить или где-нибудь записать.
Теперь можно загрузиться с любого Live-образа используя для этого оптический CD/DVD-диск или накопитель USB-Flash. Опуская технические подробности, важно заметить, что для этого должны быть сделаны соответствующие настройки в BIOS компьютера. В качестве Live-образа рекомендуется использовать ту же систему, что и установлена на компьютере.
Итак, загрузившись в Live-режиме, первым делом следует запустить командную консоль. Далее, необходимо определить корневой раздел системы, для которой нужно восстановить загрузчик. Это нужно, чтобы войти в программную среду «родной» системы из непосредственно Live-режима и использовать весь доступный инструментарий, в том числе и команды по восстановлению GRUB.
Монтирование корневого и загрузочного раделов
С помощью команды fdisk определяем какой раздел и на каком устройстве используется родной системой как корневой:
Как можно видеть, в системе два диска — sda и sdb. Тут нужно сориентироваться и вспомнить, как размечался диск изначально при установке системы. И определить по данным вывода, какой раздел является корневым. В данном случае это раздел sda2. Его теперь нужно примонтировать командой mount:
Необходимо также примонтировать и раздел /boot. Но очень важно заметить, что если в качестве /boot используется отдельный раздел (а не подкаталог в корневом разделе, как в большинстве современных дистрибутивов, например Ubuntu), то его монтирование будет выглядеть следующим образом:
В данном случае последняя команда приведена условно, как пример. На самом деле файлы загрузчика для данного примера хранятся в подкаталоге /boot, который уже был примонтирован от sda2, и поэтому в последней команде в данном случае нет необходимости.
Подготовка программной среды для работы
Поскольку в Live-режиме загружено и работает ядро Live-системы, то оно же будет использоваться и для работы с примонтированными разделами (корневой и /boot). Но для этого необходимо к корневому разделу родной системы (которая уже смонтирована в /mnt) также примонтировать и другие файловые системы (ФС), без которых ядро Live-системы не сможет корректно работать — /sys, /dev и /proc, они же необходимы для взаимодействия с ядром. Другими словами, загруженное из Live-образа ядро нужно настроить на полноценную работу с корневой ФС родной системы, добавив к ней ФС из Live-системы:
Далее необходимо определить программное окружение среды, указав каталог /mnt и интерпретатор команд:
Эта команда указывает, где должны выполняться команды и какое программное окружение для этого должно использоваться. В данном случае, теперь ядро Live-образа может полноценно работать с ФС родной системы. Используя все её пакеты, команды, файлы и прочие доступные ресурсы.
Восстановление загрузчика
Теперь нужно обновить MBR (главную загрузочную запись) диска, установив на него загрузчик GRUB. Здесь и нужно вспомнить, какой диск является загрузочным, исходя из конфигурации BIOS. Поскольку ранее это уже было определено, то теперь остаётся узнать, как это устройство обозначается в системе. Для этого полезно выполнить следующий скрипт:
Данный скрипт отработает, если в родной системе установлена утилита hdparm. Но поскольку в большинстве Linux-дистрибутивов она предустановлена и доступна «из коробки», то беспокоиться не о чем.
Как можно видеть, устройству «Samsung SSD 860 EVO 250GB», который ранее был определён как загрузочный, соответствует его определение в системе как /dev/sda . Именно на него и следует производить установку GRUB:
Создание файла конфигурации GRUB:
Ну и напоследок можно выполнить:
Если при выполнении команды grub-install возникают какие-либо ошибки, то можно выполнить её с ключом —recheck. Если же всё нормально, то можно выйти из режима chroot командой:
Далее необходимо отмонтировать все ранее примонтированные устройства и ФС:
Если /boot монтировался из отдельного раздела, то его также необходимо отмонтировать:
Ну и наконец, необходимо отмонтировать также и корневой раздел:
Далее можно перезагрузиться без Live-образа (сделав соответствующие настройки в BIOS и снова указав в качестве загрузочного «Samsung SSD 860 EVO 250GB»). И проверить, что GRUB загружает родную систему.
Загрузка из командной консоли GRUB
Иногда бывает так, что GRUB установлен, но в результате каких-либо сбоев его рабочая конфигурация была повреждена и загрузка ОС в штатном режиме невозможна. Обычно в таких случаях в меню GRUB появляются сообщения об ошибках с приглашением перейти в режим командной консоли загрузчика по нажатию клавиши «C». В этом режиме GRUB предоставляет довольно большой набор полезных команд. С помощью которых можно, в частности произвести ручную загрузку системы. Эти же команды, кстати, выполняются загрузчиком при чтении его файла конфигурации.
Рис. 2: Внешний вид командной консоли GRUB.
Итак, первое, что нужно сделать после входа в командную консоль GRUB – это выполнить команду ls. В результате будет выведен список всех доступных в системе дисков и разделов.
Определение и выбор раздела загрузки
Однако, обозначает GRUB разделы по-своему. Например вместо привычного sda4 будет (hd0,gpt2), а вместо sdb1 будет (hd1,gpt3). Таким образом, как можно видеть, устройства в формате GRUB нумеруются цифрами, так же как и разделы. Но разделы нумеруются в обратном порядке. Например на устройстве sda с пятью разделами, разделу sda2 в формате GRUB будет соответствовать запись (hd0,gpt4), sda1 – (hd0,gpt5) и т. д. Этот принцип можно и нужно брать на вооружение при работе с разделами в командной консоли GRUB. Ведь для ручной загрузки системы необходимо правильно определить и указать корневой раздел или раздел /boot .
Примечание: префикс «gpt» в обозначении разделов в формате GRUB может быть другим. Например «msdos» (когда GRUB не смог определить тип разметки), но в данном примере разделы размечены в формате GPT.
Если известно, что /boot находится на разделе sda2, у которого пять разделов. То с большой степенью вероятности это будет (hd0,4) в формате GRUB. Префикс «gpt» для раздела можно не указывать. Ну а если же изначальную структуру разделов вспомнить или определить не представляется возможным. То остаётся только перебирать или угадывать.
Команда ls выведет примерно следующее:
Эта информация и должна помочь быстрее угадать, на каком разделе находится /boot .
Важно заметить, что если «угадано» верно, то будет загружена родная система так, как она загружалась в штатном режиме.
Ручная загрузка ядра
Пусть для ручной загрузки выбран раздел (hd0,4) — т. е. sda2. Нужно задать этот раздел в качестве корневой файловой системы:
Подключение модулей для работы с ФС Ext2/3/4:
Для других типов ФС нужно подключать соответствующие модули: bfs, xfs или zfs.
Подключение модуля normal для полноценного запуска и работы GRUB:
Если после этих команд штатная загрузка не начнётся, то остаётся её продолжить вручную. Для этого нужно попытаться найти доступные ядра и выбрать нужное для загрузки. Для этого следует ввести команду linux /boot/vmlinuz и нажать клавишу :
Рис. 3: Определение доступных ядер и выбор нужного для загрузки с помощью команды «linux».
Как можно видеть, команда linux обнаружила в системе два ядра. И автоматически подготовила следующую команду для выбора нужного. Остаётся только дописать «1-generic», если нужно загрузить ядро версии 4.18.0-21-generic. Указать корневой раздел и выполнить команду:
Важно заметить, что указывается тот же корневой раздел, что и в команде set root, только уже в классическом формате.
Далее, нужно указать соответствующий образ ядра. В котором содержится всё необходимое для инициализации и создания программной среды для его работы, с помощью команды initrd:
Теперь всё готово, можно выполнить загрузку:
Если всё сделано правильно и выбран нужный раздел загрузки, то будет загружена «родная» система так, как это происходит в штатном режиме. Ведь всё, что было проделано вручную — это основной набор команд, хранящихся в файле /boot/grub/grub.cf g и выполняемых GRUB автоматически.
Далее, в загруженной системе нетрудно восстановить работу загрузчика с помощью инструкций, приведенных выше.
Заключение
В заключение необходимо напомнить, что были рассмотрены наиболее распространённые неполадки в работе загрузчика GRUB, а также причины их появления. На примерах были подробно рассмотрены основные и самые доступные способы восстановления работы GRUB.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник