Oracle linux rescue mode

How to Boot Oracle Linux 7 into Rescue and Emergency Modes via systemd (Doc ID 2153996.1)

Last updated on JUNE 23, 2021

Applies to:

This article describes how to configure Oracle Linux 7 (OL7) to boot into rescue and emergency modes.

In OL7, both rescue mode and emergency mode are systemd targets (that replace runlevels of previous OL versions).

Rescue mode is equivalent to single user mode and requires the root password.

Rescue mode allows the system to be repaired in situations when it is unable to complete it’s regular boot process. Rescue mode attempts to mount all local filesystems and start important system services, however does not activate network interfaces, nor allow multiple users to be logged in.

Emergency mode provides a minimal environment allowing the system to be repaired even in situations when the system is unable to enter rescue mode. In emergency mode, the system mounts the root file system as read-only, does not attempt to mount other local fileystems and does not activate network interfaces.

In the event that Oracle Linux is unable to completely boot at all, refer toВ How to Bootup Oracle Linux 7.x into Rescue Mode From ISO Image.

Solution

To view full details, sign in with your My Oracle Support account.

Don’t have a My Oracle Support account? Click to get started!

In this Document

Goal
Solution
Booting into Emergency mode (target)
Booting into Rescue mode (target)
Booting to systemd Debug Shell
Switching to Emergency mode (target)
Switching to Rescue mode (target)
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.

Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. пїЅ Oracle | Contact and Chat | Support | Communities | Connect with us | | | | Legal Notices | Terms of Use

Источник

CentOS / RHEL 7 : How to boot into Rescue Mode or Emergency Mode

The post explains how to bootup RHEL 7 system into rescue mode or emergency mode. In RHEL7, both rescue mode and emergency mode are systemd targets which replaced the concept of runlevels in previous linux versions.

Rescue mode

Rescue mode is equivalent to single user mode and requires the root password. Rescue mode allows you to repair your system in situations when it is unable to complete a regular booting process. Rescue mode will try to mount all local file systems and start some important system services, but it does not activate network interfaces neither allow multiple users to be logged in.

Emergency mode

Emergency mode provides the most minimal environment possible and allows you to repair your system even in situations when the system is unable to enter rescue mode. In emergency mode, the system mounts the root file system as read-only, does not attempt to mount any other local file systems, does not activate network interfaces.

Bootup into Emergency mode(target)

1. During bootup, when the GRUB2 menu shows up, press the e key for edit.

Читайте также:  Не идет установка windows server

2. Add the following parameter at the end of the linux16 line :

Press Ctrl+a (or Home) and Ctrl+e (or End) to jump to the start and end of the line.

3. Press Ctrl+x to boot the system with the parameter.

Bootup into Rescue mode(target)

There are 2 ways to get into rescue mode :
1. Method 1
There is a GRUB2 menu option when you boot up the system which can be selected to directly boot into rescue mode.

2. Method 2
1. During bootup, when the GRUB2 menu shows up, press the e key for edit.

2. Add the following parameter at the end of the linux16 line:

Press Ctrl+a (or Home) and Ctrl+e (or End) to jump to the start and end of the line.

3. Press Ctrl+x to boot the system with the parameter.

Switch to Emergency mode(target)

To switch to Emergency target, simply run following command as root:

To prevent systemd from sending informative message:

Switch to Rescue mode(target)

To switch to rescue target, simply run following command as root:

To prevent systemd from sending informative message:

Источник

⛑️ Как загрузить в Rescue Mode и Emergency Mode через Systemd в CentOS / RHEL 7 и 8

В этой статье объясняется, как загрузить систему CentOS / RHEL 7 и 8 в режим восстановления или аварийный режим.

В CentOS / RHEL 7 и 8 режим восстановления ( Rescue ) и аварийный режим ( Emergency ) являются системными целями, которые заменили концепцию уровней запуска в предыдущих версиях CentOS / RHEL.

Режим восстановления эквивалентен однопользовательскому режиму и требует пароля root.

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

Режим восстановления попытается смонтировать все локальные файловые системы и запустить некоторые важные системные службы, но он не активирует сетевые интерфейсы и не позволяет входить нескольким пользователям.

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

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

Загрузка в аварийный режим

1. Во время загрузки, когда появляется меню GRUB2, нажмите клавишу e для редактирования.

2. Добавьте следующий параметр в конец строки linux16 в системах x86-64 или строку linuxefi в системах UEFI:

Нажмите Ctrl + a (или Home) и Ctrl + e (или End), чтобы перейти к началу и концу строки.

3. Нажмите Ctrl + x, чтобы загрузить систему с параметром.

Загрузка в режим Rescue

1. Во время загрузки, когда появляется меню GRUB2, нажмите клавишу e для редактирования.

2. Добавьте следующий параметр в конец строки linux16 в системах x86-64 или строк

в системах UEFI: Нажмите Ctrl + a (или Home) и Ctrl + e (или End), чтобы перейти к началу и концу строки.

3. Нажмите Ctrl + x, чтобы загрузить систему с параметром.

Загрузка в Debug Shell

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

Попав в этот шелл, команды systemctl, такие как systemctl list-jobs и systemctl list-unit, могут использоваться для диагностики проблем с загрузкой.

Во время загрузки, когда появляется меню GRUB2, нажмите клавишу e для редактирования.

Добавьте следующий параметр в конце строки linux16 в системах на базе BIOS x86-64 или в строке linuxefi в системах UEFI:

Источник

CentOS / RHEL 5 : How to Boot into Rescue Mode

It is possible to boot Linux in rescue mode using the installation media and bypassing the disk. During the rescue session, you can choose a network. Once the system is up, you will have access to the disk. Follow the below steps to boot in rescue mode:

1. Boot from the Linux Installation Media (this may require you to change the bios to boot from dvd).

2. Choose Rescue Mode by typing the following at the boot prompt and pressing [Enter]:

3. Choose the Language – Select desired language using arrow keys then press enter.

4. Choose Keyboard Type – Select desired keyboard type using arrow keys then press enter.

Читайте также:  Windows 10 интерфейс обзор

5. Network Interfaces – The network interfaces are unnecessary. Use arrow keys to highlight No then press enter.

6. Choose to mount the filesystem automatically. or choose to Skip mounting current system if you intend to fsck the disk (a filesystem that will be checked must be unmounted).

You are currently in Rescue Mode. If you allowed it, your root filesystem should be mounted as the /mnt/sysimage directory. For example, your /etc/fstab will be present at the /mnt/sysimage/etc/fstab location.

7. You can switch contexts so all the files will be available at their usual locations:

Although you are accessing the user-space files of your root filesystem, remember that you are still using the boot environment (such as the kernel and device inventory) from the rescue mode. Commands such as df or mount may not give the expected results. Leave the chroot context by using exit twice: once to exit the chroot and again to exit rescue mode and reboot:

Источник

Booting from Hard Disk error, Entering rescue mode

Пример решения проблемы, от которой холодок пробегает по коже, когда ее видишь на рабочем сервере в продакшене. После плановой перезагрузки виртуальная машина не загрузилась, показав ошибку и перейдя в grub rescue. Я уже не первый раз сталкиваюсь с подобным и примерный план восстановления в голове присутствует. Делюсь информацией с вами.

Введение

Есть сильно нагруженная виртуальная машина, для которой нужно было добавить ядер и оперативной памяти. Аптайм у нее был примерно пол года. Ничего не предвещало беды. Я предупредил, что простой будет секунд 30 и ребутнул машину. Как только увидел консоль виртуалки, понял, что дальше начинается веселье с непредсказуемым результатом. Адреналина добавила информация от разработчиков, что бэкапов у них нет 🙂

Для тех, кто еще не знаком с подобным, поясню. Начальный загрузчик не смог найти /boot раздел для продолжения загрузки. Вместо этого он сообщил, что раздел с указанным lvmid, где располагается boot, он не видит и дальше загрузиться не может. Машина находится в режиме grub rescue. Причин появления этого режима может быть много. Мне всегда приходится с чем-то новым сталкиваться, но методика решения проблемы примерно одна, и я дальше о ней расскажу. А потом поясню, что было с этой конкретной виртуалкой.

grub rescue

В grub rescue mode доступно всего четыре команды:

Для начала воспользуемся командой ls и посмотрим, какие разделы видит grub.

В моем случае несколько отдельных разделов диска и lvm том. К слову сказать, в моем случае раздел /boot расположен на lvm разделе, но по какой-то причине загрузчик не смог с него загрузиться. У вас может вообще не быть lvm, а проблема в чем-то другом. Например, если у вас в grub.cfg указан UUID раздела, с которого надо грузиться (это может быть массив mdadm), а раздел этот по какой-то причине исчез, или изменил свой uuid, вы как раз получите эту ошибку.

Сейчас нам нужно найти раздел, на котором расположен загрузчик. Первая часть загрузчика, которая записана в MBR диска очень примитивная и почти ничего не умеет. Она даже разделы диска толком не определила, решив почему-то, что там файловая система msdos, хотя это не она. Нам нужно проверить все разделы диска hd0 и найти реальный загрузчик. Проверяем это командами:

Я нашел на msdos1 искомый раздел /boot. Понял это по содержимому. В разделе есть директория /grub, где располагается вторая часть загрузчика. Искомая директория может называться /grub2 или /boot/grub. Указываем загрузчику использовать этот раздел при выполнении дальнейших команд.

Далее загружаем необходимые модули. Какие будут нужны, зависит от конкретной ситуации. На всякий случай показываю самые популярные:

Начать стоит вообще без модулей, а потом добавлять, в зависимости от вашей ситуации. В завершении загружаем модуль normal и вводим одноименную команду:

После этого вы должны увидеть стандартное меню загрузчика grub. Дальше вы загрузитесь в операционную систему.

Обновление загрузчика

Дальнейшее решение проблемы с загрузкой будет зависеть от того, что у вас сломалось. Возможно будет достаточно просто переустановить загрузчик:

Читайте также:  Windows 10 original release

Эта команда переустановит в MBR код загрузчика, который будет подхватывать тот раздел /boot, с которого вы в данный момент загрузились. Если это не поможет, то внесите необходимые изменения в в конфиг grub и пересоздайте его командой:

А после этого установите на диск:

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

Почему система не загрузилась

Теперь рассказываю, что было в моем случае. Корень системы / располагался на lvm разделе вместе с /boot разделом. В какой-то момент корневой раздел был увеличен в размере за счет расширения тома lvm еще одним диском. Все это было сделано на лету, без перезагрузки системы. Причем сделано было мной давно, и с тех пор сервер ни разу не перезагружался до настоящего времени. Я не знаю почему, но данная операция привела к тому, что grub перестал загружаться с этого lvm раздела.

UUID физического тома и логического раздела не поменялись. То есть там информация, в начале загрузки, с ошибкой загрузки диска с lvmid, верная. Уиды правильные. Я понял, что причина в изменении размера диска только по аналогичным сообщениям в интернете. Наткнулся на несколько человек, которые обращались с похожей проблемой, где перед этим они тоже изменяли корневой раздел. Похоже это какой-то системный баг, возможно даже конкретной системы.

В моем случае на диске почему-то оказался отдельный раздел на 500 мб с файловой системой ext2. На нем как раз и был загрузчик, с которого я загрузился в rescue boot. Откуда взялся этот раздел, я не знаю. По идее, если он был создан автоматически во время установки системы, на нем бы и должен быть актуальный раздел /boot. Но нет, его не было в fstab и он не использовался. Я не стал долго разбираться, почему так получилось, а просто подмонтировал этот раздел в систему, обновил на нем grub и записал обновленный grub в MBR. После этого система благополучно загрузилась с этого раздела.

Если кто-то знает, почему мой загрузчик не смог загрузиться с lvm раздела, при том, что uuid указан правильно, прошу подсказки. Самому очень интересно, так как ситуация получилась неприятная и совершенно мне не понятная. Я часто расширяю корневой lvm раздел на ходу, но первый раз сталкиваюсь с тем, что это приводит к поломке загрузчика. Grub уже давно умеет грузиться с lvm раздела и каких-то дополнительных действий для этого делать не надо.

Что еще предпринять, чтобы починить загрузку

Если ничего из описанного не помогает, то дальше могут быть такие варианты:

  1. У вас проблемы с самими данными на разделе. Раздел /boot или корневой, просто не читаются, уничтожены или развалилась файловая система. Попробуйте починить с помощью fsck.
  2. Если починить /boot не получилось, то его нужно создать заново. Загрузитесь с livecd. Найдите раздел с загрузчиком, либо создайте новый. Отформатируйте его, установите на него загрузчик и запишите его в MBR с указанием на вновь созданный раздел.

Если ничего не помогло и вы не понимаете, что нужно сделать, то посмотрите вот это руководство по grub. Здесь очень хорошо и подробно все описано.

Еще совет. Если у вас живы сами данные, то зачастую бывает проще настроить новую виртуалку, подключить к ней диск от старой и перенести все данные. Так вы точно сможете спрогнозировать время восстановления системы. Обычно за час на все про все можно уложиться. Когда вы начинаете чинить упавшую систему, никогда точно не знаете, сколько времени уйдет на восстановление. В моем случае я загрузку за 30 минут и запустил машину. Потом еще 2 часа разбирался на копии виртуальной машины, что случилось и пытался найти решение проблемы без переустановки виртулаки. Получил некоторый опыт, но если бы я сразу все перенес на новую виртуальную машину, то потратил бы меньше времени.

Источник

Оцените статью