Initramfs проверка диска на ошибки

Пользователи, которые любят экспериментировать со своей операционной системой время от времени сталкиваются с ошибкой загрузки, когда система выводит приглашение ввода BusyBox с initramfs. Эта ошибка означает, что ядро не может загрузить корневой раздел, та файловая система, к которой у вас есть доступ из этого режима не имеет ничего общего с вашей системой. Это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки системы.

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

Почему Linux не загружается дальше initramfs

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

Первое, что можно попытаться сделать в таком случае — выполнить команду exit, чтобы система попыталась загрузится и тогда она покажет вам более подробное сообщение об ошибке.

1. Неверный корневой раздел в загрузчике

В данном случае она сообщает, что не может найти раздел /dev/sda10:

Alert: /dev/sda10 does not exist. Dropping to a shell

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

ls /dev/ | grep sd

В этом окружении есть BusyBox, а значит есть большинство утилит Unix. Вы можете примонтировать каждый из этих разделов с помощью команды mount и узнать где находится ваш новый корневой раздел, например:

mkdir /mnt
mount /dev/sda5 /mnt
ls

Вы также можете узнать здесь же UUID данного раздела диска, для этого выполните:

blkid /dev/sda5

В данном случае, корневой раздел имеет имя /dev/sda5. Именно это имя можно передать ядру в конфигурации загрузчика Grub, а можно UUID, но если в этом нет крайней необходимости, то короткое имя использовать гораздо проще. Надо перезагрузить компьютер, в меню Grub выбрать нужную загрузочную запись и нажать клавишу E:

Далее найти пункт, начинающейся со слова linux и в нём параметр root. Его значение вместе со словом UUID надо стереть, а вместо него прописать имя корневого раздела:

После этого система загрузится, а вам останется только создать новый конфигурационный файл grub с помощью команды:

update-grub

2. Повреждённая файловая система

Подобная ошибка может появляться также при серьезных ошибках в файловой системе, которые мешают примонтировать корневой раздел. Обычно, fsck восстанавливает файловую систему автоматически, но если проблема серьезная и грозит потерей данных, утилите надо подтверждение пользователя для работы. Тогда система показывает такую ошибку:

The root filesystem on /dev/sda5 requires a manual fsck

Вы можете прямо здесь же попытаться восстановить файловую систему. Для этого выполните:

fsck -y /dev/sda5

Здесь /dev/sda5 — это корневой раздел, его нужно заменить на свой. Опция -y указывает утилите, что на все вопросы надо ли исправлять блок нужно отвечать утвердительно. После успешного восстановления надо перезагрузить компьютер и попытаться загрузить систему снова.

Выводы

В этой статье мы разобрались что делать если в Linux не загружается initramfs, как посмотреть сообщение об ошибке, а также как устранить самые распространённые причины.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Главная » Linux » Ubuntu » initramfs ubuntu не загружается. 10 способов решения ошибки initramfs

Опубликовано 14.03.2023

Содержание

  1. Что такое initramfs?
  2. Причины возникновения ошибки initramfs
  3. Способы решения ошибки initramfs
  4. Еще 10 способов решения ошибки initramfs
  5. Заключение

Ubuntu — это один из самых популярных дистрибутивов Linux, который используется многими пользователями по всему миру. Однако, даже в Ubuntu могут возникать проблемы, связанные с загрузкой системы. Одной из таких проблем является ошибка initramfs, которая может привести к тому, что система не будет загружаться. В этой статье мы рассмотрим причины возникновения ошибки initramfs в Ubuntu и способы ее решения.

Что такое initramfs?

Перед тем, как мы начнем обсуждать ошибку initramfs, давайте разберемся, что это такое. Initramfs (Initial RAM Filesystem) — это временная файловая система, которая создается во время загрузки операционной системы Linux. Она содержит все необходимые модули и драйверы, которые позволяют ядру Linux запуститься на конкретном железе. Во время загрузки операционной системы, ядро сначала загружает initramfs, а затем использует его для загрузки оставшейся части файловой системы.

Причины возникновения ошибки initramfs

Существует несколько причин, почему может возникнуть ошибка initramfs в Ubuntu. Ниже перечислены некоторые из них:

  1. Проблемы с файловой системой. Если во время загрузки системы обнаруживается, что файловая система повреждена или имеет ошибки, это может привести к ошибке initramfs.
  2. Неправильно настроенное ядро. Если в ядре Linux отсутствуют необходимые модули или драйверы для запуска на конкретном оборудовании, это может привести к ошибке initramfs.
  3. Проблемы с оборудованием. Если оборудование, на котором работает Ubuntu, не работает должным образом, это также может привести к ошибке initramfs.
  4. Неправильная установка Ubuntu. Если Ubuntu была установлена неправильно, это может привести к ошибке initramfs.

initramfs ubuntu не загружается

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Главная » Linux » Ubuntu » initramfs ubuntu не загружается. 10 способов решения ошибки initramfs

Опубликовано 14.03.2023

Содержание

  1. Что такое initramfs?
  2. Причины возникновения ошибки initramfs
  3. Способы решения ошибки initramfs
  4. Еще 10 способов решения ошибки initramfs
  5. Заключение

Ubuntu — это один из самых популярных дистрибутивов Linux, который используется многими пользователями по всему миру. Однако, даже в Ubuntu могут возникать проблемы, связанные с загрузкой системы. Одной из таких проблем является ошибка initramfs, которая может привести к тому, что система не будет загружаться. В этой статье мы рассмотрим причины возникновения ошибки initramfs в Ubuntu и способы ее решения.

Что такое initramfs?

Перед тем, как мы начнем обсуждать ошибку initramfs, давайте разберемся, что это такое. Initramfs (Initial RAM Filesystem) — это временная файловая система, которая создается во время загрузки операционной системы Linux. Она содержит все необходимые модули и драйверы, которые позволяют ядру Linux запуститься на конкретном железе. Во время загрузки операционной системы, ядро сначала загружает initramfs, а затем использует его для загрузки оставшейся части файловой системы.

Причины возникновения ошибки initramfs

Существует несколько причин, почему может возникнуть ошибка initramfs в Ubuntu. Ниже перечислены некоторые из них:

  1. Проблемы с файловой системой. Если во время загрузки системы обнаруживается, что файловая система повреждена или имеет ошибки, это может привести к ошибке initramfs.
  2. Неправильно настроенное ядро. Если в ядре Linux отсутствуют необходимые модули или драйверы для запуска на конкретном оборудовании, это может привести к ошибке initramfs.
  3. Проблемы с оборудованием. Если оборудование, на котором работает Ubuntu, не работает должным образом, это также может привести к ошибке initramfs.
  4. Неправильная установка Ubuntu. Если Ubuntu была установлена неправильно, это может привести к ошибке initramfs.

initramfs ubuntu не загружается

initramfs ubuntu не загружается

Способы решения ошибки initramfs

Существует несколько способов решения ошибки initramfs в Ubuntu. Ниже перечислены некоторые из них:

  1. Проверьте файловую систему. Если ошибка initramfs связана с проблемами файловой системы, вам может потребоваться проверить ее на наличие ошибок. Для этого можно воспользоваться инструментом fsck. Например, чтобы проверить файловую систему на диске sda1, нужно выполнить следующую команду:sudo fsck /dev/sda1.
  2. Переустановите ядро Linux. Если ошибка initramfs связана с отсутствием необходимых модулей или драйверов в ядре Linux. То можно попробовать переустановить ядро. Для этого нужно выполнить следующую команду:sudo apt-get install --reinstall linux-image-$(uname -r).
  3. Исправьте проблемы с оборудованием. Если ошибка initramfs связана с проблемами оборудования, то необходимо исправить эти проблемы. Например, если проблема связана с жестким диском, то нужно заменить его на новый.
  4. Переустановите Ubuntu. Если ошибка initramfs связана с неправильной установкой Ubuntu, то можно попробовать переустановить ее заново. При этом следует убедиться, что вы используете правильный образ диска и правильно выполняете установку.
  5. Восстановите систему из резервной копии. Если вы регулярно создаете резервные копии системы, то вы можете попробовать восстановить систему из последней доступной резервной копии. Это позволит избежать потери данных и вернуть систему в рабочее состояние.

Еще 10 способов решения ошибки initramfs

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

  1. Перезагрузите компьютер. Иногда простая перезагрузка компьютера может решить проблему. Попробуйте перезагрузить компьютер и проверить, исправилась ли ошибка.
  2. Попробуйте загрузиться в режиме восстановления. Загрузка в режиме восстановления позволяет пользователю обойти некоторые настройки и загрузить систему в минимальном режиме. Часто это позволяет загрузить систему, которая не загружается нормально.
  3. Используйте Live CD/USB для восстановления. Если компьютер не может загрузиться даже в режиме восстановления, то можно попробовать загрузиться с Live CD или USB. Это позволит вам запустить Ubuntu с внешнего носителя и исправить проблему.
  4. Проверьте файловую систему на наличие ошибок. Ошибки в файловой системе могут вызвать проблемы при загрузке Ubuntu. Вы можете проверить файловую систему на наличие ошибок, используя утилиту fsck.
  5. Проверьте наличие свободного места на диске. Недостаточное количество свободного места на диске может вызвать проблемы при загрузке Ubuntu. Проверьте, достаточно ли свободного места на вашем диске.
  6. Попробуйте изменить параметры загрузки ядра. Вы можете изменить параметры загрузки ядра в меню загрузки Ubuntu, чтобы обойти некоторые проблемы. Например, вы можете попробовать добавить параметр nomodeset, чтобы обойти проблемы с графическими драйверами.
  7. Попробуйте переустановить ядро. Если проблема связана с ядром Linux, то переустановка ядра может помочь исправить проблему.
  8. Проверьте наличие необходимых модулей и драйверов. Если проблема связана с отсутствием необходимых модулей или драйверов в ядре Linux, то можно попробовать установить их.
  9. Проверьте оборудование на наличие проблем. Проблемы с оборудованием могут вызывать ошибку initramfs. Вы можете проверить оборудование на наличие проблем, например, с помощью программы memtest86, которая позволяет проверить оперативную память на наличие ошибок.
  10. Попробуйте восстановить систему из резервной копии. Если вы создали резервную копию системы, то можно попробовать восстановить систему из нее. Это позволит вернуть систему к состоянию, которое было на момент создания резервной копии.

Заключение

В заключение, ошибка initramfs может быть вызвана различными причинами, связанными с файловой системой, ядром Linux, оборудованием или установкой Ubuntu. Однако, в большинстве случаев, эта проблема может быть решена с помощью одного из вышеописанных способов. Если же вы не уверены, какой способ решения применить, то лучше всего обратиться за помощью к специалисту по Linux.

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

Ubuntu также может встретить вас с подобными проблемами, и «initramfs» – одна из них. Это проблема загрузки Ubuntu, которая возникает из-за сбойных блоков или сбойных секторов в памяти, которые не позволяют загрузиться операционной системе.

Ваша система содержит много важных файлов, поэтому такая ошибка определенно может вызвать панику. Не о чем беспокоиться; В этой статье основное внимание уделяется тому, как решить проблему с initramfs и нормально загрузить Ubuntu. Итак, начнем:

Если на вашем экране отображается ошибка «initramfs», вы уже находитесь в режиме восстановления, что означает, что вы можете вводить команды и выполнять различные операции. Ошибка будет такой:

Вы можете ввести «exit», чтобы получить подробную информацию об ошибке. Обратите внимание, что вы не можете получать подробные сведения об ошибке каждый раз, когда набираете «exit». Как обсуждалось выше, эта ошибка «initramfs» возникает при повреждении загрузочного диска. Вы можете подключить несколько дисков для их проверки, используйте:

или же

Разделы можно просмотреть по имени /dev/sda,/dev/sdb или любому другому. Теперь, чтобы исправить ошибку «initramfs», мы используем   утилиту «fsck», также известную как «проверка целостности файловой системы», которая проверяет и устраняет проблемы файловой системы. Следуйте приведенному ниже синтаксису:

(initramfs) fsck [partitian name (/dev/sdXX)]

Например, если наш раздел называется «/dev/sdb», то команда будет такой:

Нажмите «Enter», команда автоматически удалит поврежденные сектора из памяти. Когда появится запрос, нажмите «y». Чтобы предотвратить появление подсказок, просто используйте опцию «-y» с командой:

(initramfs) fsck/dev/sdb -y

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

(initramfs) reboot

Если перезагрузка не работает, введите «exit». Вот так; ошибка устранена, и Ubuntu загрузится нормально.

Заключение

«Initramfs» ошибка может устрашить вас, но, к счастью, эта ошибка имеет очень простое и простое решение. Эта ошибка возникает, когда ваша память повреждена, особенно диск, содержащий операционную систему, и не позволяет ей загружаться. Чтобы исправить это, просто используйте утилиту «fsck». В этой статье подробно объясняется процесс устранения ошибки «initramfs» для нормальной загрузки Ubuntu.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Понимание процедуры загрузки в Linux RHEL7/CentOS

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

Следующие шаги суммируют, как процедура загрузки происходит в Linux.

1. Выполнение POST: машина включена. Из системного ПО, которым может быть UEFI или классический BIOS, выполняется самотестирование при включении питания (POST) и аппаратное обеспечение, необходимое для запуска инициализации системы.

2. Выбор загрузочного устройства: В загрузочной прошивке UEFI или в основной загрузочной записи находится загрузочное устройство.

3. Загрузка загрузчика: с загрузочного устройства находится загрузчик. На Red Hat/CentOS это обычно GRUB 2.

4. Загрузка ядра: Загрузчик может представить пользователю меню загрузки или может быть настроен на автоматический запуск Linux по умолчанию. Для загрузки Linux ядро загружается вместе с initramfs. Initramfs содержит модули ядра для всего оборудования, которое требуется для загрузки, а также начальные сценарии, необходимые для перехода к следующему этапу загрузки. На RHEL 7/CentOS  initramfs содержит полную операционную систему (которая может использоваться для устранения неполадок).

5. Запуск /sbin/init: Как только ядро загружено в память, загружается первый из всех процессов, но все еще из initramfs. Это процесс /sbin/init, который связан с systemd. Демон udev также загружается для дальнейшей инициализации оборудования. Все это все еще происходит из образа initramfs.

6. Обработка initrd.target: процесс systemd выполняет все юниты из initrd.target, который подготавливает минимальную операционную среду, в которой корневая файловая система на диске монтируется в каталог /sysroot. На данный момент загружено достаточно, чтобы перейти к установке системы, которая была записана на жесткий диск.

7. Переключение на корневую файловую систему: система переключается на корневую файловую систему, которая находится на диске, и в этот момент может также загрузить процесс systemd с диска.

8. Запуск цели по умолчанию (default target): Systemd ищет цель по умолчанию для выполнения и запускает все свои юниты. В этом процессе отображается экран входа в систему, и пользователь может проходить аутентификацию. Обратите внимание, что приглашение к входу в систему может быть запрошено до успешной загрузки всех файлов модуля systemd. Таким образом, просмотр приглашения на вход в систему не обязательно означает, что сервер еще полностью функционирует.
На каждом из перечисленных этапов могут возникнуть проблемы из-за неправильной настройки или других проблем. Таблица суммирует, где настроена определенная фаза и что вы можете сделать, чтобы устранить неполадки, если что-то пойдет не так.

Фаза загрузки Где настроено Как попытаться починить
POST Железо (F2, Esc, F10, или другая кнопка) Замена железа
Выбор загрузочного устройства BIOS/UEFI конфигурация или загрузочное устройство Замена железа или использовать восстановление системы
Загрузка загрузчика (GRUB 2) grub2-install и редактирует в /etc/defaults/grub Приглашение GRUB для загрузки и изменения в /etc/defaults/grub, после чего следует выполнить grub2-mkconfig.
Загрузка ядра Редактирует конфигурацию GRUB и /etc/dracut.conf Приглашение GRUB для загрузки и изменения в /etc/defaults/grub, после чего следует  выполнить grub2-mkconfig.
Запуск /sbin/init Компиляция в initramfs init = kernel аргумент загрузки,
rd.break аргумент загрузки ядра
Обработка initrd.target Компиляция в initramfs Обычно ничего не требуется
Переключение на корневую файловую систему /etc/fstab /etc/fstab
Запуск цели по умолчанию /etc/systemd/system/default.target Запустить rescue.target как аргумент при загрузке ядра

Передача аргементов в GRUB 2 ядру во время загрузки 

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

Когда сервер загружается, вы кратко видите меню GRUB 2. Смотри быстро, потому что это будет длиться всего несколько секунд. В этом загрузочном меню вы можете ввести e, чтобы войти в режим, в котором вы можете редактировать команды, или c, чтобы ввести полную командную строку GRUB.

После передачи e в загрузочное меню GRUB вы увидите интерфейс, показанный на скриншоте ниже. В этом интерфейсе прокрутите вниз, чтобы найти раздел, начинающийся с linux16 /vmlinuz, за которым следует множество аргументов. Это строка, которая сообщает GRUB, как запустить ядро, и по умолчанию это выглядит так:


После ввода параметров загрузки, которые вы хотите использовать, нажмите Ctrl + X, чтобы запустить ядро с этими параметрами. Обратите внимание, что эти параметры используются только один раз и не являются постоянными. Чтобы сделать их постоянными, вы должны изменить содержимое файла конфигурации /etc/default/grub и использовать grub2-mkconfig -o /boot/grub2/grub.cfg, чтобы применить изменение.

Когда у вас возникли проблемы, у вас есть несколько вариантов (целей), которые вы можете ввести в приглашении загрузки GRUB:

rd.break Это останавливает процедуру загрузки, пока она еще находится в стадии initramfs.
Эта опция полезна, если у вас нет пароля root.

init=/bin/sh или init=/bin/bash Указывает, что оболочка должна быть запущена сразу после загрузки ядра и initrd. Это полезный вариант, но не лучший, потому что в некоторых случаях вы потеряете консольный доступ или пропустите другие функции.

systemd.unit=emergency.target Входит в минимальный режим, когда загружается минимальное количество системных юнитов.
Требуется пароль root.
Чтобы увидеть, что загружено только очень ограниченное количество файлов юнитов, вы можете ввести команду systemctl list-units.

systemd.unit=rescue.target Команда запускает еще несколько системных юнитов, чтобы привести вас в более полный рабочий режим. Требуется пароль root.
Чтобы увидеть, что загружено только очень ограниченное количество юнит-файлов, вы можете ввести команду systemctl list-units.

Запуск целей(targets) устранения неполадок в Linux

1. (Пере)загружаем Linux. Когда отобразиться меню GRUB, нажимаем e;

2. Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=rescue.target и удаляем rhgb quit;

3. Жмем Ctrl+X, чтобы начать загрузку с этими параметрами. Вводим пароль от root;

4. Вводим systemctl list-units и смотрим. Будут показаны все юнит-файлы, которые загружены в данный момент и соответственно загружена базовая системная среда;

5. Вводим systemctl show-environment. Видим переменные окружения в режиме rescue.target;

6. Перезагружаемся reboot;

7. Когда отобразится меню GRUB, нажимаем e. Находим строку, которая начинается на linux16 /vmlinuz. В конце строки вводим systemd.unit=emergency.target и удаляем rhgb quit;

8. Снова вводим пароль от root;

9. Система загрузилась в режиме emergency.target;

10. Вводим systemctl list-units и видим, что загрузился самый минимум из юнит-файлов.

Устранение неполадок с помощью загрузочного диска Linux

Еще один способ восстановления работоспособности Linux использовать образ операционки.

Если вам повезет меньше, вы увидите мигающий курсор в системе, которая вообще не загружается. Если это произойдет, вам нужен аварийный диск. Образ восстановления по умолчанию для Linux находится на установочном диске. При загрузке с установочного диска вы увидите пункт меню «Troubleshooting». Выберите этот пункт, чтобы получить доступ к параметрам, необходимым для ремонта машины.


Выбрав «Troubleshooting», появится выбор из 4-х опций.

  • Install CentOS 7 in Basic Graphics Mode: эта опция переустанавливает систему. Не используйте её, если не хотите устранить неполадки в ситуации, когда обычная установка не работает и вам необходим базовый графический режим. Как правило, вам никогда не нужно использовать эту опцию для устранения неисправностей при установке.
  • Rescue a CentOS System: это самая гибкая система спасения. Это должен быть первый вариант выбора при использовании аварийного диска.
  • Run a Memory Test: если вы столкнулись с ошибками памяти, это позволяет пометить плохие микросхемы памяти, чтобы ваша машина могла нормально загружаться.
  • Boot from local drive: здесь я думаю всё понятно.

ВНИМАНИЕ!

После запуска «Rescue a CentOS System» обычно требуется включить полный доступ к установке на диске. Обычно аварийный диск обнаруживает вашу установку и монтирует ее в каталог /mnt/sysimage. Чтобы исправить доступ к файлам конфигурации и их расположениям по умолчанию, поскольку они должны быть доступны на диске, используйте команду chroot /mnt/sysimage, чтобы сделать содержимое этого каталога реальной рабочей средой. Если вы не используете команду chroot, многие утилиты не будут работать, потому что, если они записывают в файл конфигурации, это будет версия файла конфигурации, существующего на диске восстановления (и по этой причине только для чтения). Использование команды chroot гарантирует, что все пути к файлам конфигурации верны.

Пример использования «Rescue a CentOS System»

1. Перезагружаем сервер с установочным диском Centos 7. Загружаемся и выбираем «Troubleshooting«.

2. В меню траблшутинга выбираем «Rescue a CentOS System» и загружаемся.

3. Система восстановления теперь предлагает вам найти установленную систему Linux и смонтировать ее в /mnt/sysimage. Выберите номер 1, чтобы продолжить:
4. Если была найдена правильная установка CentOS, вам будет предложено, чтобы система была смонтирована в /mnt/sysimage. В этот момент вы можете дважды нажать Enter, чтобы получить доступ к оболочке восстановления.


5. Ваша система Linux на данный момент доступна через каталог /mnt/sysimage. Введите chroot /mnt/sysimage. На этом этапе у вас есть доступ к корневой файловой системе, и вы можете получить доступ ко всем инструментам, которые необходимы для восстановления доступа к вашей системе.

Переустановка GRUB с помощью аварийного диска

Одна из распространенных причин, по которой вам нужно запустить аварийный диск, заключается в том, что загрузчик GRUB 2 не работает. Если это произойдет, вам может понадобиться установить его снова. После того, как вы восстановили доступ к своему серверу с помощью аварийного диска, переустановить GRUB 2 несложно, и он состоит из двух этапов:

  1. Убедитесь, что вы поместили содержимое каталога /mnt/sysimage в текущую рабочую среду.
  2. Используйте команду grub2-install, а затем имя устройства, на котором вы хотите переустановить GRUB 2. Если это виртуальная машина KVM используйте команду grub2-install /dev/vda и на физическом сервере или виртуальная машина VMware, HyperV или Virtual Box, это grub2-install /dev/sda.

Повторное создание Initramfs с помощью аварийного диска

Иногда initramfs также может быть поврежден. Если это произойдет, вы не сможете загрузить свой сервер в нормальном рабочем режиме. Чтобы восстановить образ initramfs после загрузки в среду восстановления, вы можете использовать команду dracut. Если используется без аргументов, эта команда создает новый initramfs для загруженного в данный момент ядра.
Кроме того, вы можете использовать команду dracut с несколькими опциями для создания initramfs для конкретных сред ядра. Существует также файл конфигурации с именем /etc/dracut.conf, который можно использовать для включения определенных параметров при повторном создании initramfs.

Конфигурация dracut рассредоточена по разным местам:

  • /usr/lib/dracut/dracut.conf.d/*.conf содержит системные файлы конфигурации по умолчанию.
  • /etc/dracut.conf.d содержит пользовательские файлы конфигурации dracut.
  • /etc/dracut.conf используется в качестве основного файла конфигурации.

Вот так выглядит по умолчанию файл /etc/dracut.conf:

[root@server1 ~]# cat /etc/dracut.conf
# PUT YOUR CONFIG HERE OR IN separate files named *.conf
# in /etc/dracut.conf.d
# SEE man dracut.conf(5)
# Sample dracut config file
#logfile=/var/log/dracut.log
#fileloglvl=6
# Exact list of dracut modules to use. Modules not listed here are not going
# to be included. If you only want to add some optional modules use
# add_dracutmodules option instead.
#dracutmodules+=""
# dracut modules to omit
#omit_dracutmodules+=""
# dracut modules to add to the default
#add_dracutmodules+=""
# additional kernel modules to the default
#add_drivers+=""
# list of kernel filesystem modules to be included in the generic
initramfs
#filesystems+=""
# build initrd only to boot current hardware
#hostonly="yes"
#
# install local /etc/mdadm.conf
#mdadmconf="no"
# install local /etc/lvm/lvm.conf
#lvmconf="no"
# A list of fsck tools to install. If it is not specified, module's
hardcoded
# default is used, currently: "umount mount /sbin/fsck* xfs_db xfs_
check
# xfs_repair e2fsck jfs_fsck reiserfsck btrfsck". The installation is
# opportunistic, so non-existing tools are just ignored.
#fscks=""
# inhibit installation of any fsck tools
#nofscks="yes"
# mount / and /usr read-only by default
#ro_mnt="no"
# set the directory for temporary files
# default: /var/tmp
#tmpdir=/tmp

Исправление общих проблем

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

Переустановка GRUB 2

Код загрузчика не исчезает просто так, но иногда может случиться, что загрузочный код GRUB 2 будет поврежден. В этом случае вам лучше знать, как переустановить GRUB 2. Точный подход зависит от того, находится ли ваш сервер в загрузочном состоянии. Если это так, то довольно просто переустановить GRUB 2. Просто введите grub2-installи имя устройства, на которое вы хотите его установить. У команды есть много различных опций для точной настройки того, что именно будет установлено, но вам, вероятно, они не понадобятся, потому что по умолчанию команда устанавливает все необходимое, чтобы ваша система снова загрузилась.

Становится немного сложнее, если ваш сервер не загружается.

Если это произойдет, вам сначала нужно запустить систему восстановления и восстановить доступ к вашему серверу из системы восстановления. После монтирования файловых систем вашего сервера в /mnt/sysimage и использования chroot /mnt/sysimage, чтобы сделать смонтированный образ системы вашим корневым образом: Просто запустите grub2-install, чтобы установить GRUB 2 на желаемое установочное устройство. Но если вы находитесь на виртуальной машине KVM, запустите grub2-install /dev/vda, а если вы находитесь на физическом диске, запустите grub2-install /dev/sda.

Исправление Initramfs

В редких случаях может случиться так, что initramfs будет поврежден. Если вы тщательно проанализируете процедуру загрузки, вы узнаете, что у вас есть проблема с initramfs, потому что вы никогда не увидите, как корневая файловая система монтируется в корневой каталог, и при этом вы не увидите запуска каких-либо системных модулей. Если вы подозреваете, что у вас есть проблема с initramfs, ее легко создать заново. Чтобы воссоздать его, используя все настройки по умолчанию (что в большинстве случаев нормально), вы можете просто запустить команду dracut —force. (Без —force команда откажется перезаписать ваши существующие initramfs.)
При запуске команды dracut вы можете использовать файл конфигурации /etc/dracut.conf, чтобы указать, что именно записывается в initramfs. В этом файле конфигурации вы можете увидеть такие параметры, как lvmconf = «no», которые можно использовать для включения или выключения определенных функций. Используйте эти параметры, чтобы убедиться, что у вас есть все необходимые функции в initramfs.

Восстановление после проблем с файловой системой

Если вы неправильно настроили монтирование файловой системы, процедура загрузки может просто закончиться сообщением «Give root password for maintenance.». Это сообщение, в частности, генерируется командой fsck, которая пытается проверить целостность файла системы в /etc/fstab при загрузке. Если fsck терпит неудачу, требуется ручное вмешательство, которое может привести к этому сообщению во время загрузки. Убедитесь, что вы знаете, что делать, когда это происходит с вами!

Если упомянуто устройство, которого нет, или если в UUID, который используется для монтирования устройства, есть ошибка, например, systemd сначала ожидает, вернется ли устройство само по себе. Если этого не происходит, выдается сообщение «Give root password for maintenance.». Если это произойдет, вы должны сначала ввести пароль root. Затем вы можете ввести journalctl -xb, как предлагается, чтобы увидеть, записываются ли в журнал соответствующие сообщения, содержащие информацию о том, что не так. Если проблема ориентирована на файловую систему, введите mount -o remount, rw /, чтобы убедиться, что корневая файловая система смонтирована только для чтения, проанализировать, что не так в файле /etc/fstab, и исправить это.

Если вы видите подобный текст, то у вас есть проблема с /etc/fstab:

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

Initramfs - восстановление загрузки системы без live cd Debian, Ubuntu

Автор: Vinamin

Публикация: 12:45 27-10-2020 Обнавлена: 2021-02-19
Просмотров: 1205

В данной статье мы рассмотрим вариант решения проблемы, Ubuntu/Debian и других подобных операционных системах. 

Initramfs – это начальная файловая система в ОЗУ, основанная на tmpfs, которая не использует отдельное блочное устройство. Как и initrd, она содержит утилиты и скрипты, требуемые для монтирования файловых систем перед вызовом init, который располагается на корневой файловой системе.

Не загружаются и отваливается в busybox в момент инициализации initramfs. При этом Linux не загружается, и пользователю доступна только командная строка initramfs.

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
The root filesystem on /dev/sda1 requires a manual fsck.

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

# fsck /dev/sda1 -y

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

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda1 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #231 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #352 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #358 (32254, counted=27774).
Fix? yes
..........
/dev/vda1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vda1: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

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


Комментарии могут оставлять только зарегистрированные пользователи.

Понравилась статья? Поделить с друзьями:
  • Inithelperdll в nshhttp dll код ошибки 10107
  • Ingenico iwl250 ошибка alert irruption
  • Ingenico ipp320 ошибка связи нет подключения
  • Info error grease cent lubr ошибка ман тга
  • Info engine fault ошибка пежо 308