Ubuntu / Mint / Kali se ne učitava s initramfsima u BusyBoxu

U ovom ćemo članku razmotriti rješenja problema kada se virtualni ili fizički poslužitelj temeljen na Ubuntu / Mint / Kali ne učita i padne u busybox u vrijeme inicijalizacije initramfs. U ovom se slučaju Linux ne podiže, a korisniku je dostupna samo naredbena linija initramfs.

Initramfs - ovo je početni RAM datotečni sustav temeljen tmpfs, koji ne koristi zasebni blok uređaj. kao initrd, Sadrži uslužne programe i skripte potrebne za montiranje datotečnih sustava prije poziva inita koji se nalazi u korijenovom datotečnom sustavu.

Problem Superblock

Ako je Ubuntu pao u zauzet okvir tijekom inicijalizacije initramfa, oštećeni superblok se možda pojavio na disku. Linux pohranjuje više primjeraka superblokova.

Da bismo se oporavili u slučaju takvog problema, moramo se dignuti sa slike / diska i pokrenuti Terminal. Nakon učitavanja, u terminal unosimo naredbu:

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

Tim će vratiti informacije o našem odjeljku:

/ dev / vda2 4096 83884031 83879936 40G Linux datotečni sustav

Zapamtite naziv odjeljka i navedite ga u sljedećoj naredbi:

# sudo dumpe2fs / dev / vda2 | grep superblok

Naredba će vratiti popis rezervnih superblokova:

Upotrijebit ćemo drugi sigurnosni superblok za zamjenu oštećenog (možete odabrati bilo koji drugi osim Primarnog). Provjerimo disk pomoću rezervnog potbloka za oporavak:

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

Ako dobijete izlaz:

fsck iz util-linux 2.31.1 e2fsck 1.44.1 (24. ožujka 2018.) / dev / vda2 je montiran. e2fsck: Ne može se nastaviti, pobačaj

Morate isključiti odjeljak:
# umount / dev / vda2

Nakon uspješne zamjene superbloka, trebali biste dobiti sljedeću poruku:

fsck iz util-linux 2.31.1 e2fsck 1.44.1 (24. ožujka 2018.) / dev / vda2 nije bio čisto isključen, provjera prisiljena. Prolaz 1: Provjera ulazaka, blokova i veličina Prolaz 2: Provjera strukture direktorija Prolaz 3: Provjera povezanosti direktorija Prolaz 4: Provjera referentnih brojeva Prolaz 5: Provjera sažetka informacija grupe Besplatni brojevi pogrešno broje za grupu # 231 (32254, broji = 32253) , Fix? da Broj besplatnih blokova je pogrešan za grupu # 352 (32254, prebrojano = 32248). Fix? da Broj besplatnih blokova je pogrešan za grupu # 358 (32254, prebrojano = 27774). Fix? da ... / dev / vda2: ***** SUSTAV FILE JE IZMIJENJEN ***** / dev / vda2: 85986/905464576 datoteke (0,2% non-contiguous), 3904682/905464576 blokova

Sada ponovo pokrenite računala odvajanjem distribucijskog diska i sve bi trebalo biti u redu.

Pogreška Fsck diska

Druga varijanta pogreške je prisustvo sljedećeg retka u prozoru terminala:

/ dev / sda1: NEIZVJESENA NEPOKRETNOST; RUN fsck RUČNO Korijenski datotečni sustav na / dev / sda1 zahtijeva ručni fsck.

Ako ne vidite takvu pogrešku, pokušajte unijeti (initramfs) izlaz u prozoru terminala. Nakon toga može se pojaviti pogreška ...

Pogreška će ukazati na glasnoću koja zahtijeva pokretanje ručne provjere diska. U naredbenom retku initramfs učinite:

# fsck / dev / sda1 -y

Nakon potpune provjere, morate ponovno pokrenuti poslužitelj i provjeriti je li sve u redu.

Pogreška diska: / dev / sda1 ne postoji

Problem s fstab-om

Ako se pri učitavanju poslužitelja pojavi pogreška:

ALERT! / dev / sda1 ne postoji. Ispada na školjku.

Najvjerojatnije ste upravo instalirali Linux ili postoje problemi na vašem poslužitelju fstab. Najčešće se problem javlja prilikom instaliranja sustava sa USB-voziti. Odjeljak na koji se zaklinje sustav može biti bilo što. Kao i u prvom slučaju, moramo se pokrenuti sa slike sustava i izvršiti neke radnje. Uvjerite disk UUID pomoću naredbe:

# sudo blkid

Sustav će proizvesti ovako nešto:

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

Odavde je već jasno da se sustav mora pokrenuti sa sda2, ali u stvari se pokreće sa sda1.

Naši odjeljak montiramo u bilo koji direktorij, na primjer:

# sudo mount / dev / sda2 / mnt

Dobivamo cjelokupnu / dev / sda2 particiju u / mnt direktoriju, pronalazimo tamo / etc / fstab datoteku i mijenjamo redak koji sadrži / dev / sda1 u:

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

Spremite datoteku. Isključite particiju iz / mnt i ponovno pokrenite računalo, ako je problem bio povezan s pogrešnom adresom particije, poslužitelj će se pokrenuti..

Također, ova se mogućnost može riješiti učitavanjem u nuždi. Zamijenite korijen da napiše:

# sudo mount -o ponovni prikaz, rw /

Zatim promijenite fstab i ponovno pokrenite poslužitelj.

Željezni problem

Na nekim matičnim pločama, lukama SATA mogu dobiti proizvoljne brojeve. Također može uzrokovati pogrešku opisanu u prethodnom odlomku. Da biste popravili pogrešku, morate promijeniti alat za pokretanje softvera.

Dizanje u hitnom načinu ili s live-cd i modificiranje datoteke /boot/grub/grub.cfg

Na primjer, u retku u kojem se učitava odjeljak:

Linux /boot/vmlinuz-4.15.0-70-generic root = / dev / sda1 rw miran lift = noop fsck.repair = da

Promijenite stazu pogona na UUID:

Linux /boot/vmlinuz-4.15.0-70-generic root = UUID = 36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro tihi lift = noop fsck.repair = da