Come eseguire il controllo completo della struttura del file system ext4?


25

Ho una partizione ext4 da 2 TB con mezzo milione di file.
Voglio verificare se questa partizione contiene errori o meno.
Non voglio cercare blocchi danneggiati, solo la struttura logica dovrebbe essere controllata.

Ho smontato la partizione ed eseguito fsck /dev/sda2, ma fsck ritorna immediatamente con il codice di uscita 0 senza effettivamente controllare l'intero file system.
Mi aspetto che il completamento del controllo della partizione richiederebbe ore.
Ho letto man fsckma non ho trovato un'opzione per "test approfonditi".

Temo che la mia partizione possa avere alcuni settori accidentalmente sovrascritti da dati inutili.
Il mio HDD era precedentemente collegato a un altro sistema operativo e la partizione ext4 potrebbe essere danneggiata da un comportamento errato di quel sistema operativo.
Ecco perché voglio essere sicuro che l'intera struttura ad albero sia completamente corretta.

In altre parole, voglio eseguire un controllo simile a quello che chkdsk.exefa l' utilità su Windows.
Cosa dovrei usare su Debian per controllare completamente il file system ext4?


2
@SatoKatsura - Grazie! Mi chiedo solo perché il e2fsck -fcontrollo sia così veloce - ci vogliono solo alcuni secondi? È sorprendente rispetto al comportamento di Windows (ci vogliono ore).
Egor Skriptunoff,

Risposte:


27

Come menzionato da Satō Katsura , corri e2fsckin modalità "forza":

e2fsck -f /dev/sda2

Questo forzerà un controllo anche se il sistema pensa che il file system sia pulito. Anche l'opzione "dettagliata" è utile:

e2fsck -vf /dev/sda2

Come nota a margine e non applicabile nel tuo caso, ma se usi LVM per la tua memoria puoi usare il piccolo lvcheckstrumento pulito per eseguire un controllo "offline" del file system su un file system montato (usa uno snapshot e gli aggiornamenti LVM i metadati del file system se il controllo non rileva alcun errore).


7

Inoltre, è possibile aggiungere il -yflag per evitare di rispondere alle domande.

Dal manuale :

-y assumere una risposta yesa tutte le domande; consente e2fsckdi essere utilizzato in modo non interattivo.

Quindi estendendo la risposta (dal momento che non posso ancora commentare) da @Sato - potresti eseguire:

e2fsck -vfy /dev/sda2

6
Questo può essere rischioso, perché non sai in anticipo cosa ti potrebbe essere chiesto e forzare una risposta affermativa a tutto ciò potrebbe nel peggiore dei casi portare alla perdita di dati altrimenti recuperabili.
Alex

0

Puoi anche controllare i file system live in modalità di sola lettura con questo:

e2fsck -vfn /dev/sda2

Dalla guida di e2fsck: "Tuttavia, anche se è sicuro farlo, i risultati stampati da e2fsck non sono validi se il filesystem è montato." Non sono sicuro di quale sia lo scopo, ad esempio check ...: /
joaerl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.