Jak mogę sprawdzić liczbę uszkodzonych sektorów na moim dysku twardym?

10

Wiem, jak sprawdzić / naprawić dysk twardy, ale nie wiem, jak sprawdzić liczbę uszkodzonych sektorów na dysku twardym.

PS Wygląda na to, że mój dysk twardy wkrótce umrze :-(

Alfa Syzyf
źródło

Odpowiedzi:

12

Istnieją dwa sposoby wykrywania uszkodzonych sektorów w systemie Linux: możesz użyć narzędzia dyskowego (GUI) lub użyć polecenia badblocks, aby sprawdzić dysk twardy pod kątem uszkodzonych sektorów:

sudo badblocks -v /dev/{device}

To powinno odpowiedzieć na pytanie, ale dla każdego, kto jest zainteresowany ich oznaczeniem, można to zrobić za pomocą 2 prostych poleceń ...

Dodajesz złe bloki do pliku ...

sudo badblocks /dev/sdb > {/dir/to/filename}

a następnie powiedz, fsckaby oznaczyć je jako bezużyteczne za pomocą ...

sudo fsck -l {/dir/to/filename} /dev/{device}
Rinzwind
źródło
2
Wygląda na to, że e2fsckma -copcję, która badblockssama się wywołuje i dba o rozmiar bloku. Najwyraźniej trzeba bardzo uważać, aby te pasowały, jeśli zrobisz to po swojemu.
Martin Ueding
3
Takie użycie znaku badblocks+ fsckdo oznaczenia złych bloków może być niebezpieczne. Ze badblocksstrony podręcznika man: „Ważna uwaga: jeśli dane wyjściowe złych bloków zostaną przekazane do programów e2fsck lub mke2fs, ważne jest prawidłowe określenie rozmiaru bloku, ponieważ generowane numery bloków są bardzo zależne od rozmiaru bloku używanego przez system plików. Z tego powodu zdecydowanie zaleca się, aby użytkownicy nie uruchamiali Badblocks bezpośrednio, ale raczej używali opcji -c programów e2fsck i mke2fs . ” Zobacz odpowiedź @ john-mehorter.
sierrasdetandil
Dzięki, zastanawiałem się nad tym wczoraj. +1
WinEunuuchs2Unix,
8

Użyj na przykład fsck.ext3 (e2fsck) i użyj opcji -cc

-c     This option causes e2fsck to use badblocks(8) program to do a read-only scan of the device in  order  to  find  any  bad
          blocks.   If  any  bad blocks are found, they are added to the bad block inode to prevent them from being allocated to a
          file or directory.  If this option is specified twice, then the bad block scan will  be  done  using  a  non-destructive
          read-write test.`

fsck -cc / dev / sda1

John Mehorter
źródło
1
Czytałem to kilka razy w ciągu ostatnich lat, ale nie wiem, co to jest test nieniszczący. Nic nie zmienia na dysku? Czy to tylko informacyjne?
Robert Vila,
Zakładam, że spróbuje zapisać w każdym bloku, ale ponownie zapisze oryginalne dane.
Martin Ueding