hvordan bruker du fsck-kommandoen I Linux?

kommandoen fsck (file system consistency check) er et verktøy for å sjekke Og reparere Et Linux-Filsystem. Moderne filsystemer med journaling er utformet slik at verktøy som fsck ikke er lett påkrevd. Men i noen tilfeller kan fsck være det eneste alternativet for å reparere et ‘dårlig’ filsystem.

fsck kan kjøres på en partisjon som ble ødelagt eller inkonsekvent med resten av filesytem.

Grunner til at fsck kan være nødvendig

  • Urent Nedleggelse-Dette er den viktigste årsaken til korrupsjon. På grunn av en ‘urent avslutning’, kan systemet mislykkes i å starte opp riktig
  • Stasjonsfeil eller Korrupsjon

Innholdsfortegnelse

Miljøer Der du IKKE Bør Bruke fsck

siden kommandoen fungerer direkte med sektorene i filsystemet, er det viktig å ta de nødvendige forholdsregler her.

e2fscks mann side sier:

Merk at det generelt ikke er trygt å kjøre e2fsck på monterte filsystemer. Det eneste unntaket er hvis-n-alternativet er angitt, og-c,- l eller-L-alternativene ikke er angitt. Men selv om det er trygt å gjøre det, er resultatene som skrives ut av e2fsck ikke gyldige hvis filsystemet er montert. Hvis e2fsck spør om du bør sjekke et filsystem som er montert, er det eneste riktige svaret “nei”.

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

Så må du gjøre fsck på en umontert partisjon. Hvis du kan demontere partisjonen ved hjelp av umount, vel og bra. Ellers må du endre miljøet ditt:

1. Gjenopprettingsmodus

(For Ubuntu – Hold SHIFT under oppstart for Å gå INN I GRUB, Velg ‘Avanserte Alternativer For Ubuntu’, velg deretter alternativet merket ‘gjenopprettingsmodus’, velg deretter fsck). I gjenopprettingsmodus er partisjonene montert.

Gjenopprettingsmodus Fsck
Gjenopprettingsmodus fsck

2. Mens du bruker init=/bin/bash kernel parameter

(Hold SHIFT Mens du starter for Å gå INN I GRUB, trykk e for å redigere kjerneparametrene). Det gir et bash-skall hvorfra fsck kan kjøres, men også her er partisjonene montert.

Init Kernel Parameter
Init Kernel Parameter

Hvordan bruker du fsck-kommandoen?

Med det grunnleggende klart, la oss gå til trinnene hvordan du bør bruke fsck-kommandoen I Linux.

1. Grunnleggende Bruk av

før du begynner med å bruke kommandoen, må du kontrollere at du arbeider på en umontert partisjon. For å demontere en partisjon og deretter kjøre fsck på den typen :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

Sjansen er at du ikke kan demontere partisjonen. I så fall kan du velge en av følgende metoder.

2. Kjører fsck med en live USB

dette er trolig den beste måten å kjøre fsck. Det gir et rikt sett med kjente verktøy som fdisk. Bruk denne opplæringen til å lage en Live Ubuntu USB. Denne delen antar at Du kjører Linux av En Live USB.

for å liste alle partisjonene på systemet ditt, kan du bruke kommandoen fdisk.

$ sudo fdisk -l
Nvme Partisjoner
NVME SSD Partisjoner
Sata Ssd Partisjoner
SATA SSD Partisjoner

Merk: partisjonene vist ovenfor (for 2 Ssder, en NVMe og annen SATA) kan være annerledes enn det du har på systemet ditt. fdisk skriver ut mer informasjon om partisjonene også. Men for formålet med denne artikkelen er navnet på partisjonen tilstrekkelig.

Identifiser partisjon som forårsaker problemer, så bare kjør:

$ fsck /dev/<partition_name>

dette burde fikse problemet.

3. Bruke initramfs

En annen måte å bruke fsck-kommandoen på er i intramfs-modus. Å komme inn initramfs

  1. Hold SHIFT – tasten mens du starter for å komme inn I GRUB-menyen.
  2. Trykk e for å redigere oppstartsoppføringen
  3. Legg til kjerneparameteren som ‘break ‘som vist på skjermbildet nedenfor
  4. Trykk Ctrl - X for å lagre og avslutte
Gå Inn I Initramfs
Gå Inn I Initramfs

initramfs gir en ‘mindre forlokkende’ måte feilsøking.

partisjonene er ikke montert i initramfs, så det ville være trygt å utføre fsck. Du trenger også navnet på partisjonen. Initramfs gir imidlertid et minimum av verktøy. Så fdisk vil ikke være tilgjengelig. Du kan liste partisjonene ved hjelp av cat-kommandoen som vist nedenfor:

$ cat /proc/partitions

Identifiser partisjonen og kjør deretter:

$ fsck /dev/<partition_name>
Initramfs Fschk
Initramfs Fsck

Merk: fsck ved Hjelp Av Live USB er kanskje ikke alltid tilgjengelig. I sa fall bruk initramfs-metoden.

slik sjekker du om fsck er planlagt eller ikke

du vil kanskje vite når partisjonen din ble sjekket sist, eller når vil den være i fremtiden. I så fall løp:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
Se Etter Fsck 1
Se Etter Fsck
  • Maksimal mount count er antall fester etter som filsystemet vil bli automatisk sjekket av fsck.
  • Kontrollintervall er tiden mellom to filsystemkontroller.

Disse to verdiene er nok til å identifisere når fsck-kommandoen ble sist kjørt.

Forskjell mellom fsck og e2fsck

Du kan finne forskjellige svar / artikler som ber deg om å kjøre e2fsck eller fsck.ext4 i stedet for fsck. Hvilken forskjell gjør det hvis du kjører noen av disse verktøyene i stedet for fsck?

fsck er bare en frontend for alle filsystemspesifikke fsck-kommandoer som de to vist ovenfor(en wrapper hvis du kan si). Påkaller fsck automatisk riktig filsystemspesifikt fsck. La oss se hvilke alle fsck er der på vårt system:

$ ls -l /sbin/fsck*
Ulike Fscks
Liste over alle fsck

Kjører fsck på en ext2 / 3 / 4 partisjon kjører den respektive /sbin/fsck.ext* kjørbar. Disse kjørbare i sin tur er harde koblinger til e2fsck kjørbar. Så, selv om du kjører fsck på en ext4-partisjon, vil den til slutt kjøre e2fsck.

Konklusjon

i denne opplæringen dekket vi fsck som er et nyttig verktøy for gjenoppretting av filsystemer. Hvis du vil vite mer om kommandoen fsck, kan du se på man-siden.

Leave a Reply