Hur använder man fsck-kommandot i Linux?
kommandot fsck
(file system consistency check) är ett verktyg för att kontrollera och reparera ett Linux-filsystem. Moderna filsystem med journalföring är utformade så att verktyg som fsck inte lätt krävs. I några få fall kan fsck dock vara det enda alternativet att reparera ett ‘dåligt’ filsystem.
fsck
kan köras på en partition som blev skadad eller inkonsekvent med resten av filesytem.
anledningar till att fsck kan krävas
- Oren avstängning-detta är den främsta orsaken till korruption. På grund av en ‘oren avstängning’ kan systemet misslyckas med att ens starta ordentligt
- körfel eller korruption
Innehållsförteckning
miljöer där du inte ska använda fsck
eftersom kommandot fungerar direkt med filsystemets sektorer är det viktigt att vidta nödvändiga försiktighetsåtgärder här.
e2fscks man-sida säger:
Observera att det i allmänhet inte är säkert att köra e2fsck på monterade filsystem. Det enda undantaget är om alternativet-n anges och alternativen-c,- l eller-L inte anges. Men även om det är säkert att göra det, är resultaten som skrivs ut av e2fsck inte giltiga om filsystemet är monterat. Om e2fsck frågar om du ska kontrollera ett filsystem som är monterat, är det enda rätta svaret “nej”.
https://www.man7.org/linux/man-pages/man8/e2fsck.8.html
så du måste göra fsck
på en omonterad partition. Om du kan avmontera partitionen med umount
, bra och bra. Annars behöver du ändra din miljö:
1. Återställningsläge
(för Ubuntu – Håll SHIFT
medan du startar för att gå in i GRUB, välj ‘Avancerade alternativ för Ubuntu’, välj sedan alternativet märkt ‘återställningsläge’ och välj sedan fsck). I återställningsläget är partitionerna monterade.
2. När du använder init=/bin/bash-kärnparametern
( Håll SHIFT
medan du startar för att gå in i GRUB, tryck på e
för att redigera kärnparametrarna). Det ger ett bash-skal där fsck
kan köras men även här är partitionerna monterade.
Hur använder man fsck-kommandot?
med grunderna tydliga, låt oss gå till stegen hur du ska använda fsck-kommandot i Linux.
1. Grundläggande användning av
innan du börjar använda kommandot, se till att du arbetar på en omonterad partition. För att avmontera en partition och sedan köra fsck på den typ :
$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>
chansen är stor att du inte kan avmontera partitionen. I så fall kan du välja en av följande metoder.
2. Att köra fsck med en live USB
detta är förmodligen det bästa sättet att köra fsck
. Det ger en rik uppsättning bekanta verktyg som fdisk
. Använd denna handledning för att skapa en Live Ubuntu USB. Den här delen förutsätter att du kör Linux från en Live USB.
för att lista alla partitioner på ditt system kan du använda kommandot fdisk
.
$ sudo fdisk -l
de partitioner som visas ovan (för 2 SSD, en NVMe och andra SATA) kan vara annorlunda än vad du har på ditt system. fdisk skriver ut mer information om partitionerna också. För syftet med denna artikel är dock partitionens namn tillräckligt.
identifiera partition som orsakar problem, kör sedan helt enkelt:
$ fsck /dev/<partition_name>
detta borde lösa problemet.
3. Använda initramfs
ett annat sätt att använda fsck-kommandot är i intramfs-läget. Att komma in initramfs
- Håll
SHIFT
– tangenten medan du startar för att komma in i GRUB-menyn. - tryck på
e
för att redigera startposten - Lägg till kärnparametern som ‘
break
‘som visas på skärmdumpen nedan - tryck på
Ctrl - X
för att spara och avsluta
initramfs
ger ett ‘mindre lockande’ sätt att felsöka.
partitionerna är inte monterade i initramfs, så att utföra fsck
skulle vara säkert. Du behöver också namnet på partitionen. Initramfs tillhandahåller dock ett minimum av verktyg. Så fdisk
kommer inte att vara tillgänglig. Du kan lista partitionerna med kommandot cat som visas nedan:
$ cat /proc/partitions
identifiera partitionen och kör sedan:
$ fsck /dev/<partition_name>
Obs: fsck använder Live USB kanske inte alltid tillgänglig. Använd i så fall initramfs-metoden.
hur man kontrollerar om fsck är planerad eller inte
du kanske vill veta när var din partition kontrolleras förra gången eller när kommer det att vara i framtiden. I så fall kör:
$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
- maximal monteringsantal är antalet fästen varefter filsystemet automatiskt kontrolleras av fsck.
- kontrollintervall är tiden mellan två filsystemkontroller.
dessa två värden är tillräckliga för att identifiera när fsck-kommandot senast kördes.
skillnad mellan fsck och e2fsck
du kan hitta olika svar/artiklar som ber dig att köra e2fsck eller fsck.ext4 snarare än fsck. Vilken skillnad gör det om du kör något av dessa verktyg istället för fsck
?
fsck
är bara en frontend för alla filsystemspecifika fsck-kommandon som de två som visas ovan (ett omslag om du kanske säger). Anropa fsck
anropar automatiskt rätt filsystemspecifik fsck
. Låt oss se vilka alla fsck
finns på vårt system:
$ ls -l /sbin/fsck*
Running fsck
på en ext2 / 3 / 4-partition kör respektive /sbin/fsck.ext*
körbar. Dessa körbara filer är i sin tur hårda länkar till körbara e2fsck
. Så även om du kör fsck
på en ext4-partition skulle den slutligen köra e2fsck
.
slutsats
i denna handledning täckte vi fsck
vilket är ett användbart verktyg för återställning av filsystem. Om du vill veta mer om fsck
kommando, titta på dess man sida.
Leave a Reply