De multe ori, mai ales atunci când ne deranjăm, ne-am trezit în situația dificilă de a nu putea accesa sistemul pentru a-l repara, dar soluția este ușoară: folosiți comanda Chroot. de pe orice LiveCD / RepairCD.
În multe locuri (forumuri, bloguri ...) se menționează această comandă și se dă o „copiere / lipire” a codului, dar intenția mea cu această postare este să explic puțin acei pași, pentru a folosi bine acest instrument, cu cunoștințe de cauză.
Introducere
Comanda Chroot. Este cunoscut sub numele de CHangeROOT, adică o comandă care vă permite să schimbați rădăcina sistemului pe care lucrați. Cu alte cuvinte: dacă sunteți dintr-un LiveCD și doriți ca tot ceea ce lucrați pe consolă să aibă un efect asupra sistemului instalat, trebuie mai întâi să folosiți Chroot..
Problema este că nu este suficient să se utilizeze Chroot. Ca atare, înainte de a monta corect anumite partiții.
CUM SĂ
Mai întâi trebuie să pornim un terminal, fie de pe un alt sistem instalat (pe altă partiție / disc), fie de pe un LiveCD. IMPORTANT: arhitectura LiveCD trebuie să se potrivească cu cea a sistemului de reparat (32 sau 64 biți).
Odată ce suntem în terminal vom începe să ne identificăm partițiile:
fdisk -l
- Cu această comandă vom lista toate partițiile / discurile noastre. Trebuie să identificăm care este partiția țintă, unde este instalat sistemul nostru de reparat, de acum înainte o vom apela sistem defect.
Pentru acest exemplu vom considera că sistemul nostru defect este în / dev / sda1 .
Continuăm să asamblăm sistemul. Mai întâi vom crea folderul în care vom lucra și mai târziu vom monta partiția unde se află sistemul nostru defect în acel folder
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux
Dacă aveți dosarul / Home o / var sau oricare alta pe o altă partiție, ar trebui să o montați astfel:
mount /dev/sda2 /mnt/my_linux/var
- NOTĂ: Am luat ca exemplu partiția / dev / sda2 pentru folderul / var, lăsați fiecare să regleze codul în funcție de caracteristicile lor.
În mod normal, acest lucru ar fi suficient dacă trebuie pur și simplu să editați fișierele manual, dar dacă vrem să executăm câteva comenzi care configurează sistemul, trebuie să montăm anumite foldere de sistem speciale: / dev, / proc y / 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
- Cu opțiune -t noi spunem monta tipul de „sistem de fișiere” pe care dorim să îl montăm. Este necesar să o specificați din cauza naturii speciale a folderelor / proc y / sys.
- Cu opțiune -o specificăm opțiunile de monta. Optiunea lega servește pentru a „lega”. În UNIX toate dispozitivele hardware sunt accesibile prin folder / dev, de aceea trebuie să ne montăm curentul / dev în dosarul în care se află acum sistemul nostru defect. Deoarece acest folder este deja montat, este necesar doar să spuneți monta unde este montat inițial.
Se face astfel, astfel încât Chroot. Accesați aceste foldere ca și cum ar fi sistemul defect, deși trebuie să provină din sistemul curent (de exemplu: sesiunea LiveCD), deoarece acestea sunt legate de starea sistemului, proceselor și hardware-ului.
Acum este momentul să îl folosiți Chroot.:
chroot /mnt/my_linux/ /bin/bash
- Comanda este transmisă ca argumente calea noii rădăcini «/» (care în cazul nostru este / mnt / my_linux) și consola pe care doriți să o utilizați (în acest caz am optat pentru binecunoscutul bash, găsit în / bin / bash). Dacă nu specificăm consola, ne vom găsi în fața unui interpret de comandă oarecum arhaic (nu se umple atunci când apăsați fila etc.).
Acum putem folosi consola ca și cum am fi început sesiunea rădăcină pe sistemul nostru defect (editați fișiere, verificați scripturi, instalați / dezinstalați pachete ...). AVERTISMENT! Pentru ca modificările făcute să intre în vigoare, trebuie să demontați sistemul de fișiere după ce ați ieșit Chroot.Uită-te la exemplul de mai jos.
Mai multe informații https://wiki.archlinux.org/index.php/Change_Root (lectură mai mult decât recomandată).
Exemplu de utilizare: restaurați GRUB2
Una dintre cele mai răspândite utilizări ale Chroot. Este ca un instrument pentru repararea GRUB. Deoarece dacă grub-ul se rupe, este practic imposibil să pornim sistemul nostru pentru a-l repara.
ANUNȚ: acest mic tutorial este un simplu exemplu, funcționează pe diferite distribuții derivate din Debian, Ubuntu și openSUSE printre altele. Chiar și așa, verificați documentația distribuției dvs., deoarece în multe comanda nu este găsită update-grub.
# NOTĂ: aceste comenzi rulează o dată în chroot.update-grub
grub-install /dev/sda
- cu update-grub Actualizăm meniul de intrare al GRUB2, adăugând astfel orice intrări lipsă. Mai târziu, reinstalăm GRUB pe discul nostru, deoarece acesta a fost deteriorat.
În acest caz am luat / dev / sda la fel ca discul pe care avem sistemul nostru, acesta trebuie adaptat cazului dvs.
GRUB-ul nostru ar trebui deja reparat, deci trebuie să ieșim Chroot., demontați sistemul de fișiere (IMPORTANT) și reporniți pentru ca modificările să aibă efect. Dacă uităm să demontăm sistemul de fișiere, este posibil ca la repornire să nu se dezinstaleze corect și, prin urmare, unele modificări nu ar intra în vigoare.
# am părăsit chrootexit
# demontați sistemul de fișiere și repornițiumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot
Și asta e tot. Sper să vă bucurați și să vă ajute. Un salut!
Aș putea folosi acest lucru .. La un moment dat trebuie să-l folosesc.
Ați folosit vreunul dintre voi Chakra Benz? Dacă da, ai putea să-mi spui dacă
este ușor pentru utilizatorul obișnuit? Folosesc SolydK, care este foarte simplu, dar
Înțeleg că Chakra este KDE pur și mă interesează.
Da, chakra este foarte bună și mai mult sau mai puțin ușoară, chestia este că pentru a instala / dezinstala pachete trebuie să o faceți cu consola, deoarece acestea încă lucrează într-un manager de pachete grafic. Încercați-l pentru că merită. Folosește managerul de pachete pacman, moștenit de la Archlinux, dar atenție, nu partajează depozite cu arch și NU este compatibil cu acestea. Dacă doriți să aflați mai multe despre pacman, aruncați o privire la arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29
Oktopi este deja stabil și funcționează destul de bine pentru un utilizator mediu, prin urmare nu aveți nevoie de terminal pentru a utiliza pacman.
Sper că această postare va fi vizitată de mulți, apoi își rup capul reinstalându-se pentru orice atunci când cu un chroot puteți repara sistemul aproape întotdeauna, chroot vă permite o mulțime de posibilități, inclusiv instalarea Gentoo xD hahaha
frumos, mulțumesc ... Nu i-am dat niciodată o minge pentru că niște live-cd pentru reparații mi se pare că o ridică în mod implicit, dar acum este clar, mulțumesc din nou.
Pentru a-l completa, ar fi bine să explicați cum să montați partiții LVM, partiții criptate și sisteme RAID.
mmm Nu am mai atins LVM și RAID de mult timp, dar ai putea să mă informezi puțin pentru a finaliza acest lucru ... mulțumesc pentru pont!
Ei bine, adevărul este că aș putea folosi minunat.
Ar fi foarte apreciat.
aruncați o privire la acest wiki, este destul de mișto http://wiki.bandaancha.st/RAID_y_LVM_en_Linux
Dacă doar acest subiect ar fi existat câteva săptămâni mai târziu, se dovedește că am avut o problemă cu sistemul meu și am citit și citit și peste tot am găsit chroot și blablabla, dar nu a funcționat pentru mine pe baza acelei recomandări a live-ului, care este la fel ca sistemul dvs. , foarte important deoarece folosesc x64, celălalt lucru este să montez partițiile de sistem, pentru că în cazul meu când aplicam chroot și montam, am lansat o comandă și pur și simplu nu a recunoscut comanda.
Acest subiect va merge la fișierele mele „compilare de informații”
Un Arch LiveCD (cu acest instrument) este tot ce este necesar pentru a repara sistemul dvs. atunci când îl spargeți.
Exact! .. ..este tot ceea ce este necesar .. chiar și pentru a ajuta pe cineva cu W $ care a decis să nu înceapă ..
Am mereu alături de mine un pendrive de 1 GB cu Arch live ... și chroot este tot ceea ce este necesar pentru ca sub orice problemă, în 10 minute să ai totul în ordine fără să te alarmezi ..
Trebuie doar să știi cum să o faci.
Bună, observați că am o problemă cu centos, îmi trimite panica kernel etc. Și nu am putut să o rezolv, am site-ul și baza de date acolo. Nu știu ce să mai fac.
Bună postare, auzisem ceva chroot în treacăt, dar nu știam cu adevărat cum se folosea, bineînțeles că nu avusesem niciodată nevoie de el și de aceea nu citisem ceva anume. Acum, cu postarea dvs. explicată foarte clar, știu cum să o folosesc în cazul în care.
Mulțumesc mult și apropo, să trăiască Led Zeppelin hehe.
mulțumesc, am ieșit în sfârșit din coșmarul de salvare
de fapt, am urmat toți pașii, cu excepția umount / mnt / my_linux, pentru că mi-a spus că este ocupat și îl fuzionez -km, dar nici măcar asta, și sări ...
Sper că nu este important ....
multumesc din nou…
un mesaj de salut
Deși articolul are deja câțiva ani, vreau să îi mulțumesc autorului pentru generozitatea sa în a-l împărtăși, este un articol grozav, deoarece în acest weekend mi-a salvat viața. În mod involuntar am încărcat un server instalând un pachet și la repornire nu s-a încărcat. După trei zile de încercări de rezolvare și de citire a diferitelor articole, am reușit să ajung aici întâmplător și am reușit în cele din urmă să reinstalez grub și să repar serverul.
Vă mulţumesc foarte mult!
Mă bucur că te-a ajutat. Mulțumesc pentru comentariu!
Bună ziua, știu că această postare cu ani în urmă, această mulțumire extraordinară pentru distribuirea ei. Și am avut o îndoială, în cazul meu a deteriorat sistemul și driverele de rețea, așa că am urmat pașii, dar nu îmi permite să descarc pachete, există vreo modalitate de a lega rețeaua live cu terminalul
Nu prea înțeleg problema dvs. ... Când vă conectați cu LiveCD, nucleul care se încarcă este cel din LiveCD, prin urmare ar trebui să puteți configura perfect o conexiune la internet. Odată ce conexiunea este realizată, încercați să faceți chroot-ul pentru a vedea dacă continuați să-l întrețineți, dacă nu, poate fi necesar să-l configurați din nou, dar nucleul deteriorat nu ar trebui să afecteze sesiunea chroot.
Dacă nu specificați mai multe, vă pot spune ...
Excelent Post ... unul dintre puținele articole utile găsite pe Internet.
Vă mulțumesc foarte mult pentru contribuția.
Bună, tutorial excelent! Excelent explicat, pentru noi simpli muritori!
Am o intrebare:
Când ați menționat că, în cazul în care trebuie să instalați pachete, să efectuați actualizări de sistem sau alte activități speciale și să solicitați montarea folderelor / dev / proc și / sys, nu mi-a fost clar dacă aceste foldere se află în sistemul Live cu care a pornit echipamentul care trebuie reparat sau dacă sunt montate mai întâi în partiția rădăcină.
Mulțumesc.
MULȚUMESC MULT!!!!