Popravak sistema: HowTo chroot

Mnogo smo se puta, pogotovo kad smo se zezali, našli u neprilici jer nismo mogli pristupiti sistemu kako bi ga popravili, ali rješenje je jednostavno: koristite naredbu chroot s bilo kojeg LiveCD / RepairCD.

Na mnogim mjestima (forumima, blogovima ...) spominje se 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.

Uvod

Naredba chroot Poznat je pod nazivom CHangeROOT, odnosno naredba koja vam omogućava da promijenite korijen sistema na kojem radite. Drugim riječima: ako potječete iz LiveCD-a i želite da sve što radite na konzoli utječe na instalirani sistem, 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

Prvo moramo pokrenuti terminal, bilo s drugog instaliranog sistema (na drugoj particiji / disku) ili sa LiveCD-a. VAŽNO: arhitektura LiveCD-a mora odgovarati arhitekturi sistema koji treba popraviti (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 identificirati koja je ciljana particija, gdje je instaliran naš sustav za popravak, od sada ćemo je zvati pokvareni sistem.

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

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

Ako imate mapu /Dom 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 sam uzeo / dev / sda2 particiju 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 sistem, moramo montirati određene posebne sistemske mape: / dev, / 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

  • Sa opcijom -t kažemo montiranje tip "datotečnog sistema" koji želimo montirati. Potrebno ga je navesti zbog posebne prirode mapa / proc y / sys.
  • Sa opcijom -o preciziramo opcije montiranje. Opcija vezati služi za "povezivanje". U UNIX-u su svi hardverski uređaji dostupni kroz mapu / dev, zato moramo montirati svoju struju / dev u fascikli u kojoj je sada naš pokvareni sistem. Kako je ova mapa već montirana, potrebno je samo reći montiranje gdje je prvobitno montiran.

To se radi na ovaj način, tako da chroot imaju pristup ovim mapama kao da su pokvareni sistem, iako moraju biti iz trenutnog sistema (npr. LiveCD sesija) jer su povezane sa stanjem sistema, procesa i hardvera.

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

  • Naredba se kao argumenti prenosi putem 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 sistemu (uređivanje datoteka, provjeravanje skripti, instaliranje / deinstaliranje paketa ...). UPOZORENJE! Da bi izmjene stupile na snagu, morate demontirati sistem datoteka nakon izlaska chrootPogledajte primjer ispod.

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 GRUB-a. Budući da ako se kvar pokvari, praktički je nemoguće pokrenuti naš sistem da ga popravi.

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

  • con update-grub Ažuriramo ulazni meni GRUB2, dodajući tako sve nedostajuće ulaze. Kasnije GRUB ponovo instaliramo na naš disk, jer je oštećen.

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

Naš GRUB bi već trebao biti popravljen, pa moramo izaći chroot, demontirajte sistem datoteka (VAŽNO) i ponovo pokrenite da bi promjene stupile na snagu. Ako zaboravimo demontirati sistem datoteka, moguće je da se ponovno pokretanje datoteka neće ispravno demontirati pa neke promjene ne bi stupile na snagu.
# ostavili smo chrootexit
# demontirajte sistem datoteka i ponovo pokreniteumount /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 komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Leper_Ivan rekao je

    Mogao bih ovo iskoristiti .. U jednom trenutku to moram iskoristiti.

  2.   Mario rekao je

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

    1.    wow rekao je

      Da, čakra je vrlo dobra i manje-više jednostavna, stvar je u tome što za instaliranje / deinstaliranje paketa to morate učiniti s konzolom, jer oni još uvijek rade u 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 rekao je

        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 rekao je

    Nadam se da će ovaj post posjetiti mnogi, pa će oni početi da se reinstaliraju zbog bilo čega, kada pomoću chroot-a možete popraviti sistem gotovo uvijek, chroot vam omogućava puno mogućnosti, uključujući instaliranje Gentoo xD hahaha

  4.   moony rekao je

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

  5.   Lolo rekao je

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

    1.    wow rekao je

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

      1.    Lolo rekao je

        Pa istina je da bih mogao dobro doći.

        Bilo bi vrlo cijenjeno.

        1.    wow rekao je

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

  6.   Modem rekao je

    Da je samo ova tema postojala nekoliko sedmica kasnije, ispostavilo se da sam imala problema sa sistemom, čitala sam i čitala i svugdje sam pronašla chroot i blablablu, ali nije mi uspjela na osnovu te preporuke uživo koja je isti kao i vaš sistem, 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 "prikupljanja informacija"

  7.   kolačić rekao je

    Arch LiveCD (s ovim alatom) je sve što je potrebno za popravljanje vašeg sistema kada ga slomite.

    1.    RAW-Basic rekao je

      Tačno! .. .. to je sve što je potrebno .. čak i za pomoć nekome sa svojim $, koji je odlučio da ne započne ..

      Uvijek imam sa sobom pendrive 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 rekao je

      Jednostavno moraš znati kako se to radi.

    3.    pablo rekao je

      Pozdrav, primijetite da imam problem sa centosom, on mi šalje paniku kernela itd. A ja to nisam uspio riješiti, tamo imam svoju web stranicu i bazu podataka, ne znam šta drugo da radim.

  8.   jony127 rekao je

    Dobar post, u prolazu sam čuo neki chroot, ali zapravo nisam znao kako se koristi, naravno da mi nikada nije bio potreban i zato nisam nešto posebno pročitao. Sad kad ste vrlo jasno objasnili vaš post, znam kako da ga koristim u slučaju.

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

  9.   kamala rekao je

    hvala, napokon sam se izvukao 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 stopim -km, ali ni to, i odbijam ...

    Nadam se da nije važno….

    hvala još jednom…
    pozdravi

  10.   Jose Antonio rekao je

    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 server koji instalira paket i prilikom ponovnog pokretanja se nije učitao. Nakon tri dana pokušaja popravljanja i čitanja različitih članaka, uspio sam slučajno doći ovdje i konačno uspio ponovo instalirati grub i popraviti server.

    Puno vam hvala!

    1.    wow rekao je

      Drago mi je što vam je pomoglo. Hvala na komentaru!

  11.   sunce rekao je

    Pozdrav, kako bih znao da ovaj post prije mnogo godina, hvala vam što ste ga podijelili. I sumnjao sam, u mom slučaju oštetio je sistem, 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 rekao je

      Zapravo ne razumijem vaš problem ... Kada se prijavite sa LiveCD-om, kernel koji se učitava je onaj iz LiveCD-a, stoga biste trebali biti u mogućnosti 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 ponovo konfigurirati, ali oštećeni kernel ne bi trebao utjecati na chroot sesiju.
      Ako ne navedete više, mogu vam reći ...

  12.   dacha rekao je

    Odlična pošta ... jedan od rijetkih korisnih članaka koji se mogu naći na Internetu.
    Puno vam hvala za doprinos.

  13.   zopeck rekao je

    Pozdrav, odličan vodič! Izvrsno objašnjeno, za nas puke smrtnike!

    Imam pitanje:
    Kada ste spomenuli da u slučaju da trebate instalirati pakete, izvršiti ažuriranja sistema ili druge posebne aktivnosti i zahtijevati montiranje direktorija / dev / proc i / sys, nije mi bilo jasno jesu li te mape u sistemu Live s kojim radimo započeo opremu koju treba popraviti ili ako je ona prvo postavljena na root particiju.

    Hvala.

  14.   Orlando rekao je

    PUNO HVALA !!!!