zaLinux.ru

Ubuntu/Mint/Kali загружается в initramfs BusyBox (РЕШЕНО)


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

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

Восстановление неработающего суперблока Ext4 в Linux

Если Ubuntu вылетает в busybox во время инициализации initramfs, возможно, на диске повреждён суперблок.

Несколько копий суперблока хранятся в Linux. Чтобы восстановить систему в случае возникновения этой проблемы, вам необходимо загрузиться с аварийного образа/диска Live CD и запустить терминал. После загрузки введите в терминал следующую команду:

sudo fdisk -l|grep Linux|grep -Ev 'swap'

Команда возвращает информацию о вашем томе:

/dev/sdb2 4096 83884031 83879936 40G Linux filesystem

Запомните имя тома и укажите его в следующей команде:

sudo dumpe2fs /dev/sdb2 | grep superblock

Команда покажет список резервных суперблоков:

Мы воспользуемся вторым резервным суперблоком для замены повреждённого (можно использовать любой суперблок, кроме первичного). Проверьте диск с помощью резервного суперблока:

sudo fsck -b 98304 /dev/sdb2 -y

Если вы получите такой результат:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/sdb2 is mounted.
e2fsck: Cannot continue, aborting

Размонтируйте том:

umount /dev/sdb2

После успешной замены суперблока вы получите такое сообщение:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/sdb2 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/sdb2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

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

На моей практике показанный выше метод срабатывает практически всегда. Но однажды я столкнулся с исключением — система продолжала загружаться в initramfs даже после восстановления суперблока. Я сделал несколько попыток используя различные резервные копии суперблока, но это также ничего не изменило. В результате мне помогло следующее: в меню загрузки GRUB я выбрал пункт «Дополнительные опции» и выбрал другое ядро. Окончательно решить проблему удалось удалив ядро XanMod с переходом на стандартную версию ядра для данного дистрибутива. После удаления ненужных ядер необходимо выполнить обновление настроек GRUB с помощью команды:

sudo update-grub

Смотрите также: Как установить последние версии ядра Linux в Debian и основанные на Debian дистрибутивы


Fsck Boot Error: Unexpected Inconsistency

Второй вариант проблемы initramfs (BusyBox) включает следующее сообщение в окне терминала:

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

Если вы его не видите, попробуйте ввести в (initramfs)

exit

в окне терминала. Ошибка может появиться после того, как вы это сделаете.


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

fsck /dev/sda1 -y

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

Alert! /dev/ТОМ Does Not Exist

Проблема с Fstab

При загрузке хоста Linux вы можете увидеть следующую ошибку:

ALERT! /dev/sda1 does not exist. Dropping to a shell.

Возможно, вы только что установили Linux или у вашего хоста возникли проблемы с fstab. Чаще всего проблема возникает при установке системы с USB-накопителя. Система может показывать ошибку любого тома. Как и в первом случае, мы должны загрузиться с загрузочного / аварийного носителя Linux и выполнить некоторые действия. Проверьте UUID диска с помощью этой команды:

sudo blkid

Система вернёт примерно следующее:

/dev/sda2: UUID="36cce3d5-cbdb-46f4-adbf-3f9aaa01d729" TYPE="ext4" PARTUUID="fea4dab1-4e12-4327-85c6-76ade18f64e1"

Здесь мы видим, что система должна загружаться с sda2, но на самом деле она пытается загрузиться с sda1.

Смонтируйте том в любой каталог, например:

sudo mount /dev/sda2 /mnt

Когда вы увидите /dev/sda2 в каталоге /mnt, найдите там файл /etc/fstab и измените строку, содержащую /dev/sda1, следующим образом:

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

Сохраните файл. Отмонтируйте том от /mnt и перезагрузитесь. Если проблема связана с неправильным именем тома, сервер загрузится.


Также вы можете решить эту проблему, загрузившись в аварийном режиме. Перемонтируйте корневой каталог как чтение / запись:

sudo mount -o remount,rw /

Затем измените fstab и перезапустите сервер.

Аппаратная проблема

На некоторых материнских платах порты SATA могут иметь случайные числа. Это также может вызвать ошибку, описанную в предыдущем разделе. Чтобы исправить это, вы должны отредактировать загрузчик grub.

Загрузитесь в аварийном режиме или с Live CD и отредактируйте файл /boot/grub/grub.cfg.

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

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

замените путь к диску на его UUID:

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes


Рекомендуемые статьи:

1 Комментарий

  1. Игорь

    Здравствуйте! У меня на диске компьютера установлены две системы: Linux Mint 21 и Windows 10. С недавних пор при попытке загрузить Linux выскакивает сообщение аналогичное, указанному в начале Вашей статьи (BusyBox  и initramfs). Провёл "лечение" согласно Вашим рекомендациям, Linux Mint стал загружаться без проблем. Но стоит поработать в Windows 10, а потом попытаться перезагрузиться или сразу после включения выбрать Linux, проблема возвращается. В чём дело?!

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *