Dysk twardy jest najważniejszą częścią komputera. To na nim przechowywane są pliki systemu operacyjnego i inne ważne informacje. Jednostką przechowywania danych na dysku twardym jest sektor lub blok. Jest to miejsce, w którym przechowywana jest określona ilość danych, zwykle 512 lub 1024 bajty. Z czasem na dysku pojawiają się sektory, które przestają działać, ale system plików nadal próbuje zapisywać w nich informacje. Zapisywanie informacji w takich sektorach jest niezwykle trudne, więc użytkownik może je utracić. Ta wada jest charakterystyczna dla dysków twardych HDD, podczas gdy dyski SSD są jej pozbawione. Posiadają one specjalny kontroler, który przenosi dane z sektorów bitowych do sektorów roboczych. W tym artykule powiemy ci, jak sprawdzić dysk pod kątem sektorów bitowych w systemie Linux.
W systemie Linux program o nazwie badblocks służy do wyszukiwania uszkodzonych sektorów na dysku twardym. Jeśli chcesz sprawdzić partycję główną lub domową dysku, lepiej jest uruchomić komputer z LiveCD, aby system plików nie był zamontowany. Jeśli chcesz sprawdzić, jakie partycje znajdują się na dysku, możesz użyć polecenia fdisk
:
$ sudo fdisk -l /dev/sda1
Korzystając z interfejsu graficznego, można użyć Gparted - specjalnego narzędzia. Użytkownik musi jedynie wybrać wymagany dysk z rozwijanej listy.
W konkretnym przykładzie rozważmy, jak sprawdzić partycję /dev/sda2
z systemem plików XFS. Do tego celu służy polecenie badblocks. Jego składnia jest dość prosta:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Mogą być potrzebne następujące opcje programu:
-e
- pozwala ustawić liczbę bloków bitowych, po której test nie powinien być kontynuowany;-f
- domyślnie narzędzie pomija test odczytu/zapisu, jeśli system plików jest zamontowany, aby go nie uszkodzić, ta opcja pozwala nadal wykonywać te testy nawet dla zamontowanych systemów;-o
- zapisuje wykryte bloki bitów do określonego pliku;-p
- liczba skanów, domyślnie tylko jeden;-s
- pokazuje postęp skanowania partycji;-v
- maksymalnie szczegółowy tryb;-i
- umożliwia przesłanie listy wcześniej znalezionych sektorów bitowych, aby nie trzeba było ich ponownie sprawdzać;-n
- użyj bezpiecznego testu odczytu i zapisu, podczas tego testu dane nie są usuwane;-w
- umożliwia wykonanie testu zapisu, określona sekwencja bajtów jest zapisywana do każdego bloku, co powoduje usunięcie danych, które były tam wcześniej przechowywane.Do celów normalnego testu należy użyć tego polecenia:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Polecenie to można wykonać na dysku z systemem operacyjnym, nie ma w nim nic złego - nie może wyrządzić żadnej szkody. Można je uruchomić na zamontowanym systemie plików, choć lepiej tego nie robić Jeśli system plików jest odmontowany, zalecamy wykonanie testu zapisu z opcją -n
:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Po zakończeniu testu system powinien otrzymać informacje o sektorach bitowych, aby nie miał do nich dostępu. W tym celu można użyć narzędzia fsck i opcji -l
:
$ fsck -l ~/bad_sectors.txt /dev/sda1
Jeśli korzystasz z systemu plików rodziny Ext, użyj polecenia e2fsck
, aby wyszukać bloki bitów i automatycznie zarejestrować je w systemie plików:
$ sudo e2fsck -cfpv /dev/sda1
Za pomocą opcji -c
można łatwo wyszukiwać bloki bitów i dodawać je do listy, -f
sprawdza system plików, -p
odzyskuje uszkodzone dane, a -v
wyświetla wszystko szczegółowo.
Teraz już wiesz, jak sprawdzić dysk twardy i znaleźć sektory bitowe.