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 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
- 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!
Jeg kan bruke dette .. På et tidspunkt må jeg bruke det.
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.
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
Oktopi er allerede stabil og fungerer ganske bra for en gjennomsnittlig bruker, med det trenger du ikke terminalen for å bruke pacman.
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
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.
For å fullføre det, ville det være bra å forklare hvordan du monterer LVM-partisjoner, krypterte partisjoner og RAID-systemer.
mmm Jeg har ikke rørt LVM og RAID på lenge, men kan du informere meg litt om å fullføre dette ... takk for tipset!
Sannheten er at jeg kunne brukt bra.
Det ville vært veldig verdsatt.
ta en titt på denne wiki, det er ganske kult http://wiki.bandaancha.st/RAID_y_LVM_en_Linux
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
En Arch LiveCD (med dette verktøyet) er alt som trengs for å fikse systemet ditt når du bryter det.
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 .. 😉
Du må bare vite hvordan du gjør det.
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.
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.
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
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!
Jeg er glad det hjalp deg. Takk for kommentaren!
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
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 ...
Utmerket innlegg ... en av de få nyttige artiklene som finnes på Internett.
Tusen takk for bidraget.
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.
TUSEN TAKK!!!!