В статье рассмотрена ошибка загрузки Кали Линукс, сопровождающаяся появлением командной строки от имени initramfs и требующей от пользователя неких действий. Рассмотрим наиболее часто встречающиеся варианты решения проблемы и возможные причины.
Симптомы проблемы
- Кали Линукс загружается в чёрный экран смерти с единственно возможной командной строкой initramfs
- вас “приветствует” сообщение от BusyBox соответствующей версии
- вероятно, у вас двойная загрузка одновременно с Windows (не обязательно)
- после решения и проверки диска ситуация повторяется
- если Windows в мультизагрузочной системе присутствует, та также отказывается загружаться
Как я уже говорил, причин несколько, но практически все они связаны с повреждением файловой системы и исправляются проверкой тома, где расположен загрузчик Кали.
СПРАВОЧКА
Без неё никак. Initramfs – это полноценный набор директорий, который вы найдёте в корневой файловой системе. Он упакован в архив специального формата и сжат с помощью специального алгоритма. В момент загрузки системы загрузчик выгружает ядро и образ initramfs в память. Ядро проверяет присутствие initramfs и, обнаружив, монтирует его в символ / , запуская /init. Init представляет собой обычно шел-скрипт, а потому процесс загрузки с помощью init достаточно продолжительный, но в нашем случае обязательный: он создаёт возможность загружаться с локального тома, запароленный вход и т.д. Однако любой сбой в части блоков initramfs автоматически “ломает” ядро системы, вызывая ошибку загрузки.
Ошибка initramfs-tools: синий Рабочий стол Кали Линукс без значков
Проблема initramfs : вариант первый
Внимательно изучаем окно терминала. В числе прочих строк обнаруживается запись типа:
/dev/sda*: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
обратите внимание на номер тома в начале строки /dev/sda* , где вместо * цифра тома, требующего ручного запуска проверки диска. Так тут же, в терминале и наберите:
fsck /dev/sdaX -y
или диск целиком (тоже вариант, но если у вас на жёстком ещё и Windows на NTFS, то советую лучше не рисковать):
fsck -f / -y
где
- Х – номер вашего тома с Линукс
- -y – разрешение на проведение операции
Перезагружаемся и входим в систему обычным порядком.
Проблема initramfs : вариант второй
Этот вариант (через Китай, но есть возможность проверить результаты работы) подсмотрен на форуме Ubuntu-водов. Вам понадобится загрузочная флешка с Кали Линукс. Запускаем живую Кали и в окне терминала вводим команду:
fdisk -l|grep Linux|grep -Ev 'swap'
Отображаем список суперблоков:
dumpe2fs /dev/sda* | grep superblock
не забываем заменить символ * на цифру тома с Линукс на жёстком диске. Сейчас терминал вернёт вот это:
Я выделил номера резервных суперблоков, их мы и будем использовать в качестве альтернативы побитым. Выбираем любой (я беру второй за номером 98304):
fsck -b 98304 /dev/sda* -y
После исправления пробуем смонтировать побитый раздел и проверить, восстановлена ли файловая система (вводите команды по отдельности):
mount /dev/sda* /mnt cd /mnt mkdir test ls -l cp file /path/to/safe/location
Если термина не ругается, у вас всё получилось. Перезагружайтесь и входите в системы обычным порядком.
Проблема initramfs : вариант третий
Проблема повторяется всякий раз после перезагрузки. Однако, обратите внимание. Если терминал с initframs преследует вас ИМЕННО ПОСЛЕ РАБОТЫ В WINDOWS, советую вам повторить любой из шагов, который вернул вам нормальную загрузку, но в этот раз:
- отправляемся не в Кали, а прямиком в Windows
- обнаруживаем ВСЕ ПРОГРАММЫ, которые позволяют читать файловую систему ext* из Wind-овой NTFS. По личному опыту скажу: 99% возвращающейся ошибки initframs являются драйверы таких программ, которые загружаясь с Windows, “наводят порядок” на томе с Кали, даже если вы такую программу и не запускаете вовсе. В любом случае утилит, позволяющих попасть в Кали из Windows, несколько. Выберите ту, которая не вызывает вываливания в BusyBox с initframs.
- нашли и удалили? Запускаем проверку диска с Windows с перезагрузкой:
chkdsk C: /F/R/X/B
Уверен, она не помешает. Успехов.
Спасибо
Большое спасибо, все точно и красиво описано. Автору респект.