В данной статье мы рассмотрим варианты решения проблем, когда виртуальный или физический серверы на базе Ubuntu/Mint/Kali не загружаются и отваливается в busybox в момент инициализации initramfs . При этом Linux не загружается, и пользователю доступна только командная строка initramfs.
Если 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
Команда вернет список запасных суперблоков:
Мы будем использовать второй резервный суперблок для замены поврежденного (можно выбрать любой, кроме Primary). Выполним проверку диска с использованием резевного суберблока для восстановления:
# sudo fsck -b 98304 /dev/vda2 -y
fsck from util-linux 2.31.1_x000D_e2fsck 1.44.1 (24-Mar-2018)_x000D_/dev/vda2 is mounted._x000D_e2fsck: Cannot continue, aborting
Нужно отмонтировать раздел:
# umount /dev/vda2
После успешного выполнения замены суперблока, вы должны получить такое сообщение:
fsck from util-linux 2.31.1_x000D_e2fsck 1.44.1 (24-Mar-2018)_x000D_/dev/vda2 was not cleanly unmounted, check forced._x000D_Pass 1: Checking inodes, blocks, and sizes_x000D_Pass 2: Checking directory structure_x000D_Pass 3: Checking directory connectivity_x000D_Pass 4: Checking reference counts_x000D_Pass 5: Checking group summary information_x000D_Free blocks count wrong for group #231 (32254, counted=32253)._x000D_Fix? yes_x000D_ Free blocks count wrong for group #352 (32254, counted=32248)._x000D_Fix? yes_x000D_Free blocks count wrong for group #358 (32254, counted=27774)._x000D_Fix? yes_x000D_.........._x000D_/dev/vda2: ***** FILE SYSTEM WAS MODIFIED *****_x000D_/dev/vda2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks
Теперь перезагрузите компьютеры, отключив диск с дистрибутивом и все должно быть в порядке.
Второй вариант ошибки, наличие следующей строки в окне терминала:
/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY_x000D_The root filesystem on /dev/sda1 requires a manual fsck.
В ошибке будет указан том, который требует запуска ручной проверки диска. В командной строке initramfs выполните:
# fsck /dev/sda1 -y
После полной проверки, нужно перезапустить сервер и проверить все ли в порядке.
Если при загрузке сервера вы видите ошибку:
ALERT! /dev/sda1 does not exist. Dropping to a shell.
Скорее всего вы только что установили Linux или то на вашем сервере есть проблемы в fstab . Чаще всего проблема возникает при установке системы с usb -накопителя. Раздел на который ругается система, может быть какой угодно. Как и в первом случае, нам нужно загрузиться с образа системы и выполнить некоторые действия. Проверьте 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
Получаем в директории /mnt весь наш раздел /dev/sda2, находим там файл /etc/fstab и изменяем строку, содержащую /dev/sda1 на:
UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1
Сохраняем файл. Отмонтируем раздел от /mnt и перезагрузимся, если проблема была связана с не неправильным адресом разделе, сервер загрузится.
Так же данный вариант можно решить, загрузившись в emergency. Перемонтируйте корень для записи:
# sudo mount -o remount,rw /
После чего измените 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
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…