Hvordan bruke 'fsck' til å reparere filsystemfeil i Linux


Linux-filsystemer er ansvarlige for å organisere hvordan data lagres og gjenopprettes. På en eller annen måte, med tiden, kan filsystemet bli ødelagt og enkelte deler av det kanskje ikke tilgjengelig. Hvis filsystemet ditt utvikler slik inkonsekvens, anbefales det å verifisere dets integritet.

Dette kan fullføres via et systemverktøy kalt fsck (filsystemkonsistenssjekk), som sjekker rotfilsystemet automatisk under oppstartstid eller kjørte manuelt.

I denne artikkelen skal vi se på fsck-kommandoen og bruken av den for å hjelpe deg med å reparere Linux-diskfeil.

Når du skal bruke fsck-kommando i Linux

Det er forskjellige scenarier når du vil kjøre fsck. Her er noen eksempler:

  • Systemet klarer ikke å starte opp.
  • Filer på systemet blir korrupte (ofte kan du se inn-/utdatafeil).
  • Den tilkoblede stasjonen (inkludert flash-stasjoner/SD-kort) fungerer ikke som forventet.

fsck kommandoalternativer

fsck-kommandoen må kjøres med superbrukerrettigheter eller root. Du kan bruke den med forskjellige argumenter. Bruken deres avhenger av ditt spesifikke tilfelle. Nedenfor ser du noen av de viktigere alternativene:

  • -A – Brukes for å sjekke alle filsystemer. Listen er hentet fra /etc/fstab.
  • -C – Vis fremdriftslinje.
  • -l – Låser enheten for å garantere at ingen andre programmer prøver å bruke partisjonen under kontrollen.
  • -M – Ikke sjekk monterte filsystemer.
  • -N – Vis bare hva som ville bli gjort – ingen faktiske endringer er gjort.
  • -P – Hvis du vil sjekke filsystemer parallelt, inkludert root.
  • -R – Ikke sjekk rotfilsystemet. Dette er bare nyttig med '-A'.
  • -r – Gi statistikk for hver enhet som kontrolleres.
  • -T – Viser ikke tittelen.
  • -t – Spesifiser eksklusivt Linux-filsystemtypene som skal kontrolleres. Typer kan være kommadelte lister.
  • -V – Gi en beskrivelse av hva som blir gjort.

Kjør fsck Command for å reparere Linux-filsystemfeil

For å kjøre fsck, må du sørge for at partisjonen du skal sjekke ikke er montert. For formålet med denne artikkelen vil jeg bruke min andre stasjon /dev/sdb montert i /mnt.

Her er hva som skjer hvis jeg prøver å kjøre fsck når partisjonen er montert.

fsck /dev/sdb

For å unngå dette avmonter partisjonen ved hjelp av.

umount /dev/sdb

Da kan fsck trygt kjøres med.

fsck /dev/sdb

Forstå fsck-utgangskoder

Etter å ha kjørt fsck, vil den returnere en utgangskode. Disse kodene kan sees i fscks manual ved å kjøre:

man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck Reparer Linux-filsystem

Noen ganger kan mer enn én feil bli funnet på et filsystem. I slike tilfeller vil du kanskje at fsck automatisk forsøker å rette opp feilene. Dette kan gjøres med:

fsck -y /dev/sdb

-y-flagget, automatisk “yes ” til alle spørsmål fra fsck for å rette en feil.

På samme måte kan du kjøre det samme på alle filsystemer (uten root):

fsck -AR -y 

Hvordan kjøre fsck på Linux Root Partition

I noen tilfeller kan det hende du må kjøre fsckrot-partisjonen til systemet ditt. Siden du ikke kan kjøre fsck mens partisjonen er montert, kan du prøve ett av disse alternativene:

  • Tving fsck ved systemoppstart
  • Kjør fsck i redningsmodus

Vi vil vurdere begge situasjonene.

Tving fsck ved systemoppstart

Dette er relativt enkelt å fullføre, det eneste du trenger å gjøre er å lage en fil kalt forcefsck i rotpartisjonen til systemet ditt. Bruk følgende kommando:

touch /forcefsck

Deretter kan du ganske enkelt tvinge eller planlegge en omstart av systemet. Under neste oppstart vil fsck bli utført. Hvis nedetid er kritisk, anbefales det å planlegge dette nøye, siden hvis det er mange brukte inoder på systemet ditt, kan fsck ta litt ekstra tid.

Etter at systemet har startet opp, sjekk om filen fortsatt eksisterer:

ls /forcefsck

Hvis den gjør det, vil du kanskje fjerne den for å unngå fsck ved hver systemoppstart.

Kjør fsck i redningsmodus

Å kjøre fsck i redningsmodus krever noen flere trinn. Forbered først systemet for omstart. Stopp eventuelle kritiske tjenester som MySQL/MariaDB osv. og skriv deretter.

reboot

Under oppstart, hold nede shift-tasten slik at grub-menyen vises. Velg «Avanserte alternativer ».

Velg deretter «Gjenopprettingsmodus».

I neste meny velger du «fsck ».

Du vil bli spurt om du vil ha /-filsystemet remontert. Velg “ja”.

Du bør se noe som ligner på dette.

Du kan deretter gjenoppta normal oppstart ved å velge “Fortsett ”.

Konklusjon

I denne opplæringen lærte du hvordan du bruker fsck og kjører konsistenssjekker på forskjellige Linux-filsystemer. Hvis du har spørsmål om fsck, ikke nøl med å sende dem i kommentarfeltet nedenfor.