Ошибка busybox при запуске linux

Ubuntu не загружается дальше initramfs

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

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

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

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

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

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

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

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

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

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

mkdir /mnt
mount /dev/sda5 /mnt
ls

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

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

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

Читайте также:  Имя домена linux команда

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

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

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

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

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

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

Выводы

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

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

Источник

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

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

Читайте также:  Разбиваем диск для линукс

На моей практике показанный выше метод срабатывает практически всегда. Но однажды я столкнулся с исключением — система продолжала загружаться в 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 и перезагрузитесь. Если проблема связана с неправильным именем тома, сервер загрузится.

Читайте также:  Linux double commander install

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

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

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

Источник

🧰 Как исправить ошибку Busybox Initramfs на Ubuntu

Сегодня я включил его, и процесс загрузки упал до оболочки BusyBox, и в итоге я получил сообщение initramfs.

BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs)

П оэтому я просто передал команду «exit», чтобы посмотреть, что произойдет.

А потом я увидел настоящую ошибку:

(initramfs) exit /dev/sda1 contains a file system with errors, check forced. Inode 4326476 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED. /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) fsck exited with status code 4. The root filesystem on /dev/sda1 requires a manual fsck. BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) Enter 'help' for a list of built-in commands. (initramfs)

Для тех, кто задается вопросом, BusyBox – это программный пакет, который объединяет множество стандартных утилит UNIX в один небольшой исполняемый файл.

Он обеспечивает замену большинства утилит, которые вы обычно найдете в GNU fileutils, shellutils и т. д.

Initramfs – это начальная файловая система RAM, основанная на tmpfs.

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

Исправим ошибку Busybox Initramfs на Ubuntu

Чтобы устранить ошибку initramfs в Ubuntu, вам необходимо восстановить файловую систему в поврежденном разделе с помощью команды «fsck»:

Теперь она начнет автоматически исправлять все ломаные блоки в файловой системе.

Через пару минут вы увидите следующий результат:

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED ***** /dev/sda1: 497733/30531584 files (1.5% non-contiguous), .

Теперь введите «reboot» и нажмите ENTER, чтобы перезагрузить систему!

Скрестите пальцы и дождитесь перезагрузки системы!

Если все прошло хорошо, ваша система загрузится без проблем.

Источник

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