Rendszerjavítás: HowTo chroot

Sokszor, főleg amikor összevissza kavarunk, azon a helyzeten vagyunk, hogy nem tudjuk elérni a rendszert a javítás érdekében, de a megoldás egyszerű: használja a parancsot chroot bármely LiveCD / RepairCD-ről.

Sok helyen (fórumok, blogok ...) megemlítik ezt a parancsot, és megadják a kód "másolását / beillesztését", de ezzel a bejegyzéssel szándékomban áll egy kicsit elmagyarázni ezeket a lépéseket, hogy ezt jól kihasználhassam. eszköz, az ok ismeretében.

Bevezetés

A parancs chroot CHangeROOT néven ismert, vagyis egy olyan parancs, amely lehetővé teszi a rendszer gyökérzetének megváltoztatását, amelyen dolgozik. Más szavakkal: ha LiveCD-ből származik, és azt szeretné, hogy minden, ami a konzolon dolgozik, hatással legyen a telepített rendszerre, akkor először chroot.

A probléma az, hogy nem elég használni chroot Mint ilyen, először megfelelően be kell szerelnünk bizonyos partíciókat.

HOGYAN KELL

Először el kell indítanunk egy terminált, akár egy másik telepített rendszerből (egy másik partíción / lemezen), akár egy LiveCD-ről. FONTOS: A LiveCD architektúrájának meg kell egyeznie a javítandó rendszeréval (32 vagy 64 bit).
Amint a terminálon vagyunk, kezdjük a partícióink azonosításával:
fdisk -l

  • Ezzel a paranccsal felsoroljuk az összes partíciónkat / lemezünket. Meg kell határoznunk, hogy melyik a célpartíció, ahol a javítandó rendszerünket telepítettük, ezentúl hívjuk törött rendszer.

Ebben a példában figyelembe vesszük, hogy a megszakadt rendszerünk benne van / Dev / sda1 .

Folytatjuk a rendszer összeállítását. Először létrehozzuk azt a mappát, ahol dolgozni fogunk, majd később felhelyezzük azt a partíciót, ahol a megszakadt rendszerünk található
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Ha megvan a mappa / home o / var vagy bármi más egy másik partícióban, az alábbiak szerint kell felszerelni:
mount /dev/sda2 /mnt/my_linux/var

  • MEGJEGYZÉS: Például a / dev / sda2 partíciót vettem a / var mappához, hadd mindegyikük állítsa be a kódot a saját tulajdonságaikhoz.

Normális esetben ez elegendő, ha egyszerűen kézzel kell szerkesztenie a fájlokat, de ha néhány parancsot akarunk végrehajtani, amelyek konfigurálják a rendszert, akkor fel kell csatlakoztatnunk bizonyos speciális rendszermappákat: / 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

  • Opcióval -t elmondjuk felmászik a "fájlrendszer" típusát, amelyet fel akarunk szerelni. A mappák különleges jellege miatt meg kell adni / proc y / sys.
  • Opcióval -o megadjuk a felmászik. Az opció kötődik "linkelésre" szolgál. A UNIX rendszerben az összes hardvereszköz a mappán keresztül érhető el / dev, ezért fel kell építenünk az áramunkat / dev abban a mappában, ahol most a törött rendszerünk van. Mivel ez a mappa már fel van szerelve, csak meg kell mondani felmászik ahol eredetileg fel van szerelve.

Így történik, hogy chroot hozzáférhetnek ezekhez a mappákhoz, mintha a meghibásodott rendszerek lennének, bár az aktuális rendszerből kell származniuk (pl. a LiveCD munkamenet), mivel kapcsolódnak a rendszer, a folyamatok és a hardver állapotához.

Itt az ideje használni chroot:
chroot /mnt/my_linux/ /bin/bash

  • A parancs argumentumként adja át az új gyökér «/» útvonalát (ami esetünkben az / mnt / my_linux) és a használni kívánt konzolt (ebben az esetben a jól ismert bash-t választottuk, amely megtalálható itt / bin / bash). Ha nem adjuk meg a konzolt, akkor egy kissé archaikus parancsértelmező elé kerülünk (a fül megnyomásakor nem tölti ki stb.).

Most úgy használhatjuk a konzolt, mintha a törött rendszerünkön elindítottuk volna a root munkamenetet (fájlok szerkesztése, parancsfájlok ellenőrzése, csomagok telepítése / eltávolítása ...). FIGYELEM! A módosítások életbe lépéséhez a kilépés után le kell szerelnie a fájlrendszert chrootNézze meg az alábbi példát.

További információ itt: https://wiki.archlinux.org/index.php/Change_Root (több, mint az ajánlott olvasmány).

Felhasználási példa: a GRUB2 helyreállítása

Az egyik legelterjedtebb felhasználása chroot Ez egy eszköz a GRUB javítására. Mivel ha a grub megszakad, gyakorlatilag lehetetlen a rendszerünket indítani annak kijavítására.

FIGYELMEZTETÉS: ez a rövid bemutató puszta példa, többek között a Debian, az Ubuntu és az openSUSE különböző terjesztésein működik. Ennek ellenére ellenőrizze a terjesztés dokumentációját, mivel sok esetben a parancs nem található update-grub.
# MEGJEGYZÉS: ezek a parancsok egyszer futnak a chroot belsejében.update-grub
grub-install /dev/sda

  • a update-grub Frissítjük a GRUB2 beviteli menüjét, és hozzáadjuk a hiányzó bemeneteket. Később újratelepítjük a GRUB-ot a lemezünkre, mivel sérült.

Ebben az esetben vettem / dev / sda mint az album, ahol van rendszerünk, ezt az Ön esetéhez kell igazítani.

A GRUB-t már meg kellene javítani, ezért ki kell lépnünk chroot, szerelje le a fájlrendszert (FONTOS), és indítsa újra a módosítások életbe lépését. Ha elfelejtjük leválasztani a fájlrendszert, akkor előfordulhat, hogy a fájlok újraindítása nem megfelelően oldja le, ezért egyes változtatások nem lépnek életbe.
# hagytuk chrootexit
# válassza le a fájlrendszert és indítsa újraumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

És ennyi. Remélem, hogy élvezni fogja, és hogy segít. Üdvözlet!


24 hozzászólás, hagyd a tiedet

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Leper_Ivan dijo

    Használhatnám ezt .. Valamikor fel kell használnom.

  2.   Mario dijo

    Használt közületek valaki csakra benzint? Ha igen, meg tudnád mondani, hogy van-e
    könnyű a közönséges felhasználó számára? A SolydK-t használom, ami nagyon egyszerű, de
    Megértem, hogy a csakra tiszta KDE, és engem érdekel.

    1.    Azta dijo

      Igen, a csakra nagyon jó és többé-kevésbé egyszerű, a helyzet az, hogy a csomagok telepítéséhez / eltávolításához a konzollal kell elvégeznie, mivel még mindig dolgoznak egy grafikus csomagkezelőn. Próbálja ki, mert megéri. Használja az Archlinux-tól örökölt pacman csomagkezelőt, de vigyázzon, a tárakat nem osztja meg az arch-al, és NEM kompatibilis velük. Ha többet szeretne megtudni a pacmanról, nézze meg az arch wikit https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp dijo

        Az Oktopi már stabil és elég jól működik egy átlagos felhasználó számára, ezzel nem kell a terminál a pacman használatához.

  3.   x11tete11x dijo

    Remélem, hogy ezt a bejegyzést sokan meglátogatják, aztán letépik a fejüket, ha újratelepülnek bármire, amikor egy chroot segítségével szinte mindig meg lehet javítani a rendszert, a chroot rengeteg lehetőségre ad lehetőséget, beleértve a Gentoo xD hahaha telepítését is

  4.   alunádó dijo

    szép, köszönöm ... Soha nem adtam neki labdát, mert néhány javításra szánt live-cd úgy tűnik számomra, hogy alapból felemelik, de most már világos, köszönöm még egyszer.

  5.   Lolo dijo

    Ennek befejezéséhez jó lenne elmagyarázni az LVM partíciók, a titkosított partíciók és a RAID rendszerek csatlakoztatását.

    1.    Azta dijo

      mmm régóta nem nyúltam hozzá az LVM-hez és a RAID-hoz, de tudnál egy kicsit tájékoztatni, hogy teljesítsem ezt ... köszönöm a tippet!

      1.    Lolo dijo

        Nos, az az igazság, hogy remekül tudtam használni.

        Nagyon nagyra értékelnék.

        1.    Azta dijo

          nézd meg ezt a wikit, nagyon klassz http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dijo

    Ha csak ez a téma létezett volna néhány héttel később, kiderült, hogy problémám volt a rendszeremmel, és olvastam és olvastam, és mindenhol találtam chroot-t és blablabla-t, de ez nem működött számomra a live ajánlása alapján. ugyanaz, mint a rendszere, nagyon fontos, mert x64-et használok, a másik dolog a rendszerpartíciók csatlakoztatása, mert az én esetemben, amikor chroot-t alkalmaztam és telepítettem, parancsot dobtam, és egyszerűen nem ismerte fel a parancsot.

    Ez a témakör az "információ-összeállítás" fájljaimhoz kerül

  7.   aprósütemény dijo

    Az Arch LiveCD (ezzel az eszközzel) elegendő a rendszer kijavításához, amikor megtörik.

    1.    RAW-Basic dijo

      Pontosan! .. .. csak annyit kell .. még, hogy segítsen valakinek a W $ -val, aki úgy döntött, hogy nem indul el ..

      Mindig velem van egy 1 GB-os pendrive Arch élőben ... és a chroot minden szükséges, hogy bármilyen probléma esetén 10 perc alatt minden rendben legyen, anélkül, hogy riasztanál .. 😉

    2.    izzyvp dijo

      Csak tudnia kell, hogyan kell csinálni.

    3.    Pablo dijo

      Helló, vedd észre, hogy problémám van a centokkal, ez kernelpánikot okoz stb. És nem sikerült megoldanom, ott van a weboldalam és az adatbázisom, nem tudom, mit tegyek még.

  8.   jony127 dijo

    Jó hozzászólás, hallottam halkan chroot-t, de nem igazán tudtam, hogyan használják, természetesen soha nem volt rá szükségem, és ezért nem olvastam különösebben valamit. Most, hogy bejegyzését nagyon világosan elmagyarázta, tudom, hogyan kell használni abban az esetben.

    Köszönöm szépen és egyébként, éljen a Led Zeppelin hehe.

  9.   Kamala dijo

    köszönöm, végre kiszabadultam a grub mentő rémálomból

    valójában követtem az összes lépést, kivéve az umount / mnt / my_linux, mert azt mondta, hogy elfoglalt, és én -km-et beégettem, de még ezt sem, és ugrálok ...

    Remélem, hogy nem fontos….

    köszönöm mégegyszer…
    Az üdvözlés

  10.   Jose Antonio dijo

    Bár a cikk már pár éves, szeretném megköszönni a szerzőnek a nagylelkűségét a megosztásban, ez egy remek cikk, mert a hétvégén megmentette az életemet. Önkéntelenül feltöltöttem egy szervert egy csomag telepítésével, és az újraindításkor nem töltődött be. Miután három napig próbáltam kijavítani, és különféle cikkeket olvastam, véletlenül sikerült idejutnom, és végre újratelepíthettem a grub-ot és kijavíthattam a szervert.

    Köszönöm szépen!

    1.    Azta dijo

      Örülök, hogy segített neked. Köszönöm a megjegyzést!

  11.   Heliográf dijo

    Helló, mit szólnék ahhoz, hogy tudom, hogy ez a bejegyzés évekkel ezelőtt, ez a nagy köszönet, hogy megosztottad. És kétségem támadt, esetemben megrongálta a rendszert és a hálózati illesztőprogramokat is, ezért követtem a lépéseket, de nem engedem meg, hogy csomagokat töltsek le, van-e valamilyen lehetőség arra, hogy összekapcsoljam az élő hálózatot a terminállal

    1.    Azta dijo

      Nem igazán értem a problémádat ... Amikor a LiveCD-vel jelentkezel be, a betöltött kernel a LiveCD-ből származik, ezért képesnek kell lennie az internetkapcsolat tökéletes konfigurálására. Miután a kapcsolat létrejött, próbálja meg elvégezni a chroot-t, hogy továbbra is fenntartsa-e, ha nem, akkor lehet, hogy újra konfigurálnia kell, de a sérült kern nem befolyásolhatja a chroot munkamenetet.
      Ha nem ad meg többet, elmondhatom ...

  12.   dácsa dijo

    Excellent Post… az interneten található néhány hasznos cikk egyike.
    Nagyon köszönöm a hozzájárulást.

  13.   zopeck dijo

    Helló, kiváló bemutató! Kiválóan megmagyarázva, nekünk, egyszerű halandóknak!

    Kérdésem van:
    Amikor megemlítette, hogy abban az esetben, ha csomagokat kell telepítenie, rendszerfrissítéseket vagy egyéb speciális tevékenységet kell végrehajtania, és a / dev / proc és / sys mappák csatlakoztatását igényli, számomra nem volt egyértelmű, hogy ezek a mappák vannak-e a Live rendszerben, amellyel elindította a javítandó berendezést, vagy ha a gyökérpartícióban vannak először felszerelve.

    Köszönöm.

  14.   Orlando dijo

    NAGYON KÖSZÖNÖM!!!!