Приветствую Хабровчан. Я Артем Макаров aka Robin, ведущий инженер компании Хардмастер, уже много лет специализируюсь на восстановлении данных с разнообразных носителей. В процессе профессиональной деятельности, связанной с восстановлением данных, нередко приходится писать небольшие программки себе в помощь. И однажды в ответ на очередной вопрос очередного заказчика - "а вот у вас на сайте написано: программная проблема с жёстким диском, аппаратная проблема, а у меня какая?" было принято решение написать максимально простую утилитку, которая помогла бы обычному юзеру в первом приближении получить простой и быстрый ответ на этот вопрос.
Требования к ней я сам себе поставил следующие: никаких инсталляций в систему, никакой пачки dll-ок в довесок, вся прога - один exe-шник, который работает на любой более-менее современной Windows без регистраций, sms и плясок с бубнами, т.е. жмакнул мышкой на иконку и поехали. Ну и разумеется никаких денег за использование.
Но, как нередко бывает, в процессе многомесячных полевых испытаний программка потихоньку обрастала новыми функциями, изменяла внешний вид, избавлялась от ошибок и недочётов и в итоге доросла до момента, когда ей стало нестыдно поделиться со всеми желающими, заодно попросив, по возможности, протестировать на разных контроллерах \ материнках \ накопителях. Никаких уникальных функций и опций в ней нет, но всё известное и разрозненное в различных ПО тут заботливо объединено в одно целое и продолжает развиваться.
Итак, представляю вашему вниманию Easy Disk Checker - простая в использовании утилита под Windows x86/x64 для работы с дисками и флешками на максимально доступном типовому пользователю ПК «физическом» уровне, независимо от файловой системы или её отсутствия. Поддерживаются:
Жёсткие диски SATA HDD
Внешние USB диски
SSD NVMe и SATA
USB флешки и карты памяти

Нажатие на "Список дисков" инициирует сканирование шин (SATA, USB, NVMe) и отображает список доступных в системе физических устройств. Для каждого диска выводится модель, серийный номер, версия микрокода (Firmware), физический объем, LBA-адресация и заданная в операционной системе метка тома.

При выборе диска в нижней части окна отображается его логическая структура (MBR/GPT разделы, файловые системы). В случае ошибки 0-го сектора Master Boot Record выводятся сведения об автоматически определённой из нескольких возможных, проблеме.


Тут же по нажатию правой кнопки мыши можно вызвать контекстное меню, из которого запускается функционал шестнадцатеричного редактора для визуальной оценки содержимого секторов и их правки с сохранением изменений.

Выбрав для теста нужный накопитель в окне «Обнаруженные диски» и нажав кнопку «Проверить диск» откроется окно сводной информации, разделенное на функциональные блоки:
Информация об устройстве — модель, серийный номер, версия микрокода, объём, и если поддерживается, то значение RPM (rotate per minute), внутренняя модель внешнего диска, VID\PID флешек, предполагаемая модель микроконтроллера, что помогает в поиске сервисных утилит для «прошивки» флешки, и кнопками: "Бенчмарк" и "Тест на подделку" (доступно только для флешек и карт памяти).
Текущее состояние — экспресс проверка чтения диска в областях LBA в начале, середине, конце диска и кнопками: "Полное чтение" и "Полная запись"
Безопасность и функции — если возможно, то вывод сведений об ATA пароле, HPA (Host Protected Area) и Seagate FARM (доступно только на современных дисках Seagate).
Вывод содержимого таблицы самотестирования S.M.A.R.T., свёрнутое по умолчанию, не поддерживается на USB Flash и картах памяти.




Если в окне выбора дисков была указана USB флешка или карта памяти, помимо VID\PID устройства и предполагаемого микроконтроллера, становится доступна кнопка запуска "фейк-теста", чтобы можно было понять, кому повезло? Тебе, удачно купившему за $1 флешку на 100 петабайт, или дядюшке Ляо, впарившему очередной неликвид.

При выборе опции чтения образа диска создаётся полный посекторный клон без модификаций и сжатия, в случае наличия на диске нечитаемых секторов процесс прерывается во избежании добивания накопителя клонированиями.

Нажатие кнопки «Отмена» приводит к прерыванию процесса, частично считанный файл-образ при этом не удаляется. На время чтения блокируется «спящий режим» Windows. Запись образа на другой диск происходит потому же принципу, перед началом проверяется чтобы образ влез на диск-приёмник. Маленький образ записать на большой диск можно будет, наоборот - не получится.
Проверка на нечитаемые и "плохие" сектора реализована последовательным чтением всех доступных LBA. Для удобства визуализации вся область диска представлена в виде динамических блоков. При тестировании диска в левой части окна заполняется карта блоков согласно легенде, а в правой выводятся сведения о размере автоматически выбранного блока, текущих адресе сектора, моментальной и средней скоростях проверки и расчётного времени до конца теста.

Тест полной записи идентичен чтению, перед началом выводится сообщение о безвозвратной потере содержимого перезаписанных областей. Рекомендуется применять как попытка самостоятельного "ремонта бэд-блоков" убирая soft-bad сектора или инициируя remap\reassign.
Помимо вышеописанного, утилита позволяет производить очистку носителей, входящих в состав Microsoft Storage Spaces, помогая определить, какие диски из доступных в ОС входят в массив.


Самый простой способ очистки таких дисков, затирание первых двух секторов встроенным в программку HEX редактором или кнопкой теста стирания, прервав процесс вскоре после его начала.
Вот, пожалуй и весь беглый обзор, надеюсь ничего важного не забыл. Прямая ссылка на загрузку.
Полный юзер-мануал, история изменений — на страничке программы.
Жду багрепортов, пожелания улучшений и добавления опций там в комментариях, или тут.