Odpowiedzi:
Czasami niewłaściwe jest korzystanie z funkcji automatycznego przenoszenia sektora dysku, więc pytanie postawione przez ohho staje się charakterystyczne:
Jeśli jest uszkodzony sektor, albo:
- rozważ to przed wykonaniem jakiejkolwiek czynności, która może spowodować relokację (lub zmianę mapowania lub oszczędzanie, lub jakkolwiek to nazwiesz).
Podczas gdy SpinRite 6 nie jest dla komputerów Mac, strona 2003 dla wersji 5 jest pouczająca:
Zwróć uwagę na sekcję dotyczącą automatycznej relokacji i związanego z nią ryzyka utraty danych.
SpinRite na bok, szybkie przejście o dekadę od 2003 do 2013:
Na pytanie tutaj…
W przypadku komputerów Mac - w systemie OS X - nie znam niczego tak zdolnego i ostrożnego jak SpinRite (nic, co mogłoby wyłączyć automatyczne przenoszenie).
Tak więc, w obecnej sytuacji: aby zweryfikować sektory dysku USB na OS X , prawdopodobnie ograniczamy się do korzystania z narzędzi, które mogą powodować przeniesienie . Nie jestem w stanie oszacować stopnia ryzyka powiązanej utraty danych, ale jeśli ryzyko to jest dopuszczalne , powinienem najpierw skierować się na:
Wskazówka: to, co jest objęte powiązanym pytaniem (1), jest od razu bardziej przyjazne dla użytkownika.
Sam system operacyjny nie może używać technologii SMART na dyskach zewnętrznych w magistralach, takich jak USB 2.0 i FireWire.
Gdzie indziej jest mnóstwo informacji (i nieporozumień;), więc skoncentruję tę część odpowiedzi tylko na jednym punkcie:
kasbert / OS-X-SAT-SMART-Driver w GitHub:
… Sterownik jądra dla zewnętrznych dysków USB lub FireWire systemu Mac OS X. Rozszerza standardowe zachowanie sterownika, zapewniając dostęp do danych SMART. Interfejs do danych SMART jest taki sam jak w przypadku sterownika z rodziny ATA, więc większość istniejących aplikacji powinna działać. Sterownik wymaga obudowy napędu zewnętrznego zgodnej z SAT (SCSI ATA Translation). …
Jeśli wypróbujesz ten KEXT z Lion, to - podobnie jak w przypadku każdego rozszerzenia jądra innej firmy - postępuj ostrożnie.
Wbudowane polecenie OS X fsck_hfs
ma opcję, -S
która najwyraźniej sprawdzi, czy na dysku twardym USB w OS X nie ma uszkodzonego bloku.
-S Przyczyna fsck_hfs skanować całe urządzenie szuka błędów I / O. Podejmie próbę odwzorowania bloków z błędami na nazwy, podobnie jak w opcji -B .
Przykład:
fsck_hfs -fy -S /dev/disk3s11
Wydaje się, że robi to po uruchomieniu na partycje bez uszkodzonych bloków, ale muszę jeszcze sprawdzić / dokument, co robi, gdy nie są złe bloki.
Aktualizacja: Cholerne piekło! Apple usunęło strony ze swojej strony.
Otwórz Terminal.app w Aplikacje / Narzędzia.
Wytnij i wklej to wewnątrz, aby zainstalować Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Zainstaluj e2fsprogs z naparem:
brew install e2fsprogs
Wpisz, diskutil list
aby znaleźć swoje urządzenie (/ dev / diskX)
Uruchom badblocks
na swoim urządzeniu: (zamień X na numer urządzenia)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(z / bez sudo)
W zależności od systemu plików na dysku, który możesz uruchomić
fsck_msdos /dev/disk1s1
Sprawdziłoby to FAT FS. Może tego chcesz? Możliwe polecenia to:
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
skanuje całą zawartość systemu plików i mapuje bloki z błędami I / O na nazwy.
Jedynym sposobem, aby naprawdę wiedzieć, jest napisanie do każdego sektora i przeczytanie go z powrotem, aby sprawdzić, czy otrzymasz to samo, sprawdzając, czy po drodze nie ma błędów.
badblocks
pod Linuksem robi to. badblocks
ma nieniszczący tryb testu odczytu / zapisu.
Pod Windows, wierzę, jeśli odwołać się chkdsk
z /F
, /B
i /R
opcje będą testować każdy sektor w poszukiwaniu uszkodzonych sektorów. Jest również nieniszczący, ale nie jestem pewien, czy rzeczywiście pisze do każdego sektora do przetestowania.
Ta odpowiedź Superuser sugeruje, że SpinRite 6 może również robić to samo, ale nie testowałem.
Pozwól mi doradzić, w jakiej kolejności powinieneś postępować, jeśli podejrzewasz / wiesz, że masz złe sektory:
1) Zrób kopię całej partycji na inne urządzenie za pomocą dd (wyszukaj nazwę swojej partycji za pomocą df
). Może to chwilę potrwać, może dłużej niż dzień na dysku USB2 za 400 Gb. bs=
przyspiesza (współczynnik 5 lub więcej), sync
wypełnia bloki wejściowe zerami, jeśli wystąpiły jakiekolwiek błędy odczytu.
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) Następnie sprawdź, czy to rzeczywiście działało, nie tylko struktura folderów, ale także otwórz zawartość.
3) Jeśli nie, spróbuj skopiować zawartość partycji na poziomie pliku.
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) Dopiero teraz, gdy próbujesz zapisać jak najwięcej, nie dotykając systemu plików, uruchom kontrolę partycji. -f
opcja wymusi, nawet jeśli wydaje się być w porządku, -S
skanuje w poszukiwaniu złych bloków. Nie gwarantuje się, że ta operacja nie spowoduje destrukcji, ale może zaoszczędzić dysk.
fsck_hfs -fS /dev/disk3s8