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.
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.
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
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
- Hold
SHIFT
– tasten mens du starter for å komme inn I GRUB-menyen. - Trykk
e
for å redigere oppstartsoppføringen - Legg til kjerneparameteren som ‘
break
‘som vist på skjermbildet nedenfor - Trykk
Ctrl - X
for å lagre og avslutte
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>
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'
- 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*
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