MacBook Pro (2013 년 말)에 SSD Health (512GB)를 설치 했으며 다음 통계가 표시됩니다.
일반적으로 상태 는 백분율을 표시하지만 기록 된> 4252GB 데이터를 표시합니다.
복사 된 파일이 NULL로 채워져 있거나 패키지를 설치하는 동안 SHA256 불일치 등의 일부 데이터 손실이 발생했으며 응급 처치 에서 HD 손상 (종료 코드 8)을 발견했습니다. 내 SSD가 작동하지 않았으며 교체해야하는 경우 (있는 경우 정확히 어떤 정보를 기준으로) 제안합니까? 반면에 SSD 드라이브가 10 년 이상 작동하지 않아야합니까?
재현 가능한 데이터 손실 예제는 다음과 같습니다.
$ wget -q https://homebrew.bintray.com/bottles/glibmm-2.54.1.sierra.bottle.tar.gz
$ ls -la glibmm-2.54.1.sierra.bottle.tar.gz
-rw-r--r-- 1 kenorb staff 10033965 Sep 18 22:54 glibmm-2.54.1.sierra.bottle.tar.gz
$ gzip -t glibmm-2.54.1.sierra.bottle.tar.gz
gzip: glibmm-2.54.1.sierra.bottle.tar.gz: unexpected end of file
gzip: glibmm-2.54.1.sierra.bottle.tar.gz: uncompress failed
$ cp -v /Volumes/SSD-256G/file.txt . # Copy file from the external SSD.
'/Volumes/SSD-256G/file.txt' -> './file.txt'
$ diff /Volumes/SSD-256G/file.txt file.txt
Binary files /Volumes/SSD-256G/file.txt and file.txt differ
$ hexdump file.txt
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
1b86060 00 00 00 00 00 00
1b86066
답변
” 복사 된 파일은 NULL로 채워져 있으며 SHA256 불일치 “는 SSD 오류 가능성을 나타내는 지표입니다. SSD를 선반에 보관하지 않으면 SSD의 수명이 10 년으로 예상되지 않습니다.
md5 path/to/file
두 번의 시도에서 동일한 파일을 다르게 읽거나 (예 : 다른 해시를 생성하는 경우) SSD가 말기 상태에 있음을 나타내는 것으로 충분합니다 (물론 파일이 수정되지 않은 경우). 큰 파일에서 시작하여 테스트 할 수 있으며 더 클수록 좋습니다.
해당 테스트가 통과되면 전체 디스크에 대해 동일한 작업을 계속 진행할 수 있습니다. 전체 SSD의 해시를 계산할 수있는 다른 부팅 가능한 매체에서 부팅해야합니다. 예를 들어, Linux 라이브 USB / CD로 부팅하고 md5sum /dev/sd<your ssd letter>
두 번 실행 합니다. 결과는 정상 디스크에 일치해야합니다.
마지막으로 위의 테스트를 통과 한 후에도 여전히 Linux로 부팅하는 동안 짧고 긴 테스트를 실행하십시오 smartctl
.
smartctl -t short /dev/sd<your ssd letter> # results can be seen after a few minutes
smartctl -t long /dev/sd<your ssd letter> # a few hours to wait
답변
Apple의 fsck_hfs
도구에는 -S
디스크에 불량 블록이 있는지 검사 하는 옵션이 있습니다.
예를 들면 다음과 같습니다.
diskutil list # Note the disk path.
fsck_hfs -S /dev/disk22
https://en.wikipedia.org/wiki/Bad_sector 에 대한 전체 디스크를 스캔하여 디스크 가 손상되었는지 또는 소프트웨어 복구가 충분한 지 알려줍니다.
디스크가 마운트되지 않도록하려면 단일 모드 또는 macOS 설치 프로그램 (USB 또는 DVD) 에서 시스템을 부팅하고 터미널 앱을 실행 하는 것이 가장 좋습니다 .
다음은 암호화 된 볼륨을 복구하는 샘플 명령입니다 ( 루트 사용자 로서 ).
diskutil coreStorage list # Note the UUID.
diskutil coreStorage unlockVolume 11111111-2222-3333-4444-555555555555
diskutil umount /dev/disk22 # Unmount after it was mounted with write access.
fsck_hfs -y /dev/disk22 # Check and repair any errors.
fsck_hfs -S /dev/disk22 # Scan entire disk for the bad blocks.
오류가 성공적으로 복구되고 불량 블록이없는 경우 SSD 상태가 여전히 양호하다는 확신을 줄 수 있습니다. 그러나 여전히 디스크 오류가 있고 불량 블록이없는 경우, 타사 복구 소프트웨어를 사용할 수 있습니다 (예 : DiskWarrior) , 손상된 디렉토리 / 파일을 복구하고 SMART 진단을 사용하여 하드 드라이브를 진단 할 수 있습니다.