Ubuntu / Mint / Kali se nenačte s initramfs v BusyBoxu

V tomto článku budeme zvažovat řešení problémů, když se virtuální nebo fyzický server založený na Ubuntu / Mint / Kali nenačte a odpadne v busybox v době inicializace initramfs. V tomto případě se Linux nespustí a uživatel má k dispozici pouze příkazový řádek initramfs.

Initramfs - Toto je počáteční systém souborů RAM založený na tmpfs, který nepoužívá samostatné blokové zařízení. Jako initrd, obsahuje obslužné programy a skripty potřebné k připojení souborových systémů před voláním init, která je umístěna v kořenovém souborovém systému.

Superblock vydání

Pokud Ubuntu během inicializace initramfs upadl do busyboxu, na disku se mohl objevit poškozený superblock. Linux ukládá více kopií superbloků.

K zotavení v případě takového problému je třeba zavést systém z obrazu / disku a spustit Terminál. Po načtení do terminálu zadáme příkaz:

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

Tým vrátí informace o naší sekci:

/ dev / vda2 4096 83884031 83879936 40G Linux souborový systém

Zapamatujte si název sekce a zadejte jej v následujícím příkazu:

# sudo dumpe2fs / dev / vda2 | grep superblock

Příkaz vrátí seznam náhradních superbloků:

Poškozený nahradíme druhým záložním superblockem (můžete si vybrat jakýkoli jiný než primární). Podívejme se na disk pomocí záložního dílčího bloku pro zotavení:

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

Pokud dostanete výstup:

fsck z util-linux 2.31.1 e2fsck 1.44.1 (24-Mar-2018) / dev / vda2 je připojen. e2fsck: Nelze pokračovat, přeruší se

Musíte odpojit sekci:
# umount / dev / vda2

Po úspěšném nahrazení superbloku byste měli obdržet následující zprávu:

fsck z util-linux 2.31.1 e2fsck 1.44.1 (24-Mar-2018) / dev / vda2 nebyl čistě odpojen, kontrola vynucena. Průchod 1: Kontrola inodů, bloků a velikostí Průchod 2: Kontrola struktury adresářů Průchod 3: Kontrola připojení adresářů Průchod 4: Kontrola referenčních počtů Průchod 5: Kontrola souhrnných informací o skupině Počet chybných bloků je nesprávný pro skupinu # 231 (32254, počítáno = 32253) . Opravit? ano Počet bloků volných bloků je špatný pro skupinu # 352 (32254, počítáno = 32248). Opravit? ano Počet bezplatných bloků se špatně počítá pro skupinu # 358 (32254, počítáno = 27774). Opravit? ano ... / dev / vda2: ***** FILE SYSTÉM byl upraven ***** / dev / vda2: 85986/905464576 souborů (0,2% nesousedících), 3904682/905464576 bloků

Nyní restartujte počítače odpojením distribučního disku a vše by mělo být v pořádku.

Chyba disku Fsck

Druhou variantou chyby je přítomnost následujícího řádku v okně terminálu:

/ dev / sda1: NEPREDAŽENÁ NEZÁVISLOST; RUN fsck MANUALLY Kořenový souborový systém na / dev / sda1 vyžaduje ruční fsck.

Pokud takovou chybu nevidíte, zkuste v okně terminálu zadat exit (initramfs). Poté se může objevit chyba ...

Chyba bude označovat svazek, který vyžaduje spuštění ruční kontroly disku. Na příkazovém řádku initramfs proveďte následující kroky:

# fsck / dev / sda1 -y

Po úplné kontrole je třeba restartovat server a zkontrolovat, zda je vše v pořádku.

Chyba disku: / dev / sda1 neexistuje

Problém s fstab

Pokud se při načítání serveru zobrazí chyba:

UPOZORNĚNÍ! / dev / sda1 neexistuje. Klesá na skořápku.

Pravděpodobně jste právě nainstalovali Linux nebo se na vašem serveru vyskytly problémy fstab. Problém se nejčastěji vyskytuje při instalaci systému pomocí usb-řídit. Sekce, na kterou systém přísahá, může být cokoli. Stejně jako v prvním případě musíme zavést systém z bitové kopie systému a provést některé akce. Ověřte UUID disku pomocí příkazu:

# sudo blkid

Systém vytvoří něco takového:

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

Odtud je již jasné, že systém se musí zavést ze sda2, ale ve skutečnosti se spouští ze sda1.

Připojíme naši sekci do libovolného adresáře, například:

# sudo mount / dev / sda2 / mnt

Do adresáře / mnt dostaneme celý náš oddíl / dev / sda2, najdeme tam soubor / etc / fstab a změní řádek obsahující / dev / sda1 na:

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

Uložte soubor. Odpojte oddíl z / mnt a restartujte, pokud problém souvisel se špatnou adresou oddílu, server se zavede.

Tuto možnost lze také vyřešit načtením do nouzového stavu. Znovu připojte kořenový adresář:

# sudo mount -o remount, rw /

Poté změňte fstab a restartujte server.

Železný problém

Na některých základních deskách, portech SATA mohou získat libovolná čísla. Může také způsobit chybu popsanou v předchozím odstavci. Chcete-li chybu opravit, musíte změnit zavaděč grub.

Spusťte v nouzovém režimu nebo pomocí live-cd a upravte soubor /boot/grub/grub.cfg

Na řádku, kde se sekce načítá, například:

Linux /boot/vmlinuz-4.15.0-70-generic root = / dev / sda1 rw tichý výtah = noop fsck.repair = yes

Změňte cestu na Uuid:

Linux /boot/vmlinuz-4.15.0-70-generic root = UUID = 36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro tichý výtah = noop fsck.repair = yes