1

Я установил SSD Health (512 ГБ) на свой MacBook Pro (конец 2013 года), который показывает следующую статистику:

Приложение Apple SSD Health, выравнивание износа, рабочее время

Обычно состояние работоспособности должно отображать процент, но оно показывает> 4252 ГБ записанных данных.

Недавно я столкнулся с некоторой потерей данных (например, скопированные файлы заполнены значениями NULL, несоответствиями SHA256 при установке пакетов и т.д.), А First Aid обнаружил, что 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

2 ответа2

2

« Скопированные файлы заполнены NULL, несоответствия SHA256 » действительно являются индикаторами возможного сбоя SSD. Я бы не ожидал, что SSD проживет 10 лет, если вы не оставите их на полке.

Если один и тот же файл читается по-разному (например, md5 path/to/file дает разные хэши) в любых двух попытках, достаточно указать, что твердотельный накопитель неизлечимо болен (конечно, при условии, что файл не изменен). Вы можете проверить это на любом большом файле, чем больше, тем лучше.

Если этот тест пройден, вы можете продолжить делать то же самое для всего диска. Вам нужно будет загрузиться с другого загрузочного носителя, с которого вы можете рассчитать хэш всего SSD. Например, загрузитесь с Linux live USB/CD и дважды запустите md5sum /dev/sd<your ssd letter> - результаты должны совпадать для исправного диска.

Наконец, если вышеуказанные тесты пройдены, пока вы все еще загружаетесь в Linux, запустите short, а затем длинный тест, предоставленный 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
0

У инструмента 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) и запустить приложение Terminal .

Вот примеры команд для восстановления зашифрованного тома (как пользователь root ):

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 Health все еще исправен. Тем не менее, если на диске все еще есть ошибки и отсутствуют поврежденные блоки, можно использовать стороннее программное обеспечение для восстановления (например, DiskWarrior, оно может восстанавливать поврежденные каталоги / файлы и диагностировать жесткий диск с помощью диагностики SMART).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .