Systemreparasjon: HowTo chroot

Mange ganger, spesielt når vi roter rundt, har vi funnet oss i problemer med å ikke få tilgang til systemet for å reparere det, men løsningen er enkel: bruk kommandoen chroot fra hvilken som helst LiveCD / RepairCD.

Mange steder (fora, blogger ...) nevnes denne kommandoen og en "kopier / lim inn" koden er gitt, men min intensjon med dette innlegget er å forklare disse trinnene litt, for å utnytte dette verktøyet med kunnskap godt av årsak.

Innledning

Kommandoen chroot Det er kjent som CHangeROOT, det vil si en kommando som lar deg endre roten til systemet du jobber med. Med andre ord: Hvis du er fra en LiveCD og vil at alt du jobber med på konsollen skal ha en effekt på det installerte systemet, må du først bruke chroot.

Problemet er at det ikke er nok å bruke chroot Som sådan, før vi må montere visse partisjoner riktig.

HVORDAN

Først må vi starte en terminal, enten fra et annet installert system (på en annen partisjon / disk) eller fra en LiveCD. VIKTIG: arkitekturen til LiveCD må samsvare med den som skal repareres (32 eller 64 bits).
Når vi er i terminalen, begynner vi med å identifisere partisjonene våre:
fdisk -l

  • Med denne kommandoen vil vi liste opp alle partisjonene / diskene våre. Vi må identifisere hvilken som er målpartisjonen, hvor vårt system for reparasjon er installert, fra nå av vil vi kalle det ødelagt system.

For dette eksemplet vil vi vurdere at vårt ødelagte system er i / Dev / sda1 .

Vi fortsetter med å montere systemet. Først lager vi mappen der vi skal jobbe, og senere monterer vi partisjonen der vårt ødelagte system ligger i den mappen
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Hvis du har mappen / Hjem o / var eller andre på en annen partisjon, bør du montere den / disse på følgende måte:
mount /dev/sda2 /mnt/my_linux/var

  • MERKNAD: Jeg har tatt / dev / sda2-partisjonen for / var-mappen som et eksempel, la hver enkelt tilpasse koden til deres egenskaper.

Normalt vil dette være tilstrekkelig hvis du bare trenger å redigere filer for hånd, men hvis vi vil utføre noen kommandoer som konfigurerer systemet, må vi montere visse spesielle systemmapper: / 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

  • Med alternativ -t forteller vi montere typen "filsystem" vi vil montere. Det er nødvendig å spesifisere det på grunn av mappenes spesielle karakter / proc y / sys.
  • Med alternativ -o vi spesifiserer alternativene for montere. Valget binde det tjener til å "lenke". I UNIX er alle maskinvareenheter tilgjengelige gjennom mappen / dev, det er derfor vi må montere strømmen vår / dev i mappen der det ødelagte systemet vårt er nå. Siden denne mappen allerede er montert, er det bare nødvendig å fortelle montere der den opprinnelig er montert.

Det gjøres på denne måten slik at chroot ha tilgang til disse mappene som om de var det ødelagte systemet, selv om de må være fra det gjeldende systemet (f.eks. LiveCD-økten) siden de er relatert til tilstanden til systemet, prosesser og maskinvare.

Nå er det på tide å bruke chroot:
chroot /mnt/my_linux/ /bin/bash

  • Kommandoen sendes som argumenter banen til den nye roten «/» (som i vårt tilfelle er / mnt / my_linux) og konsollen du vil bruke (i dette tilfellet har vi valgt den velkjente bash, funnet i / bin / bash). Hvis vi ikke spesifiserer konsollen, vil vi finne oss foran en noe arkaisk kommandotolk (den fylles ikke når du trykker på fanen osv.).

Nå kan vi bruke konsollen som om vi hadde startet rotøkten på vårt ødelagte system (redigere filer, sjekke skript, installere / avinstallere pakker ...). ADVARSEL! For at endringene skal tre i kraft, må du demontere filsystemet etter at du har avsluttet chrootSe på eksemplet nedenfor.

mer informasjon https://wiki.archlinux.org/index.php/Change_Root (mer enn anbefalt lesing).

Brukseksempel: gjenopprett GRUB2

En av de mest utbredte bruken av chroot Det er som et verktøy for å reparere GRUB. Siden hvis grubben går i stykker, er det praktisk talt umulig å starte systemet vårt for å fikse det.

MERKNAD: denne korte opplæringen er bare et eksempel, den fungerer på forskjellige distribusjoner avledet fra blant annet Debian, Ubuntu og openSUSE. Likevel, sjekk dokumentasjonen for distribusjonen din, siden kommandoen ikke er funnet i mange oppdatering-grub.
# MERK: disse kommandoene kjøres en gang i chroot.update-grub
grub-install /dev/sda

  • med oppdatering-grub Vi oppdaterer GRUB2s inngangsmeny, og legger dermed til manglende innganger. Senere installerer vi GRUB på nytt, siden den har blitt skadet.

I dette tilfellet har jeg tatt / Dev / sda som albumet der vi har systemet vårt, må dette tilpasses din sak.

GRUB-en vår skal allerede være reparert, så vi må gå ut chroot, demonter filsystemet (VIKTIG) og start på nytt for at endringene skal tre i kraft. Hvis vi glemmer å demontere filsystemet, er det mulig at omstart av filene ikke vil demonteres riktig, og noen endringer vil derfor ikke tre i kraft.
# vi la chrootexit
# demonter filsystemet og start på nyttumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Og det er alt. Jeg håper du liker det og at det hjelper deg. En hilsen!


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Leper_Ivan sa

    Jeg kan bruke dette .. På et tidspunkt må jeg bruke det.

  2.   mario sa

    Har noen av dere brukt Chakra Benz? I så fall kan du fortelle meg om
    er det enkelt for den vanlige brukeren? Jeg bruker SolydK som er veldig enkelt, men
    Jeg forstår at Chakra er ren KDE og det interesserer meg.

    1.    wow sa

      Ja, chakra er veldig bra og mer eller mindre tilrettelegger jeg, tingen er at for å installere / avinstallere pakker må du gjøre det med konsollen, siden de fremdeles jobber i en grafisk pakkebehandling. Prøv det fordi det er verdt det. Den bruker pacman-pakkebehandling, arvet fra Archlinux, men vær forsiktig, den deler ikke arkiver med arch, og den er IKKE kompatibel med dem. Hvis du vil lære mer om Pacman, kan du ta en titt på arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp sa

        Oktopi er allerede stabil og fungerer ganske bra for en gjennomsnittlig bruker, med det trenger du ikke terminalen for å bruke pacman.

  3.   x11tete11x sa

    Jeg håper dette innlegget vil bli besøkt av mange, så begynner de å installere hodet for noe når du med en chroot kan reparere systemet nesten alltid, chroot gir deg mange muligheter, inkludert å installere Gentoo xD hahaha

  4.   måneaktig sa

    hyggelig takk ... Jeg ga den aldri en ball fordi noen live-CDer for reparasjon synes for meg at de hever den som standard, men nå er det klart, takk igjen.

  5.   Lolo sa

    For å fullføre det, ville det være bra å forklare hvordan du monterer LVM-partisjoner, krypterte partisjoner og RAID-systemer.

    1.    wow sa

      mmm Jeg har ikke rørt LVM og RAID på lenge, men kan du informere meg litt om å fullføre dette ... takk for tipset!

      1.    Lolo sa

        Sannheten er at jeg kunne brukt bra.

        Det ville vært veldig verdsatt.

        1.    wow sa

          ta en titt på denne wiki, det er ganske kult http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem sa

    Hvis bare dette emnet hadde eksistert noen uker senere, viste det seg at jeg hadde et problem med systemet mitt, og jeg leste og leste og overalt fant jeg chroot og blablabla, men det fungerte ikke for meg basert på den anbefalingen fra live som er det samme som systemet ditt, veldig viktig fordi jeg bruker x64, det andre er å montere systempartisjonene, for i mitt tilfelle da jeg brukte chroot og monterte, kastet jeg en kommando, og den kjente bare ikke kommandoen.

    Dette emnet vil gå til "infosamling" -filene mine

  7.   cookie sa

    En Arch LiveCD (med dette verktøyet) er alt som trengs for å fikse systemet ditt når du bryter det.

    1.    RAW-Basic sa

      Akkurat! .. .. det er alt som er nødvendig .. til og med for å hjelpe noen med deres W $ som bestemte seg for ikke å starte ..

      Jeg har alltid med meg en 1GB pendrive med Arch live ... og chroot er alt som er nødvendig, slik at du under noen problemer har alt i orden uten å bli skremt .. 😉

    2.    izzyvp sa

      Du må bare vite hvordan du gjør det.

    3.    pablo sa

      Hei, legg merke til at jeg har et problem med centos, det sender meg kjernepanikk osv. Og jeg har ikke klart å løse det, jeg har nettstedet mitt og databasen der, jeg vet ikke hva jeg skal gjøre annet.

  8.   jony127 sa

    Bra innlegg, jeg hadde hørt litt chroot i forbifarten, men jeg visste ikke hvordan jeg skulle bruke det, selvfølgelig hadde jeg aldri hatt behov for det, og det var derfor jeg ikke hadde lest noe spesielt. Nå med innlegget ditt forklart veldig tydelig, vet jeg hvordan jeg bruker det i tilfelle.

    Tusen takk og forresten, leve Led Zeppelin hehe.

  9.   Kamala sa

    takk, jeg endelig fikk ut av grub redning mareritt

    faktisk fulgte jeg alle trinnene unntatt umount / mnt / my_linux, fordi det fortalte meg at det var opptatt, og jeg fuserer det -km, men ikke engang det, og spretter ...

    Jeg håper det ikke er viktig….

    takk igjen…
    en hilsen

  10.   Jose Antonio sa

    Selv om artikkelen allerede er et par år gammel, vil jeg takke forfatteren for hans sjenerøsitet med å dele den, det er en flott artikkel fordi denne helgen reddet livet mitt. Ufrivillig lastet jeg inn en server som installerte en pakke, og når den startet på nytt, ble den ikke lastet. Etter tre dager med å prøve å fikse det og lese forskjellige artikler, klarte jeg å komme hit ved en tilfeldighet og kunne endelig installere grub og fikse serveren på nytt.

    Tusen takk!

    1.    wow sa

      Jeg er glad det hjalp deg. Takk for kommentaren!

  11.   helium sa

    Hei, hvordan jeg vet at dette innlegget har vært for mange år siden, denne store takk for at du delte det. Og jeg var i tvil, i mitt tilfelle skadet det systemet og også nettverksdriverne, så jeg fulgte trinnene, men det tillater meg ikke å laste ned pakker, er det noen måte å koble live nettverk med terminalen

    1.    wow sa

      Jeg forstår ikke problemet ditt ... Når du logger på med LiveCD, er kjernen som lastes inn den fra LiveCD, derfor bør du kunne konfigurere en internettforbindelse perfekt. Når forbindelsen er opprettet, kan du prøve å chroot for å se om du fremdeles beholder den, hvis ikke, må du kanskje konfigurere den igjen, men den skadede kjernen bør ikke påvirke chroot-økten.
      Hvis du ikke spesifiserer mer, kan jeg fortelle deg ...

  12.   dacha sa

    Utmerket innlegg ... en av de få nyttige artiklene som finnes på Internett.
    Tusen takk for bidraget.

  13.   zopeck sa

    Hei, utmerket opplæring! Super forklart, for oss bare dødelige!

    Jeg har et spørsmål:
    Når du nevnte at i tilfelle du trenger å installere pakker, utføre systemoppdateringer eller annen spesiell aktivitet, og trenger montering av mappene / dev / proc og / sys, var det ikke klart for meg om disse mappene er i Live-systemet som vi startet utstyret som skal repareres, eller hvis det er i rotpartisjonen montert først.

    Takk.

  14.   Orlando sa

    TUSEN TAKK!!!!