Oprava systému: HowTo chroot

Mnohokrát, najmä keď sa motáte, sme sa ocitli v ťažkej situácii, že nemôžeme vstúpiť do systému, aby sme ho mohli opraviť, ale riešenie je jednoduché: použite príkaz chroot z ktoréhokoľvek LiveCD / RepairCD.

Na mnohých miestach (fóra, blogy ...) je tento príkaz spomenutý a je uvedené „kopírovanie / vkladanie“ kódu, ale mojim zámerom v tomto príspevku je tieto kroky trochu vysvetliť, aby bolo možné tento nástroj so znalosťami dobre využiť. príčiny.

Úvod

Príkaz chroot Je známy ako CHangeROOT, to je príkaz, ktorý umožňuje zmeniť koreň systému, na ktorom pracujete. Inými slovami: ak ste z disku LiveCD a chcete, aby všetko, čo pracujete na konzole, malo vplyv na nainštalovaný systém, musíte najskôr využiť chroot.

Problém je v tom, že nestačí použiť chroot Preto musíme najskôr správne namontovať určité oddiely.

AKO

Najprv musíme spustiť terminál, a to buď z iného nainštalovaného systému (na inom oddiele / disku), alebo z LiveCD. DÔLEŽITÉ: architektúra disku LiveCD musí zodpovedať architektúre systému, ktorý sa má opraviť (32 alebo 64 bitov).
Keď sme v termináli, začneme identifikovať naše oddiely:
fdisk -l

  • S týmto príkazom uvedieme zoznam všetkých našich diskových oddielov / diskov. Musíme určiť, ktorá je cieľová oblasť, kde je nainštalovaný náš systém na opravu, odteraz ju budeme volať rozbitý systém.

V tomto príklade zvážime, že náš narušený systém je v / Dev / sda1 .

Ďalej pokračujeme v zostavovaní systému. Najskôr si vytvoríme priečinok, do ktorého budeme pracovať, a neskôr do tohto priečinka namontujeme oddiel, kde sa nachádza náš rozbitý systém
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Ak máte priečinok / Home o / var alebo akýkoľvek iný v inom oddiele, mali by ste ich pripojiť nasledovne:
mount /dev/sda2 /mnt/my_linux/var

  • POZNÁMKA: Ako príklad som si vzal oddiel / dev / sda2 pre priečinok / var, nech každý upraví kód podľa svojich vlastností.

Normálne by to stačilo, ak potrebujete jednoducho upravovať súbory ručne, ale ak chceme vykonať niektoré príkazy, ktoré konfigurujú systém, musíme pripojiť určité špeciálne systémové priečinky: / 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

  • S možnosťou -t hovoríme namontovať typ „súborového systému“, ktorý chceme pripojiť. Je potrebné ho určiť kvôli zvláštnej povahe priečinkov / proc y / sys.
  • S možnosťou -o špecifikujeme možnosti namontovať. Možnosť viažu slúži na „prepojenie“. V systéme UNIX sú všetky hardvérové ​​zariadenia prístupné cez priečinok / dev, preto musíme pripojiť náš prúd / dev v priečinku, kde je teraz náš poškodený systém. Pretože tento priečinok je už pripojený, je potrebné ho iba informovať namontovať kde je pôvodne namontovaný.

Robí sa to takto chroot mať prístup k týmto priečinkom, akoby to bol nefunkčný systém, aj keď musia byť z aktuálneho systému (napr. relácia LiveCD), pretože súvisia so stavom systému, procesov a hardvéru.

Teraz je ten správny čas na použitie chroot:
chroot /mnt/my_linux/ /bin/bash

  • Príkaz je odovzdaný ako argumenty cesta k novému root «/» (čo je v našom prípade / mnt / my_linux) a konzolu, ktorú chcete použiť (v tomto prípade sme sa rozhodli pre známy bash, ktorý sa nachádza v / bin / bash). Ak neurčíme konzolu, ocitneme sa pred trochu archaickým tlmočníkom príkazov (nevyplní sa pri stlačení karty atď.).

Teraz môžeme konzolu používať, akoby sme mali spustenú reláciu root v našom rozbitom systéme (úpravy súborov, kontrola skriptov, inštalácia / odinštalovanie balíkov ...). UPOZORNENIE! Aby sa vykonané zmeny prejavili, musíte po ukončení činnosti odpojiť súborový systém chrootPozrite sa na príklad nižšie.

Viac informácií na https://wiki.archlinux.org/index.php/Change_Root (viac ako odporúčané čítanie).

Príklad použitia: obnova GRUB2

Jedno z najrozšírenejších použití chroot Slúži ako nástroj na opravu GRUBU. Pretože ak sa grub zlomí, je prakticky nemožné zaviesť náš systém a opraviť ho.

UPOZORNENIE: tento krátky tutoriál je iba príkladom, funguje okrem iného aj na rôznych distribúciách odvodených od Debianu, Ubuntu a openSUSE. Napriek tomu skontrolujte dokumentáciu svojej distribúcie, pretože v mnohých sa príkaz nenašiel update-grub.
# POZNÁMKA: tieto príkazy sa spustia raz vo vnútri chroot.update-grub
grub-install /dev/sda

  • s update-grub Aktualizujeme vstupné menu GRUB2, čím sme pridali všetky chýbajúce vstupy. Neskôr preinštalujeme GRUB na náš disk, pretože bol poškodený.

V tomto prípade som vzal / Dev / sda rovnako ako album, kde máme náš systém, musí byť toto prispôsobené vášmu prípadu.

Náš GRUB by už mal byť opravený, takže musíme vystúpiť chroot, odpojte súborový systém (IMPORTANT) a reštartujte, aby sa zmeny prejavili. Ak zabudneme odpojiť súborový systém, je možné, že reštartovanie súborov sa neodpojí správne, a preto sa niektoré zmeny neprejavia.
# nechali sme chrootexit
# odpojte súborový systém a reštartujte počítačumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

A to je všetko. Dúfam, že vás to baví a že vám to pomáha. Pozdrav!


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Leper_Ivan dijo

    Môžem to použiť .. V určitom okamihu to musím použiť.

  2.   mario dijo

    Užil niekto z vás Chakra Benz? Ak je to tak, mohli by ste mi povedať, či
    je to pre bežného používateľa ľahké? Používam SolydK, čo je veľmi jednoduché, ale
    Chápem, že čakra je čisté KDE a zaujíma ma to.

    1.    Wow dijo

      Áno, čakra je veľmi dobrá a viac či menej ľahká, vec spočíva v tom, že pri inštalácii / odinštalovaní balíkov to musíte urobiť pomocou konzoly, pretože stále pracujú na grafickom správcovi balíkov. Vyskúšajte to, pretože to stojí za to. Používa správcu balíkov pacman zdedeného z Archlinuxu, ale pozor, nezdieľa úložiská s archom a NIE je s nimi kompatibilný. Ak sa chcete dozvedieť viac o pacmane, pozrite sa na arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp dijo

        Oktopi je už stabilný a funguje celkom dobre pre priemerného používateľa, takže na použitie pacmana nepotrebujete terminál.

  3.   x11tete11x dijo

    Dúfam, že tento príspevok navštívi veľa, potom začnú znova inštalovať hlavy, keď s chrootom môžete opraviť systém takmer vždy, chroot vám umožní veľa možností vrátane inštalácie Gentoo xD hahaha

  4.   mesačný dijo

    pekné, ďakujem ... nikdy som mu nedal loptu, pretože sa mi zdá, že sa nejaké live-cd na opravu štandardne zvyšujú, ale teraz je to jasné, ešte raz ďakujem.

  5.   Lolo dijo

    Na jeho dokončenie by bolo dobré vysvetliť, ako pripojiť oddiely LVM, šifrované oddiely a systémy RAID.

    1.    Wow dijo

      mmm Už dávno som sa nedotkol LVM a RAID, ale mohli by ste ma trochu informovať, aby som to dokončil ... ďakujem za tip!

      1.    Lolo dijo

        Pravda je taká, že som mohol použiť skvele.

        Bolo by to veľmi ocenené.

        1.    Wow dijo

          pozrite sa na túto wiki, je to celkom v pohode http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dijo

    Keby táto téma existovala len o pár týždňov neskôr, ukázalo sa, že som mal problém so svojím systémom a čítal som a čítal a všade som našiel chroot a blablabla, ale na základe toho odporúčania naživo, ktoré je rovnaké ako váš systém, mi to nefungovalo. , veľmi dôležité, pretože používam x64, druhou je pripojenie systémových oddielov, pretože v mojom prípade, keď som používal chroot a mount, hádzal som príkaz a ten príkaz jednoducho nerozpoznal.

    Táto téma prejde na moje súbory „kompilácia informácií“

  7.   sušienka dijo

    Arch LiveCD (s týmto nástrojom) je všetko, čo je potrebné na opravu vášho systému, keď ho rozbijete.

    1.    RAW-Basic dijo

      Presne! .. ..je to všetko potrebné .. dokonca aj pomôcť niekomu s ich W $, ktorý sa rozhodol nezačať ..

      Vždy mám so sebou 1 GB pendrive s Arch live ... a všetko, čo je potrebné, je chroot, aby ste pri akomkoľvek probléme mali za 10 minút všetko v poriadku bez toho, aby vás znepokojovali .. 😉

    2.    izzyvp dijo

      Musíte len vedieť, ako na to.

    3.    pablo dijo

      Dobrý deň, všimnite si, že mám problém s centos, posiela mi paniku jadra atď. A nedokázal som to vyriešiť, mám tam svoju webovú stránku a databázu. Neviem, čo robiť ďalej.

  8.   jony127 dijo

    Dobrý príspevok, počul som mimochodom nejaký chroot, ale nevedel som, ako sa používa, samozrejme, že som ho nikdy nepotreboval, a preto som nečítal nič konkrétne. Teraz, keď je váš príspevok vysvetlený veľmi jasne, viem, ako ho použiť pre prípad.

    Ďakujem pekne a mimochodom, nech žije Led Zeppelin hehe.

  9.   Kamala dijo

    vďaka, konečne som sa dostal z nočnej mory o záchranách grubov

    v skutočnosti som postupoval podľa všetkých krokov okrem umount / mnt / my_linux, pretože mi hovoril, že je zaneprázdnené, a ja som fixoval km, ale ani to, a odrazil ...

    Dúfam, že to nie je dôležité….

    ešte raz ďakujem…
    pozdrav

  10.   Jose Antonio dijo

    Aj keď je článok už pár rokov starý, chcem poďakovať autorovi za jeho štedrosť v zdieľaní, je to vynikajúci článok, pretože tento víkend mi zachránil život. Nedobrovoľne som načítal server, ktorý nainštaloval balík, a pri reštartovaní sa nenačítal. Po troch dňoch, keď som sa to snažil opraviť a prečítať si rôzne články, sa mi podarilo dostať sa sem náhodou a konečne som mohol znova nainštalovať grub a opraviť server.

    Ďakujem moc!

    1.    Wow dijo

      Som rád, že vám to pomohlo. Ďakujem za komentár!

  11.   hélium dijo

    Dobrý deň, viem, že tento príspevok pred rokmi, veľká vďaka za jeho zdieľanie. A pochyboval som, že v mojom prípade to poškodilo systém a tiež sieťové ovládače, takže som postupoval podľa pokynov, ale neumožňuje mi to sťahovať balíčky, existuje nejaký spôsob, ako prepojiť živú sieť s terminálom

    1.    Wow dijo

      Naozaj nerozumiem vášmu problému ... Keď sa prihlásite pomocou LiveCD, načíta sa jadro z LiveCD, takže by ste mali byť schopní dokonale nakonfigurovať pripojenie na internet. Po vytvorení pripojenia skúste urobiť chroot, aby ste zistili, či ho naďalej udržiavate. Ak nie, možno ho budete musieť znova nakonfigurovať, ale poškodené jadro by nemalo mať na chroot reláciu žiadny vplyv.
      Ak neurčíte viac, môžem vám povedať ...

  12.   dacha dijo

    Výborný príspevok ... jeden z mála užitočných článkov na internete.
    Ďakujem za príspevok.

  13.   zopeck dijo

    Dobrý deň, vynikajúci návod! Skvelé vysvetlenie, pre nás obyčajných smrteľníkov!

    Mám otázku:
    Keď ste spomenuli, že v prípade potreby inštalácie balíkov, vykonávania aktualizácií systému alebo inej špeciálnej činnosti a vyžadovania montáže priečinkov / dev / proc a / sys mi nebolo jasné, či sú tieto priečinky v systéme Live, s ktorým sme spustil zariadenie na opravu, alebo ak je v koreňovom oddiele pripojenom ako prvý.

    Ďakujem vám.

  14.   Orlando dijo

    MNOHOKRAT DAKUJEM!!!!