Ubuntu / Mint / Kali не се зарежда с initramfs в BusyBox

В тази статия ще разгледаме решения на проблеми, когато виртуален или физически сървър, базиран на Ubuntu / Mint / Kali, не се зарежда и пада в BusyBox в момента на инициализация initramfs. В този случай Linux не се зарежда и за потребителя е достъпен само командният ред initramfs.

Initramfs - това е първоначалната файлова система на RAM tmpfs, което не използва отделно блок устройство. като initrd, тя съдържа помощните програми и скриптове, необходими за монтиране на файловите системи, преди да извикате init, който се намира в кореновата файлова система.

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

Ако Ubuntu попадна в busbox по време на инициализация на initramfs, повреденият суперблок може да се появи на диска. Linux съхранява множество копия на суперблокове.

За да се възстановим в случай на такъв проблем, трябва да стартираме от изображението / диска и да стартираме Terminal. След зареждането в терминала въвеждаме командата:

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

Екипът ще върне информация за нашия раздел:

/ dev / vda2 4096 83884031 83879936 40G Linux файлова система

Запомнете името на секцията и я посочете в следната команда:

# sudo dumpe2fs / dev / vda2 | греп суперблок

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

Ще използваме втория резервен суперблок, за да заменим повредения (можете да изберете друг, освен първичен). Нека да проверим диска, като използваме резервния подблок за възстановяване:

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

Ако получите резултата:

fsck от util-linux 2.31.1 e2fsck 1.44.1 (24 март 2018) / dev / vda2 е монтиран. e2fsck: Не може да продължи, прекъсва

Трябва да демонтирате раздел:
# umount / dev / vda2

След като успешно замените суперблока, трябва да получите следното съобщение:

fsck от util-linux 2.31.1 e2fsck 1.44.1 (24 март 2018) / dev / vda2 не беше чисто откачен, проверете принудително. Пропуск 1: Проверка на възели, блокове и размери Pass 2: Проверка на структурата на директория Pass 3: Проверка на свързаността на директорията Pass 4: Проверка на референтните числа Pass 5: Проверка на обобщена информация за групата Безплатни блокове са грешни за група # 231 (32254, преброени = 32253) , Fix? да Безплатните блокове се считат грешно за група # 352 (32254, преброена = 32248). Fix? да Безплатните блокове се считат грешно за група № 358 (32254, преброена = 27774). Fix? да ... / dev / vda2: ***** СИСТЕМАТА НА ФАЙЛЪТ Е МОДИФИЦИРАН ***** / dev / vda2: 85986/905464576 файлове (0,2% непрекъснати), 3904682/905464576 блока

Сега рестартирайте компютрите, като изключите дистрибуторския диск и всичко трябва да е в ред.

Fsck диск грешка

Вторият вариант на грешката е наличието на следния ред в прозореца на терминала:

/ dev / sda1: НЕПРЕДЕЛЕНО НЕЗАКОННОСТ; RUN fsck РЪЧНО Корената файлова система на / dev / sda1 изисква ръчен fsck.

Ако не виждате такава грешка, опитайте да въведете (initramfs) изход в прозореца на терминала. След това може да се появи грешка ...

Грешката ще покаже силата на звука, която изисква извършване на ръчна проверка на диска. В командния ред на initramfs направете:

# fsck / dev / sda1 -y

След пълна проверка трябва да рестартирате сървъра и да проверите дали всичко е наред.

Дискова грешка: / dev / sda1 не съществува

Проблем с fstab

Ако видите грешка при зареждането на сървъра:

ALERT! / dev / sda1 не съществува. Изпадане в черупка.

Най-вероятно току-що сте инсталирали 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

Получаваме целия си / dev / sda2 дял в директорията / mnt, намираме файла / etc / fstab там и променяме реда, съдържащ / dev / sda1, на:

UUID = 36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 грешки = remount-rw 0 1

Запазете файла. Деактивирайте дяла от / mnt и рестартирайте, ако проблемът беше свързан с грешен адрес на дяла, сървърът ще се зареди.

Също така тази опция може да бъде разрешена чрез зареждане в спешни случаи. Презаредете корена, за да напишете:

# sudo mount -o преизчисляване, rw /

След това сменете fstab и рестартирайте сървъра.

Железен проблем

На някои дънни платки, пристанища SATA може да получи произволни числа. Той може също да причини грешката, описана в предишния параграф. За да коригирате грешката, трябва да промените зареждащия бутер.

Стартирайте в авариен режим или с live cd и модифицирайте файла /boot/grub/grub.cfg

В реда, в който се зарежда секцията, например:

Linux /boot/vmlinuz-4.15.0-70-generic root = / dev / sda1 rw тих асансьор = noop fsck.repair = да

Променете пътя на устройството на UUID:

Linux /boot/vmlinuz-4.15.0-70-generic root = UUID = 36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro тих асансьор = noop fsck.repair = да