Popravak sustava: HowTo chroot

Mnogo smo se puta, pogotovo kad smo se zezali, našli u neprilici da ne možemo pristupiti sustavu kako bismo ga popravili, ali rješenje je jednostavno: upotrijebite naredbu chroot s bilo kojeg LiveCD / RepairCD.

Na mnogim se mjestima (forumima, blogovima ...) spominje ova naredba i daje se "copy / paste" koda, ali namjera mi je u ovom postu objasniti te korake kako bih ovo dobro iskoristila alat, sa znanjem uzroka.

I

Naredba chroot Poznat je pod nazivom CHangeROOT, odnosno naredba koja vam omogućuje promjenu korijena sustava na kojem radite. Drugim riječima: ako ste iz LiveCD-a i želite da sve što radite na konzoli utječe na instalirani sustav, prvo morate iskoristiti chroot.

Problem je u tome što ga nije dovoljno koristiti chroot Kao takvi, prije nego što moramo pravilno montirati određene particije.

KAKO DA

Prvo moramo pokrenuti terminal, bilo s drugog instaliranog sustava (na drugoj particiji / disku) ili sa LiveCD-a. VAŽNO: arhitektura LiveCD-a mora se podudarati s arhitekturom sustava koji se popravlja (32 ili 64 bita).
Jednom kad smo u terminalu, započet ćemo identificiranjem naših particija:
fdisk -l

  • Ovom naredbom ćemo navesti sve naše particije / diskove. Moramo prepoznati koja je ciljana particija, gdje je instaliran naš sustav za popravak, od sada ćemo je nazivati slomljeni sustav.

U ovom ćemo primjeru uzeti u obzir da je naš slomljeni sustav u sustavu / dev / sda1 .

Nastavljamo sa sastavljanjem sustava. Prvo ćemo stvoriti mapu u kojoj ćemo raditi, a kasnije u tu mapu montiramo particiju na kojoj se nalazi naš slomljeni sustav
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Ako imate mapu / Početna o / var ili bilo koju drugu na drugoj particiji, trebali biste je montirati na sljedeći način:
mount /dev/sda2 /mnt/my_linux/var

  • NAPOMENA: Kao primjer uzeo sam particiju / dev / sda2 za mapu / var, neka svaka prilagodi kôd svojim karakteristikama.

Obično bi to bilo dovoljno ako jednostavno trebate uređivati ​​datoteke ručno, ali ako želimo izvršiti neke naredbe koje konfiguriraju sustav, moramo montirati određene posebne sistemske mape: / razv, / proc/ sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • S opcijom -t kažemo montirati vrsta "datotečnog sustava" koji želimo montirati. Potrebno ga je navesti zbog posebne prirode mapa / proc y / sys.
  • S opcijom -o specificiramo mogućnosti montirati. Mogućnost vezati služi za "povezivanje". U UNIX-u su svi hardverski uređaji dostupni putem mape / razv, zato moramo montirati svoju struju / razv u mapi u kojoj je sada naš pokvareni sustav. Kako je ova mapa već montirana, potrebno je samo reći montirati gdje je izvorno montiran.

To je učinjeno na ovaj način, tako da chroot imaju pristup tim mapama kao da su pokvareni sustav, iako moraju biti iz trenutnog sustava (npr. LiveCD sesija) jer su povezane sa stanjem sustava, procesima i hardverom.

Sada je vrijeme za upotrebu chroot:
chroot /mnt/my_linux/ /bin/bash

  • Naredba se kao argumenti predaje putu novog korijena «/» (što je u našem slučaju / mnt / my_linux) i konzolu koju želite koristiti (u ovom smo se slučaju odlučili za dobro poznati bash, pronađen u / bin / bash). Ako ne odredimo konzolu, naći ćemo se pred pomalo arhaičnim interpretatorom naredbi (ne popunjava se pritiskom na karticu itd.).

Sada možemo koristiti konzolu kao da smo pokrenuli root sesiju na našem slomljenom sustavu (uređivanje datoteka, provjera skripti, instaliranje / deinstaliranje paketa ...). UPOZORENJE! Da bi izmjene stupile na snagu, morate demontirati datotečni sustav nakon izlaska chrootPogledajte primjer u nastavku.

Više informacija u https://wiki.archlinux.org/index.php/Change_Root (više od preporučenog čitanja).

Primjer upotrebe: vratiti GRUB2

Jedna od najrasprostranjenijih upotreba chroot To je kao alat za popravak GRUBA. Budući da ako se kvar pokvari, praktički je nemoguće pokrenuti naš sustav da ga popravi.

OBAVIJEST: ovaj je mali vodič samo primjer, radi na raznim distribucijama izvedenim iz Debiana, Ubuntu-a i openSUSE-a. Unatoč tome, provjerite dokumentaciju svoje distribucije, jer u mnogim naredbama nije pronađena ažuriranje-grub.
# NAPOMENA: ove se naredbe izvršavaju jednom u chrootu.update-grub
grub-install /dev/sda

  • s ažuriranje-grub Ažuriramo izbornik unosa GRUB2, dodajući tako sve nedostajuće ulaze. Kasnije GRUB ponovno instaliramo na naš disk, jer je oštećen.

U ovom slučaju sam uzeo / dev / sda poput albuma u kojem imamo svoj sustav, i ovaj mora biti prilagođen vašem slučaju.

Naš GRUB bi već trebao biti popravljen, pa moramo izaći chroot, demontirajte datotečni sustav (VAŽNO) i ponovno pokrenite da bi promjene stupile na snagu. Ako zaboravimo demontirati datotečni sustav, moguće je da se ponovno pokretanje datoteka neće ispravno demontirati pa neke promjene neće stupiti na snagu.
# ostavili smo chrootexit
# demontirajte datotečni sustav i ponovno pokrenite sustavumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

I to je sve. Nadam se da ćete uživati ​​i da će vam pomoći. Pozdrav!


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Leper_Ivan dijo

    Mogu ovo iskoristiti .. U jednom trenutku to moram iskoristiti.

  2.   mario dijo

    Je li itko od vas koristio Chakra Benz? Ako je tako, možete li mi reći jeste li
    je li jednostavno za običnog korisnika? Koristim SolydK koji je vrlo jednostavan, ali
    Razumijem da je čakra čisti KDE i to me zanima.

    1.    wow dijo

      Da, čakra je vrlo dobra i manje-više jednostavna, stvar je u tome da za instaliranje / deinstaliranje paketa to morate učiniti s konzolom, jer još uvijek rade na grafičkom upravitelju paketa. Pokušajte jer vrijedi. Koristi upravitelj paketa pacman, naslijeđen od Archlinuxa, ali pazite, ne dijeli spremišta s archom i NIJE kompatibilan s njima. Ako želite saznati više o pacmanu, pogledajte wiki arch https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp dijo

        Oktopi je već stabilan i radi prilično dobro za prosječnog korisnika, s tim da vam nije potreban terminal da biste koristili pacman.

  3.   x11tete11x dijo

    Nadam se da će ovaj post posjetiti mnogi, pa će oni početi ponovno instalirati glavu za bilo što kada s chroot-om gotovo uvijek možete popraviti sustav, chroot vam omogućuje puno mogućnosti, uključujući instaliranje Gentoo xD hahaha

  4.   mjesečina dijo

    lijepo, hvala ... Nikad mu nisam dao loptu jer mi se čini da je neki live-cd za popravak podigao prema zadanim postavkama, ali sada je jasno, hvala još jednom.

  5.   Lolo dijo

    Da biste je dovršili, bilo bi dobro objasniti kako montirati LVM particije, šifrirane particije i RAID sustave.

    1.    wow dijo

      mmm Već dugo nisam dirao LVM i RAID, ali možete li me malo obavijestiti da dovršim ovo ... hvala na savjetu!

      1.    Lolo dijo

        Pa istina je da bih mogao dobro doći.

        Bilo bi vrlo cijenjeno.

        1.    wow dijo

          pogledajte ovaj wiki, prilično je cool http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dijo

    Da je samo ova tema postojala nekoliko tjedana kasnije, ispostavilo se da sam imao problema sa svojim sustavom, čitao sam i čitao i svugdje sam pronašao chroot i blablablu, ali nije mi uspio na temelju te preporuke uživo koja je isti kao i vaš sustav, vrlo važan jer koristim x64, drugi je montiranje sistemskih particija, jer u mom slučaju kada sam primjenjivao chroot i montiranje, bacao sam naredbu i ona jednostavno nije prepoznala naredbu.

    Ova tema ići će na moje datoteke "info compilation"

  7.   kolačić dijo

    Arch LiveCD (s ovim alatom) je sve što je potrebno za popravak vašeg sustava kad ga slomite.

    1.    RAW-Basic dijo

      Točno! .. .. to je sve što je potrebno .. čak i za pomoć nekome sa svojim W $ koji je odlučio ne započeti ..

      Uvijek imam sa sobom privjesak od 1 GB s Archom uživo ... a chroot je sve što je potrebno kako biste u bilo kojem problemu za 10 minuta imali sve u redu bez alarma .. 😉

    2.    izzyvp dijo

      Jednostavno moraš znati kako se to radi.

    3.    Pablo dijo

      Pozdrav, primijetite da imam problem sa centosom, on mi paniku kernela itd. A ja to nisam uspio riješiti, tamo imam svoje web mjesto i bazu podataka, ne znam što bih drugo mogao učiniti.

  8.   jony127 dijo

    Dobar post, u prolazu sam čuo neki chroot, ali zapravo nisam znao kako se koristi, naravno da mi nikada nije trebao i zato nisam nešto posebno pročitao. Sad s vrlo jasnim objašnjenjem vašeg posta, znam ga koristiti u slučaju.

    Puno vam hvala i usput, živio Led Zeppelin hehe.

  9.   Kamala dijo

    hvala, napokon sam izašao iz noćne more spašavanja

    u stvari slijedio sam sve korake, osim umount / mnt / my_linux, jer mi je rekao da je zauzet, a ja sam stopio -km, ali ni to, i odskočio ...

    Nadam se da nije važno….

    hvala još jednom…
    pozdrav

  10.   Jose Antonio dijo

    Iako je članak već par godina, želim zahvaliti autoru na njegovoj velikodušnosti što ga je podijelio, sjajan je članak jer mi je ovaj vikend spasio život. Nehotice sam učitao poslužitelj instalirajući paket i prilikom ponovnog pokretanja se nije učitao. Nakon tri dana pokušaja popravljanja i čitanja različitih članaka, uspio sam doći slučajno i napokon uspio ponovno instalirati grub i popraviti poslužitelj.

    Hvala vam puno!

    1.    wow dijo

      Drago mi je da vam je pomoglo. Hvala na komentaru!

  11.   Sunce dijo

    Pozdrav, znam da ovaj post prije mnogo godina, hvala vam što ste ga podijelili. I sumnjao sam, u mom slučaju oštetio je sustav, a također i mrežne upravljačke programe, pa sam slijedio korake, ali ne dopušta mi preuzimanje paketa, postoji li način povezivanja žive mreže s terminalom

    1.    wow dijo

      Ne razumijem zapravo vaš problem ... Kada se prijavite s LiveCD-om, kernel koji se učitava je onaj iz LiveCD-a, stoga biste trebali moći savršeno konfigurirati internetsku vezu. Nakon uspostavljanja veze, pokušajte izvršiti chroot kako biste vidjeli nastavljate li ga održavati, ako ne, možda ćete ga morati ponovno konfigurirati, ali oštećeni kernel ne bi trebao utjecati na chroot sesiju.
      Ako ne navedete više, mogu vam reći ...

  12.   Dacha dijo

    Izvrsna pošta ... jedan od rijetkih korisnih članaka nađenih na Internetu.
    Puno vam hvala na doprinosu.

  13.   zopeck dijo

    Pozdrav, izvrstan tutorial! Izvrsno objašnjeno, za nas puke smrtnike!

    Imam pitanje:
    Kad ste spomenuli da u slučaju da trebate instalirati pakete, izvršiti ažuriranje sustava ili neku drugu posebnu aktivnost i ako trebate montirati mape / dev / proc i / sys, nije mi bilo jasno jesu li te mape u sustavu Live s kojim radimo započeo opremu za popravak ili ako je ona prvo postavljena na root particiju.

    Hvala vam.

  14.   Orlando dijo

    HVALA PUNO!!!!