Zakładam, że mówisz o fizycznych uszkodzonych blokach na dysku, a nie o uszkodzonych systemach plików.
Aby sprawdzić stan fizyczny dysku, najlepiej go zainstalować smartmontools
sudo apt-get install smartmontools
Działa to, ponieważ wszystkie nowoczesne dyski rejestrują swój stan zdrowia za pomocą systemu o nazwie SMART
Użyj smartctrl
polecenia, aby odczytać ten status. Na przykład, aby odczytać wszystkie atrybuty z pierwszego wywołania dysku
sudo smartctl --all /dev/sda
Uważaj na linię mówiącą o ogólnym stanie zdrowia. Gdy to wskaże błąd, bardzo prawdopodobne jest, że dysk wkrótce ulegnie awarii.
SMART overall-health self-assessment test result: PASSED
Inne wiersze, które chcesz sprawdzić, to liczba oczekujących sektorów i ponownie przydzielone sektory.
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 48
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
Realokacja list zwykle w polu surowym liczba uszkodzonych sektorów wymienianych przez dysk na działające zapasowe. Oczekujące to sektory, które mogą zostać ponownie przydzielone w przypadku niepowodzenia następnego zapisu.
Możesz nawet uruchamiać autotesty dysku, jeśli jest to obsługiwane przez Twój model
sudo smartctl -t long /dev/sda
Aby wymusić sprawdzenie wszystkich sektorów, użyj badblocks
w trybie, w którym zapisywane są dane. Uważaj, że chociaż ogólnie można go bezpiecznie uruchamiać, spowoduje to dodatkowe obciążenie dysków, co może spowodować ich awarię. Zawsze miej kopię zapasową swoich danych.
sudo badblocks -svvn -c 262144 /dev/sda
Jeśli dysk został w pełni przetworzony w ten sposób, kontroler dysku powinien wymienić wszystkie uszkodzone bloki na działające, a ponownie przydzielona liczba zostanie zwiększona w dzienniku SMART.
-c
lub liczba bloków, które są testowane jednocześnie, lub innymi słowy, dlaczego masz tak dużą wartość w porównaniu do domyślnej wartości 64?