В этой статье мы покажем, как решить проблемы, которые возникают, когда компьютер под управлением 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
Связанные статьи:
- Ошибка «Initramfs unpacking failed: invalid magic at start of compressed archive» (РЕШЕНО) (100%)
- Как загрузиться в режиме восстановления или в аварийном режиме в Ubuntu 20.04 / 18.04 (60.1%)
- Ошибка «Cannot open access to console, the root account is locked» (РЕШЕНО) (60.1%)
- Как определить, почему Linux загружается в Emergency mode (60.1%)
- Как отремонтировать диск LVM с помощью fsck (60.1%)
- Где в Linux хранятся корневые сертификаты Центров Сертификации (CA) (RANDOM - 50%)
Здравствуйте! У меня на диске компьютера установлены две системы: Linux Mint 21 и Windows 10. С недавних пор при попытке загрузить Linux выскакивает сообщение аналогичное, указанному в начале Вашей статьи (BusyBox и initramfs). Провёл "лечение" согласно Вашим рекомендациям, Linux Mint стал загружаться без проблем. Но стоит поработать в Windows 10, а потом попытаться перезагрузиться или сразу после включения выбрать Linux, проблема возвращается. В чём дело?!