답변:
드라이브의 자동 섹터 재배치 기능을 사용하는 것은 때때로 부적절하므로, ohho가 제기 한 질문은 차별화됩니다.
결함이있는 섹터가 있으면 다음 중 하나를 수행하십시오.
– 재배치 (또는 리매핑 또는 스페어 링 또는 호출 한 것)를 유발할 수있는 조치를 수행 하기 전에 이를 고려하십시오 .
반면 SpinRite 6 맥위한 것이 아닙니다, 버전 5에 대한 2003 페이지 계몽 :
자동 재배치 및 관련 데이터 손실 위험에 대한 섹션을 참고하십시오.
SpinRite는 2003 년부터 2013 년까지 10 년을 앞당겼습니다.
여기 질문에…
Mac의 경우 – OS X의 경우 – SpinRite 만큼 유능하고 신중한 것을 알지 못합니다 (자동 재배치를 비활성화 할 수 없음).
따라서 OS X 를 사용하여 USB 디스크의 섹터를 확인하려면 재배치를 유발할 수있는 유틸리티를 사용하는 것으로 제한됩니다 . 관련 데이터 손실의 위험 정도를 추정 할 수 없지만 해당 위험이 허용 가능한 경우 먼저 다음 방향으로 조정해야합니다.
힌트 : 관련 질문 (1)에있는 내용은보다 즉각적으로 사용자에게 친숙합니다.
OS만으로는 USB 2.0 및 FireWire와 같은 버스 외부의 드라이브에서 SMART 기술을 사용할 수 없습니다.
다른 곳에서는 풍부한 정보가 있고 오해가 있기 때문에 답의이 부분을 한 지점에 집중할 것입니다.
GitHub의 kasbert / OS-X-SAT-SMART 드라이버 :
… Mac OS X 외장 USB 또는 FireWire 드라이브 용 커널 드라이버. SMART 데이터 드라이브에 대한 액세스를 제공하여 표준 드라이버 동작을 확장합니다. SMART 데이터에 대한 인터페이스는 ATA 제품군 드라이버와 동일하므로 대부분의 기존 응용 프로그램이 작동합니다. 드라이버에는 SAT (SCSI ATA Translation) 가능 외장 드라이브 인클로저가 필요합니다. …
Lion과 함께 KEXT를 사용하는 경우 – 타사 커널 확장과 마찬가지로 –주의하여 진행하십시오.
OS X 내장 명령 fsck_hfs
에는 OS X -S
의 USB 하드 디스크에 불량 블록이 있는지 확인할 수 있는 옵션 이 있습니다.
에서 공식 man 페이지 :
-S 원인 fsck_hfs는 I / O 오류를 찾고 전체 장치를 스캔합니다. -B 옵션 과 유사하게 오류가있는 블록을 이름에 맵핑하려고 시도합니다 .
예:
fsck_hfs -fy -S /dev/disk3s11
이 파티션에서 실행 때 일을 할 것 없이 불량 블록하지만 난했습니다 아직 때 무엇을 / 문서를 확인할 수 있습니다 나쁜 블록.
업데이트 : 피의 지옥! Apple은 사이트에서 맨 페이지를 제거했습니다.
응용 프로그램 / 유틸리티에서 Terminal.app를 엽니 다.
Brew를 설치하기 위해 이것을 잘라내어 붙여 넣으십시오.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew와 함께 e2fsprogs를 설치하십시오.
brew install e2fsprogs
diskutil list
장치를 찾기 위해 입력 하십시오 (/ dev / diskX)
badblocks
기기에서 실행 : (X를 기기 번호로 교체)
/usr/local/Cellar/e2fsprogs/1.44.3/sbin/badblocks -v /dev/diskX
Operation not permitted while trying to determine device size
(스도 포함 / 제외)
실행할 수있는 드라이브의 파일 시스템에 따라
fsck_msdos /dev/disk1s1
이것은 FAT FS를 점검합니다. 어쩌면 그게 당신이 원하는 것입니까? 가능한 명령은 다음과 같습니다.
fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf
fsck_hfs -S
전체 파일 시스템 내용을 스캔하고 I / O 오류가있는 블록을 이름에 매핑합니다.
실제로 아는 유일한 방법은 각 섹터에 쓰고 다시 읽음으로써 같은 일이 다시 발생하는지 확인하고 도중에 오류를 확인하는 것입니다.
badblocks
리눅스 에서이 작업을 수행합니다. badblocks
비파괴적인 읽기 / 쓰기 테스트 모드가 있습니다.
당신이 호출하면 윈도우에서, 저는 믿습니다 chkdsk
으로 /F
, /B
그리고 /R
옵션이 불량 섹터에 대한 각 분야를 테스트합니다. 또한 비파괴 적이지만 실제로 테스트하기 위해 각 섹터에 쓰는지 확실하지 않습니다.
이 수퍼 유저 답변 은 SpinRite 6도 동일한 작업을 수행 할 수는 있지만 테스트하지는 않았 음을 나타냅니다.
불량 섹터가 의심되거나 알고있는 경우 어떤 순서로 진행해야하는지 알려 드리겠습니다.
1) dd를 사용하여 전체 파티션의 사본을 다른 장치에 복사하십시오 (를 사용하여 파티션 이름을 찾으십시오 df
). 400Gb의 USB2 디스크에서 하루 이상이 소요될 수 있습니다. 읽기 오류가있는 경우 bs=
속도를 높이고 (요소 5 이상) sync
입력 블록을 0으로 채 웁니다.
dd if=/dev/disk3s8 of=/dev/disk4s9 bs=1024k conv=noerror,sync
2) 그런 다음 실제로 폴더 구조뿐만 아니라 내용을 열 었는지 확인하십시오.
3) 그렇지 않은 경우 파티션의 내용을 파일 수준으로 복사하십시오.
cp -Rp /Volumes/<source>/ /Volumes/<destination>/
4) 파일 시스템을 건드리지 않고 가능한 한 많이 저장하려고 했으므로 파티션에서 검사를 실행하십시오. -f
옵션은 제대로 표시 되더라도 강제 -S
로 불량 블록을 스캔합니다. 이 작업이 제한적이지는 않지만 디스크를 절약 할 수 있습니다.
fsck_hfs -fS /dev/disk3s8