With linux 0 rescue

Не загружаются никакие ядра кроме rescue

Здравствуйте. ЕСть сервер на centos7, система установлена на raid1 (не LVM, просто софтовый raid1). Сиситема работала на ядре 3.10.0-327, попытки установить и загрузиться с других ядер были неуспешны — система вываливалась в «dracut-initqueue[325]: Warning: dracut-initqueue timeout — starting timeout scripts» Недавно командой yum update обновил некоторые пакеты, из «системных» обновились kernel-devel и kernel-headers нерабочего ядра 3.10.0-957.12.2. После этого рабочее ядро 3.10.0-327 перестало грузится — после file system check вываливается несколько экранов

После этого получается загрузится только из rescue ядра. Запускал из него команду dracut и grub2-mkconfig -o /boot/grub2/grub.cfg. Ничего не помогает, не грузится. Пробовал установливать и запускать другие ядра — 4-е, 5-е — все ведут себя одинаково. Мне кажется, что проблема может быть связана с тем, что система установлена на софтовый рейд. Подскажите, куда смотреть, как восстановить работу сервера с обычными ядрами.

У тебя в командной строке ядра указано ожидание появления двух RAID-массивов:

При этом второй по какой-то причине не взлетает:

dracut-initqueue[325]: Warning: /dev/disk/by-id-uuid-f227b326:e7383651:a74ec97c:02639fa8 does not exist

Из под rescue покажи вывод:

Дополнительный вопрос: как устроен сторадж? Это просто обычные диски? Не требует ли контроллер дисков установки какого-то стороннего драйвера?

Да, у меня исползуется raid1 как корень (7394da5e:28ad1e5d:59c517be:df27efc9), и raid0 как своп раздел (f227b326:e7383651:a74ec97c:02639fa8). Странно, что он не видится, под rescue своп работает. cat /proc/mdstat

У тебя что-то не так с IDшниками. В конфигах одно:

А по факту другое:

Ты точно с проблемным RAID-массивом ничего не делал? Может пересоздавал?

Подозреваю, что rescue пытается собрать вообще все найденные массивы автоматически, а обычный initramfs только те, которые настроены в конфигах.

Починить это можно примерно так:

  • Выяснить какие самое свежее ядро у тебя стоит: смотри имена директорий в /lib/modules. У меня стоит 3.10.0-957.21.3.el7.x86_64, так что дальше я буду это значение использовать.
  • Сделать бэкапы: /boot/grub2/grub.cfg, /boot/initramfs-3.10.0-957.21.3.el7.x86_64.img.
  • Заменить ID на актуальный в одной из опций rd.md.uuid в /etc/default/grub.
  • Перегенерировать grub.cfg, чтобы туда попал правильный rd.md.uuid: grub2-mkconfig -o /boot/grub2/grub.cfg .
  • mdadm —examine —scan >/etc/mdadm.conf
  • (не уверен, что это нужно на новых системах, но пусть будет) Перегенерировать initramfs, чтобы туда попал обновлённый mdadm.conf: dracut —verbose —force —kver 3.10.0-957.21.3.el7.x86_64 .
  • Перезагрузиться и выбрать ядро версии 3.10.0-957.21.3.el7.x86_64.

Заработало!

Спасибо, ваши советы помогли, действительно проблема была в том, что в /etc/default/grub был укзаан неверный UUID одного из рейдов. Выполнив всё по вашей инструкции у меня заработало ядро 3.10.0-327. Попробовал установить ядро 5.1.14 — работает без проблем. Да, с RAID’ами у меня была та ещё история, изначально сервер грузился с двух флешек (так же raid0 под своп и raid1 под ФС), флешки через год начали дохнуть, менях сначали на други флешки, потом на винчестеры перешёл. Видимо где-то в этом процессе и случилось, что UUID в конфиге граба получились неверные.

Все прекрастно в вашей теме

изначально сервер грузился с двух флешек

На флэшке? swap? Мистер Фейнман, опять ваши шутки?

Недавно командой yum update обновил некоторые пакеты, из «системных» обновились kernel-devel и kernel-headers нерабочего ядра 3.10.0-957.12.2. После этого рабочее ядро 3.10.0-327 перестало грузится

Да, с RAID’ами у меня была та ещё история, изначально сервер грузился с двух флешек (так же raid0 под своп и raid1 под ФС), флешки через год начали дохнуть, менях сначали на други флешки, потом на винчестеры перешёл.

«Дяденька, разгрызи орешек. Мальчик а можно сразу все орешки принести, а не по одному?» (c)

Читайте также:  Как расшифровать handshake kali linux

Источник

⛑️ Как загрузить в 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:

Источник

grub rescue – что делать?

Содержание

В случае возникновения проблем с загрузчиком появляется надпись grub rescue. Чаще всего проблема появляется, когда на компьютере установлено сразу две операционные системы: Linux и Windows. Обычно установка производится в такой последовательности.

Сначала на жёсткий диск устанавливается Windows после чего на отдельный раздел производится установка Linux. При такой схеме в загрузочную область диска добавится загрузчик grub2 что позволяет выбирать в какую из систем производить запуск.

Но бывает так, что в таком состоянии компьютер работает длительное время. У Windows как известно разрастается реестр, и система начинает работать медленно. Тут вы приняли решение переустановить Винду, а заодно затёрли загрузчик Linux. Загрузочная область оказывается повреждена и при старте системы появляется сообщение на чёрном экране: grub rescue unknown filesystem .

Ещё вы могли что-нибудь нахимичить с файлом конфигурации grub.cfg в директории /boot/grub/ . Его вообще не рекомендуется править редакторами поскольку в будущем он всё равно окажется перезаписан автоматически. Вместо этого сконфигурируйте файл /etc/default/grub и выполните команду: sudo grub-update

grub rescue – что делать?

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

Читайте также:  Numbers для windows server

Введите команду для просмотра существующих разделов:

В данном примере всего один раздел msdos1 на жёстком диске hd0.

Убедимся, что это нужный раздел. Для этого выводим список файлов загрузчика:

Находим файл grub.cfg значит всё в порядке, продолжаем. Если каталог не обнаружен, то перебираем остальные разделы дисков пока не найдём.

Следующая команда создаёт префикс для каталога загрузчика:

Установим раздел в качестве корневого:

Затем необходимо подключить ещё пару модулей и стартовать загрузку системы:

После успешной загрузки в Linux не забудьте переустановить загрузчик командой:

(вместо «_» введите букву загрузочного жёсткого диска).

Далее выполните команду обновления конфигурации файла grub.cfg:

Обычно grub2 автоматически определяет установленные системы, в том числе Windows, и добавляет их в список загрузки.

Восстановление ubuntu с флешки

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

Лучше подготовить USB или CD носитель с Ubuntu той же версии и разрядности что и восстанавливаемая система. Я покажу на примере системы Ubuntu 18.04 LTS x64. Загрузитесь в Live режиме и откройте терминал комбинацией Ctrl+Alt+T.

Для удобства сразу активируйте права суперпользователя root. Знак минус в конце команды означает перемещение в домашний каталог:

Теперь нужно посмотреть список дисков и разделов программой fdisk:

Обнаруживаем раздел с установленной системой Linux. В этом примере раздел /dev/sda1 единственный, он же корневой и загрузочный.

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

Смонтируем его в каталог /mnt/ :

Убедитесь, что каталог /boot/ находится на этом же разделе диска выполнив команду:

В случае отсутствия каталога, монтируйте его отдельно. Для этого нужно найти раздел в результате вывода утилиты fdisk (на скриншоте выше) и смонтировать командой:

X = номер вашего раздела с файлами каталога /boot/ .

Сейчас необходимо произвести логин в ту систему, которую будем чинить. Но перед этим смонтируем из Live системы несколько служебных разделов:

Двойной амперсанд && между командами означает проверку выполнения предыдущей команды. Выполнение последующей команды происходит только при условии, что предыдущая завершена успешно.

Переходим в окружение chroot , то есть заходим под пользователем root в систему, установленную на жёстком диске:

Всё, мы в системе. Можно устанавливать загрузчик и обновлять его конфигурацию. Будьте внимательны, используется именно корневой раздел диска /dev/sda без цифры:

Посмотрите, чтобы не было ошибок в результате выполнения команд. Далее набираем один раз exit , или комбинацию Ctrl+D и выходим в консоль Live системы.

На всякий случай размонтируем корректно разделы и перезагружаемся:

Процедура восстановления загрузчика grub2 на этом завершена.

Видео

Источник

Как загрузиться в режим восстановления или аварийный режим в Ubuntu 18.04

В качестве примера будет использована система Ubuntu 18.04 LTS, но руководство актуально для любой системы, использующей Systemd как подсистему инициализации. Так же мы рассмотрим команды по восстановлению системы Ubuntu без ее переустановки.

Что такое режим восстановления в системах Linux?

Режим восстановления эквивалентен однопользовательскому режиму в дистрибутивах Linux, которые используют демон SysV в качестве диспетчера служб по умолчанию. В режиме восстановления все локальные файловые системы будут примонтированы, но только некоторые важные службы будут запущены. Например, сетевые сервисы не будут запущены. Режим восстановления Linux полезен в ситуациях, когда система не может нормально загрузиться. Кроме того, в данном режиме мы можем выполнить некоторые важные операции по восстановлению, например, такие как сброс root пароля.

Что такое аварийный режим?

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

Читайте также:  Как ускорить работу проводника windows

Загрузка в режим восстановления в Ubuntu 18.04 LTS

Запустите установленную систему Ubuntu. Когда появится меню Grub, выберите первую запись и нажмите e для редактирования.

Если у вас не отобразилось меню Grub, то нужно нажать клавишу ESC сразу после исчезновения логотипа BIOS.

Найдите строку, начинающуюся со слова «linux», удалите значение «$vt_handoff» и в конце этой строки введите следующее значение (Чтобы быстрее достичь конца строки, просто нажмите CTRL + e или используйте клавишу END или стрелки LEFT / RIGHT на клавиатуре):

После того, как вы добавили вышеприведенное значение, нажмите сочетание клавиш CTRL + x или F10, чтобы загрузить систему в режим восстановления. Через несколько секунд вы попадете в режим восстановления (однопользовательский режим) в качестве пользователя root. Нажмите Enter.

Затем введите следующую команду для монтирования файловой системы root (/) в режим чтения / записи:

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

Загрузка операционной системы Linux в аварийный режим аналогична описанному выше методу. Все, что вам нужно сделать, это заменить «systemd.unit= rescue.target» на «systemd.unit = emergency.target» при редактировании меню Grub.

После того, как вы добавили «systemd.unit=emergency.target», нажмите Ctrl + x или F10, чтобы продолжить загрузку в аварийный режим.

Вы можете подключить корневую файловую систему в режим чтения / записи с помощью команды:

Переключение между режимами восстановления и аварийный режимом и наоборот

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

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

Режим восстановления Recovery mode в Linux

Еще одним режимом, которым можно воспользоваться для восстановления системы, является режим Recovery mode. Примечателен он тем, что содержит предустановленные утилиты для восстановления.

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

Затем из появившегося списка выбрать первое (верхнее) ядро с надписью (recovery mode).

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

Clean, например, удалит неиспользуемые файлы, если вы подозреваете, что проблема связана с полным диском. dpkg попытается исправить любые сломанные пакеты программного обеспечения. (Средство «dpkg»может потребовать, чтобы вы сначала включили сеть (network). Опция root запустит командную строку от имени суперпользователя.

Теперь вы знаете, что такое режим восстановления, аварийный режим и Recovery mode, а также как загрузиться в эти режимы в Ubuntu 18.04. Как я уже упоминал, приведенные здесь шаги будут работать во многих последних версиях Linux, в которых используется Systemd.

Как восстановить операционную систему Ubuntu без переустановки

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

На экране входа в систему воспользуйтесь комбинацией клавиш CTRL + ALT + F1 для переключения в виртуальную консоль tty1, возможно вам придется переключится на другую виртуальную консоль, в таком случае воспользуйтесь этой же комбинацией клавиш, но с F2 или F3 и т.д. И затем выполните следующие команды:

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

И обновить систему:

И перезагрузить систему:

Так же может помочь переустановка рабочего окружения. Для Ubuntu это будет следующая команда (не влияет на пользовательские данные):

Рекомендую периодически делать резервные копии системы и домашнего каталога пользователя, соответствующими инструментами. Например, для резервного копирования в среде Linux можно воспользоваться утилитой QT5-FSArchiver.

Источник

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