Jak przeprowadzić pełną kontrolę struktury systemu plików ext4?

25

Mam partycję ext4 2 TB z pół milionem plików.
Chcę sprawdzić, czy ta partycja zawiera jakieś błędy, czy nie.
Nie chcę szukać złych bloków, należy sprawdzić tylko logiczną strukturę.

Odmontowałem partycję i uruchomiłem fsck /dev/sda2, ale fsck natychmiast zwraca kod wyjścia 0 bez sprawdzania całego systemu plików.
Spodziewam się, że pełna kontrola partycji zajmie godziny.
Przeczytałem, man fsckale nie znalazłem opcji „dokładnego testowania”.

Obawiam się, że na mojej partycji niektóre sektory mogą zostać przypadkowo zastąpione przez śmieciowe dane.
Mój dysk twardy był wcześniej podłączony do innego systemu operacyjnego, a partycja ext4 może zostać uszkodzona przez nieprawidłowe działanie tego systemu.
Dlatego chcę mieć pewność, że cała struktura drzewa jest całkowicie poprawna.

Innymi słowy, chcę wykonać kontrolę podobną do tego, co narzędzie chkdsk.exerobi w systemie Windows.
Czego powinienem używać na Debianie, aby całkowicie sprawdzić system plików ext4?

Egor Skriptunoff
źródło
2
@SatoKatsura - Dzięki! Zastanawiam się tylko, dlaczego e2fsck -fsprawdzanie jest tak szybkie - zajmuje tylko kilka sekund? To niesamowite w porównaniu do zachowania systemu Windows (zajmuje to wiele godzin).
Egor Skriptunoff

Odpowiedzi:

27

Jak wspomniała Satō Katsura , uruchom e2fscktryb „force”:

e2fsck -f /dev/sda2

Wymusi to sprawdzenie, nawet jeśli system uzna, że ​​system plików jest czysty. Pomocna jest również opcja „pełna”:

e2fsck -vf /dev/sda2

Na marginesie, i nie ma zastosowania w twoim przypadku, ale jeśli używasz LVM do przechowywania, możesz użyć schludnego małego lvchecknarzędzia, aby uruchomić sprawdzanie systemu plików „offline” na zamontowanym systemie plików (używa migawki LVM i aktualizacji metadane systemu plików, jeśli czek nie znajdzie żadnych błędów).

Stephen Kitt
źródło
7

Możesz także dodać -yflagę, aby uniknąć odpowiedzi na pytania.

Z instrukcji :

-y przyjąć odpowiedź yesna wszystkie pytania; pozwala e2fsckna użycie nieinteraktywne.

Rozszerzając odpowiedź (ponieważ nie mogę jeszcze komentować) z @Sato - możesz uruchomić:

e2fsck -vfy /dev/sda2
nieważne
źródło
6
Może to być ryzykowne, ponieważ nie wiesz z góry, o co możesz zostać poproszony, a wymuszenie odpowiedzi twierdzącej na wszystko może w najgorszym przypadku doprowadzić do utraty danych, które można odzyskać w inny sposób.
Alex
0

Możesz również sprawdzić systemy plików na żywo w trybie tylko do odczytu za pomocą:

e2fsck -vfn /dev/sda2
Attila
źródło
Z pomocy e2fsck: „Jednak nawet jeśli jest to bezpieczne, wyniki wydrukowane przez e2fsck nie są prawidłowe, jeśli system plików jest zamontowany.” Nie jestem pewien, jaki jest cel, na przykład sprawdź ...: /
joaerl