Добавить в корзинуПозвонить
Найти в Дзене

Как перезагрузиться из initramfs?

Initramfs (initial RAM file system) — это временная файловая система, которая загружается в оперативную память (RAM) вместе с ядром Linux на начальном этапе загрузки системы. Когда компьютер включается, ядро должно получить доступ к настоящей корневой файловой системе (там, где лежат ваши программы и настройки, например /, /home, /usr). Но чтобы прочитать эту корневую файловую систему, ядру часто нужны драйверы (например, для жесткого диска NVMe, RAID-массива, LVM или шифрования). Возникает парадокс: драйверы лежат на корневой файловой системе, но чтобы их прочитать, ядру нужно уже знать, как работать с диском. Initramfs решает эту проблему: она содержит минимальный набор утилит, драйверов и скриптов, который ядро может запустить сразу. Эта мини-система обнаруживает диски, загружает нужные модули, открывает шифрование (спрашивая пароль), находит настоящую корневую файловую систему и монтирует её. После этого initramfs передаёт управление реальному процессу init (например, systemd), а с
Оглавление

Initramfs (initial RAM file system) — это временная файловая система, которая загружается в оперативную память (RAM) вместе с ядром Linux на начальном этапе загрузки системы.

Зачем нужен initramfs?

Когда компьютер включается, ядро должно получить доступ к настоящей корневой файловой системе (там, где лежат ваши программы и настройки, например /, /home, /usr). Но чтобы прочитать эту корневую файловую систему, ядру часто нужны драйверы (например, для жесткого диска NVMe, RAID-массива, LVM или шифрования). Возникает парадокс: драйверы лежат на корневой файловой системе, но чтобы их прочитать, ядру нужно уже знать, как работать с диском.

Initramfs решает эту проблему: она содержит минимальный набор утилит, драйверов и скриптов, который ядро может запустить сразу. Эта мини-система обнаруживает диски, загружает нужные модули, открывает шифрование (спрашивая пароль), находит настоящую корневую файловую систему и монтирует её. После этого initramfs передаёт управление реальному процессу init (например, systemd), а сама выгружается из памяти.

(initramfs)

Если система не может найти корневой раздел, вы увидите аварию initramfs и приглашение командной строки (initramfs) для ручного восстановления.

Попадание в аварийную оболочку (initramfs) — пугающая, но часто разрешимая ситуация. Это минимальный BusyBox-шелл, где крайне мало команд, но есть всё необходимое для диагностики и ручного запуска системы. Обычно если всё сломано, ваши данные на диске почти наверняка целы — просто не смонтировался корень.

И вот я что-то потыкал, что-то восстановил, нужно перезагрузить систему. Пишу reboot, — не работает. А вот команда, которая точно позволит отправить сервер в перезагрузку из initramfs:

echo b > /proc/sysrq-trigger

Источник:

Как перезагрузиться из initramfs? | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.