Sistemos remontas: „HowTo chroot“

Daug kartų, ypač netvarkydami, susidūrėme su sunkumais negalėdami prisijungti prie sistemos, kad ją taisytume, tačiau sprendimas yra lengvas: naudokite komandą chroot iš bet kurio „LiveCD“ / „RepairCD“.

Daugelyje vietų (forumuose, tinklaraščiuose ...) minima ši komanda ir suteikiama kodo „kopija / įklijavimas“, tačiau šiuo pranešimu ketinu šiek tiek paaiškinti tuos veiksmus, kad galėčiau tinkamai tai naudoti. įrankis, žinant priežastį.

Įvadas

Įsakymas chroot Tai vadinama CHangeROOT, tai yra komanda, leidžianti pakeisti sistemos, kurioje dirbate, šaknį. Kitaip tariant: jei esate iš „LiveCD“ ir norite, kad viskas, ką dirbate konsolėje, paveiktų įdiegtą sistemą, pirmiausia turite pasinaudoti chroot.

Problema ta, kad nepakanka naudoti chroot Pirmiausia turime tinkamai sumontuoti tam tikras pertvaras.

KAIP

Pirmiausia turime paleisti terminalą iš kitos įdiegtos sistemos (kitame skaidinyje / diske) arba iš „LiveCD“. SVARBU: „LiveCD“ architektūra turi sutapti su taisomos sistemos (32 arba 64 bitų) architektūra.
Kai būsime terminale, pradėsime nuo savo skaidinių identifikavimo:
fdisk -l

  • Naudodami šią komandą, mes išvardysime visus savo skaidinius / diskus. Turime nustatyti, kuris yra tikslinis skaidinys, kuriame įdiegta mūsų taisymo sistema, nuo šiol mes jį vadinsime sugedusi sistema.

Šiame pavyzdyje mes apsvarstysime, ar mūsų sugedusi sistema yra / dev / sda1 .

Mes toliau renkame sistemą. Pirmiausia sukursime aplanką, kuriame ketiname dirbti, o vėliau tame aplanke sumontuosime skaidinį, kuriame yra mūsų sugedusi sistema
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Jei turite aplanką / Pagrindinis puslapis o / var ar bet kurį kitą, esantį kitame skaidinyje, turėtumėte jį (-ius) prijungti taip:
mount /dev/sda2 /mnt/my_linux/var

  • PASTABA: Kaip pavyzdį paėmiau / dev / sda2 skaidinį aplankui / var, leiskite kiekvienam pritaikyti kodą pagal savo ypatybes.

Paprastai to pakaktų, jei jums tereikia redaguoti failus rankiniu būdu, tačiau jei norime vykdyti kai kurias komandas, kurios sukonfigūruoja sistemą, turime prijungti tam tikrus specialius sistemos aplankus: / 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

  • Su pasirinkimu -t mes sakome stovas „failų sistemos“ tipą, kurį norime prijungti. Tai būtina nurodyti dėl ypatingo aplankų pobūdžio / proc y / sys.
  • Su pasirinkimu -o nurodome variantus stovas. Variantas įpareigoti jis naudojamas „susieti“. UNIX sistemoje visi aparatūros įrenginiai pasiekiami per aplanką / dev, todėl mes turime pritvirtinti savo srovę / dev aplanke, kuriame dabar yra mūsų sugedusi sistema. Kadangi šis aplankas jau yra sumontuotas, reikia tik pasakyti stovas ten, kur jis iš pradžių sumontuotas.

Tai daroma taip, kad chroot turite prieigą prie šių aplankų taip, lyg jie būtų sugedusi sistema, nors jie turi būti iš dabartinės sistemos (pvz., „LiveCD“ sesijos), nes jie yra susiję su sistemos, procesų ir aparatūros būsena.

Dabar laikas naudoti chroot:
chroot /mnt/my_linux/ /bin/bash

  • Komanda kaip argumentai perduodami naujos šaknies «/» keliui (kuris mūsų atveju yra / mnt / my_linux) ir norimą naudoti konsolę (šiuo atveju pasirinkome gerai žinomą „bash“, rastą / bin / bash). Jei nenurodysime konsolės, atsidursime priešais šiek tiek archajišką komandų vertėją (jis neužpildo paspaudus skirtuką ir pan.).

Dabar mes galime naudoti konsolę taip, tarsi mūsų sugadintoje sistemoje būtų pradėta šakninė sesija (redaguoti failus, patikrinti scenarijus, įdiegti / pašalinti paketus ...). ĮSPĖJIMAS! Kad atlikti pakeitimai įsigaliotų, išėję turite atjungti failų sistemą chrootPažvelkite į žemiau pateiktą pavyzdį.

Daugiau informacijos https://wiki.archlinux.org/index.php/Change_Root (daugiau nei rekomenduojama skaityti).

Naudojimo pavyzdys: atkurkite GRUB2

Vienas iš labiausiai paplitusių chroot Tai yra įrankis GRUB taisymui. Jei sugedus grubui, praktiškai neįmanoma paleisti mūsų sistemos, kad jį ištaisytume.

PASTABA: ši trumpa pamoka yra tik pavyzdys, ji veikia įvairiuose paskirstymuose, gautuose iš Debian, Ubuntu ir openSUSE. Nepaisant to, patikrinkite savo platinimo dokumentaciją, nes daugelyje komandų nerandama atnaujinti-grub.
# PASTABA: šios komandos vykdomos vieną kartą „chroot“ viduje.update-grub
grub-install /dev/sda

  • su atnaujinti-grub Atnaujiname GRUB2 įvesties meniu, taip pridėdami trūkstamus įvestis. Vėliau GRUB iš naujo įdiegiame į savo diską, nes jis buvo pažeistas.

Šiuo atveju aš ėmiausi / dev / sda kaip diskas, kuriame mes turime savo sistemą, jis turi būti pritaikytas jūsų atvejui.

Mūsų GRUB jau turėtų būti suremontuotas, todėl turime išeiti chroot, atjunkite failų sistemą (SVARBU) ir paleiskite iš naujo, kad pakeitimai įsigaliotų. Pamiršus atjungti failų sistemą, gali būti, kad perkraunant failus nebus tinkamai atjungta, todėl kai kurie pakeitimai neįsigalios.
# mes palikome chrootexit
# atjunkite failų sistemą ir paleiskite iš naujoumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Ir viskas. Tikiuosi, kad jums tai patiks ir kad tai jums padės. Sveikinimas!


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Leper_Ivan sakė

    Aš galiu tai naudoti. Tam tikru momentu turiu jį naudoti.

  2.   Mario sakė

    Ar kas nors iš jūsų naudojo „Chakra Benz“? Jei taip, ar galėtumėte man pasakyti, ar
    ar tai paprastam vartotojui lengva? Aš naudoju „SolydK“, kuris yra labai paprastas, bet
    Suprantu, kad čakra yra grynas KDE ir tai mane domina.

    1.    Oho sakė

      Taip, čakra yra labai gera ir daugiau ar mažiau palengvinu, dalykas yra tas, kad norėdami įdiegti / pašalinti paketus turite tai padaryti naudodami konsolę, nes jie vis dar dirba grafiniame paketų tvarkytuve. Išbandykite, nes verta. Jis naudoja „Pacman“ paketų tvarkytuvę, paveldėtą iš „Archlinux“, tačiau saugokitės, nesidalija saugyklomis su „Arch“ ir NET su jomis nesuderinamas. Jei norite sužinoti daugiau apie pacmaną, pažvelkite į arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp sakė

        „Oktopi“ jau yra stabili ir veikia gana gerai paprastam vartotojui, todėl jums nereikia terminalo, kad galėtumėte naudoti „pacman“.

  3.   x11tete11x sakė

    Tikiuosi, kad šį įrašą aplankys daugybė, tada jie nuplėš galvą iš naujo įdiegdami bet ką, kai su chroot galite beveik visada taisyti sistemą, chroot suteikia jums daugybę galimybių, įskaitant „Gentoo xD hahaha“ diegimą

  4.   mėnulis sakė

    miela, ačiū ... Aš niekada nedaviau kamuolio, nes kai kurie tiesioginiai kompaktiniai diskai man buvo taisomi, atrodo, kad jie pakelia jį pagal nutylėjimą, bet dabar aišku, ačiū dar kartą

  5.   Lolo sakė

    Norint jį užbaigti, būtų gerai paaiškinti, kaip prijungti LVM skaidinius, užšifruotus skaidinius ir RAID sistemas.

    1.    Oho sakė

      mmm ilgą laiką nepaliečiau LVM ir RAID, bet gal galėtumėte man šiek tiek pranešti, kad užbaigčiau tai ... ačiū už patarimą!

      1.    Lolo sakė

        Na tiesa ta, kad galėčiau puikiai panaudoti.

        Tai būtų labai vertinama.

        1.    Oho sakė

          pažvelk į šią wiki, tai gana šaunu http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modemas sakė

    Jei tik ši tema būtų buvusi po kelių savaičių, paaiškėtų, kad aš turėjau problemų su savo sistema, ir aš skaičiau ir skaičiau, ir visur, kur radau chroot ir blablabla, bet man tai neveikė, remiantis ta „Live“ rekomendacija, kuri yra tas pats, kas jūsų sistema, labai svarbu, nes aš naudoju x64, kitas yra sistemos pertvarų montavimas, nes mano atveju, kai aš pritaikiau chroot ir montuoju, jis metė komandą, o ji paprasčiausiai neatpažino komandos.

    Ši tema bus skirta mano failų „informacijos rinkimui“

  7.   sausainis sakė

    „Arch LiveCD“ (naudojant šį įrankį) yra viskas, ko reikia norint ištaisyti sistemą, kai ją sugadinsite.

    1.    „RAW-Basic“ sakė

      Būtent! .. .. tai yra viskas, ko reikia .. net padėti kažkam su savo W $, kuris nusprendė nepradėti ..

      Aš visada turiu su savimi 1 gb „Pendrive“ su „Arch live“ ... ir chroot yra viskas, ko reikia, kad iškilus bet kokiai problemai, per 10 minučių jūs viską sutvarkytumėte nesijaudindami .. 😉

    2.    izzyvp sakė

      Jūs tiesiog turite žinoti, kaip tai padaryti.

    3.    Pablo sakė

      Sveiki, atkreipkite dėmesį, kad turiu problemų su centais, tai sukelia man branduolio paniką ir pan. Aš to nesugebėjau išspręsti, turiu savo svetainę ir duomenų bazę, nežinau, ką dar daryti.

  8.   127 sakė

    Geras įrašas, praeityje girdėjau chrootą, bet nežinojau, kaip juo naudotis, žinoma, man to niekada nereikėjo, todėl kažko ypatingai neskaitau. Dabar, kai jūsų pranešimas paaiškinamas labai aiškiai, aš žinau, kaip jį naudoti.

    Labai ačiū ir, beje, tegyvuoja „Led Zeppelin hehe“.

  9.   kamala sakė

    ačiū, aš pagaliau išėjau iš gelbėjimo košmaro

    Tiesą sakant, aš atlikau visus veiksmus, išskyrus umount / mnt / my_linux, nes jis man pasakė, kad jis užimtas, ir aš įtempiau -km, bet net ne tai ir atšokau ...

    Tikiuosi, kad tai nėra svarbu….

    Ačiū dar kartą…
    pasveikinimas

  10.   Jose Antonio sakė

    Nors straipsniui jau yra pora metų, noriu padėkoti autoriui už dosnumą dalinantis, tai puikus straipsnis, nes šį savaitgalį jis išgelbėjo man gyvybę. Netyčia įkėliau serverį, kuris įdiegė paketą, o iš naujo paleidus, jis nebuvo įkeltas. Po trijų dienų bandymo tai ištaisyti ir skaityti skirtingus straipsnius man pavyko čia atsitiktinai patekti ir galiausiai sugebėjau iš naujo įdiegti „grub“ ir ištaisyti serverį.

    Labai ačiū!

    1.    Oho sakė

      Džiaugiuosi, kad tai jums padėjo. Ačiū už komentarą!

  11.   Helio sakė

    Sveiki, kaip aš žinau, kad šis įrašas prieš daugelį metų, tai puikus ačiū, kad juo pasidalinai. Ir aš abejojau, mano atveju tai sugadino sistemą ir tinklo tvarkykles, todėl aš atlikau veiksmus, bet tai neleidžia atsisiųsti paketų, ar yra kokiu nors būdu susieti tiesioginį tinklą su terminalu

    1.    Oho sakė

      Aš nelabai suprantu jūsų problemos ... Kai prisijungiate naudodamiesi „LiveCD“, įkeliamas branduolys yra „LiveCD“, todėl turėtumėte sugebėti puikiai sukonfigūruoti interneto ryšį. Užmezgę ryšį, pabandykite atlikti „chroot“, kad patikrintumėte, ar tęsiate jo priežiūrą, jei ne, gali tekti jį sukonfigūruoti dar kartą, tačiau sugadintas branduolys neturėtų turėti įtakos chroot sesijai.
      Jei nenurodysite daugiau, galiu pasakyti ...

  12.   Dacho sakė

    Puikus pranešimas ... vienas iš nedaugelio naudingų straipsnių, randamų internete.
    Labai ačiū už indėlį.

  13.   zopeckas sakė

    Sveiki, puiki pamoka! Puikiai paaiškinta mums, paprastiems mirtingiesiems!

    Aš turiu klausimą:
    Kai paminėjote, kad tuo atveju, jei jums reikia įdiegti paketus, atlikti sistemos atnaujinimus ar kitą specialią veiklą ir reikalauti įdiegti aplankus / dev / proc ir / sys, man nebuvo aišku, ar šie aplankai yra „Live“ sistemoje, su kuria mes pradėjo remontuoti įrangą arba jei jie yra šaknies pertvaroje, sumontuotoje pirmiausia.

    Ačiū

  14.   Orlando sakė

    AČIŪ TAVE DABAR !!!!