Busybox при загрузке linux

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/vda2 4096 83884031 83879936 40G Linux filesystem

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

sudo dumpe2fs /dev/vda2 | grep superblock

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

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

sudo fsck -b 98304 /dev/vda2 -y

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

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

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

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

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

Читайте также:  Linux создать ярлык ссылку

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

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)

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

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

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

Alert! /dev/ТОМ Does Not Exist

Проблема с Fstab

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

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

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

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

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

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

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

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

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

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

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

Затем измените 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

Связанные статьи:

Источник

Не загружается Ubuntu/Mint/Kali с initramfs в BusyBox

date

22.11.2019

user

VyacheslavK

directory

Ubuntu

comments

комментариев 13

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

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

ошибка initramfs BusyBox в Ubuntu / Mint / Kali

Проблема с суперблоком

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

Для восстановления в случае такой проблемы, нам нужно загрузиться с образа/диска и запустить Terminal. После загрузки, в терминале вводим команду:

# sudo fdisk -l|grep Linux|grep -Ev ‘swap’

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

/dev/vda2 4096 83884031 83879936 40G Linux filesystem

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

# sudo dumpe2fs /dev/vda2 | grep superblock

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

dumpe2fs /dev/vda2 | grep superblock вывод всех сперблоков

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

# sudo fsck -b 98304 /dev/vda2 -y

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

Нужно отмонтировать раздел:
# umount /dev/vda2

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

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

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

Читайте также:  File recovery with linux

Ошибка диска fsck

Второй вариант ошибки, наличие следующей строки в окне терминала:

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

busybox initramfs - UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

Если вы не видите такой ошибки, попробуйте ввести (initramfs) exit в окне терминала. Ошибка может появиться после этого..

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

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

Ошибка диска: /dev/sda1 does not exist

Проблема с fstab

Если при загрузке сервера вы видите ошибку:

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

initramfs в busybox /dev/sda1 does not exist

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

Система выдаст что-то подобное:

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

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

Монтируем наш раздел в любую директорию, например:

Получаем в директории /mnt весь наш раздел /dev/sda2, находим там файл /etc/fstab и изменяем строку, содержащую /dev/sda1 на:

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

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

Так же данный вариант можно решить, загрузившись в emergency. Перемонтируйте корень для записи:

После чего измените fstab и перезапустите сервер.

Проблема с железом

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

Загрузитесь в режиме emergency или с 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

укажите UUID диска в grub.cfg

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

page

Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры

Установка и использование подсистемы Linux (WSL 2) в Windows 10

Zabbix: установка и базовая настройка системы мониторинга

Zabbix: проверка доступности запросом ICMP Ping

Источник

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