Приветствую Хабровчан. Я Артем Макаров 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 редактором или кнопкой теста стирания, прервав процесс вскоре после его начала.
Вот, пожалуй и весь беглый обзор, надеюсь ничего важного не забыл. Прямая ссылка на загрузку.
Полный юзер-мануал, история изменений — на страничке программы.
Жду багрепортов, пожелания улучшений и добавления опций там в комментариях, или тут.
Комментарии (19)

Red_TraWELLer
18.12.2025 15:57Здравствуйте! Касперский показывает состояние одного из HDD как плохое (21%). Пытаюсь разобраться, можно ли этот диск как-то исправить. Утилита Easy disk checker после диагностики по кнопке "Полное чтение" показала наличие плохих блоков.
Что делать с этими плохими блоками?
wwwHardMasterInfo Автор
18.12.2025 15:57Видел ваш комментарий у себя на сайте, там ответил развёрнуто, тут вкратце:
Скопировать с диска всё нужное и можете запустить тест «Полное стирание», это всё что доступно «обычному пользователю». Это полечит soft-bad, по возможности, или пнёт инициацию "встроенного в диск" remap\reassign, опять же не гарантированно.

aal27
18.12.2025 15:57Какие преимущества-недостатки у Вашей утилиты по сравнению с DiskGenius?

wwwHardMasterInfo Автор
18.12.2025 15:57DiskGenius — это мощный комбайн, существующий десятилетиями. Его основные на данный момент преимущества: функция восстановления файлов, управление разделами дисков (создание, форматирование, изменение размера).
EasyDiskChecker — имеет пока что не так много бонусов, но тем не менее они есть. А именно: база данных контроллеров флешек VID/PID (далека от идеала, но неуклонно наполняется.) Тест флешек на подделки. Вывод базовых сведений по Seagate FARM.
Ну и стоит упомянуть что часть ф-ций DiskGenius разблокируется за доп. оплату или кряками, а EasyDiskChecker идёт без каких-либо ограничений.
И напоследок, я активно утилиту развиваю и уже в рамках бэты тестируется "проводник" в котором можно открыть почти все файловые системы и скопировать оттуда файлы\папки и опция создания образа диска в формате vhdx, со всеми его плюшками, типа возможности монтировать полученный образ штатно в Windows, поддержкой динамического расширения и т.п.

StasTukalo
18.12.2025 15:57А зачем приложение для чекинга дисков создает кучу ключей в защищенных кустах реестра?? Чтобы диски чекать эффективнее?


wwwHardMasterInfo Автор
18.12.2025 15:57Спасибо за замечание. Поясняю: в самой программе нет ни одной строки кода, которая бы намеренно обращалась к реестру, создавала ключи автозагрузки или меняла настройки соединений. Тем не менее при запуске утилита проверяет обновление, инициируя обращение к системным библиотекам Windows для определения параметров прокси-сервера (WPAD).
И сама Windows, не ПО, при этом обновляет кеш сетевых подключений в кусте реестра по адресу ...\Internet Settings\Connections. К примеру при работе Chrome меняются те же ключи реестра при каждом запросе.

Lordzero
18.12.2025 15:57Программа умеет работать с дисками, которые подключены к hba/raid контроллеру? Например, SAS?

wwwHardMasterInfo Автор
18.12.2025 15:57Частично. Поясняю:
Утилита работает через низкоуровневые системные пути "\.\PhysicalDrive_номер". Если HBA-контроллер или RAID-контроллер отдаёт диск или логический том в OS, то Windows назначает ему этот индекс и он становится виден виден в "управлении дисками". Тогда проверка поверхности, создание образов, HEX-редактор и т.п. будут работать. Но в текущей версии нет пока реализации сценария, когда физ. диски "спрятаны" за виртуализацией RAID и видны пользователю ка один совокупный массив.

DrMefistO
18.12.2025 15:57Не понимаю этого прикола с позиционированием программы как single file, но всё равно в temp сбрасывается куча файлов. Проще архивом, или инсталлятором с этими же файлами, но в явном виде подавать.

wwwHardMasterInfo Автор
18.12.2025 15:57Спасибо, учёл замечание. В новой версии распаковка будет происходить в ОЗУ, чтобы соответствовать концепции.

DrMefistO
18.12.2025 15:57А смысл ей соответствовать? Меня вот совершенно не парит 10 файлов или 1, всё равно программа. Если зависимости только нужные, и не на 100МБ для EXE в 10КБ.

saxalinpro
18.12.2025 15:57Можно еще функцию Дефрагментации диска сделать, но не просто в Авто режиме(нк и ее тоже) а в полу ручном, или по разным профилям.
На данный момент для меня лучшая программа для дефрагментация является ultimatedefrag 6, там можно визуально посмотреть состояние диска, самому распределить папки в собственном месте на карте диска(например в начале секторов, для быстроты)
Очень много функций.

wwwHardMasterInfo Автор
18.12.2025 15:57Спасибо за пожелание, но дефрагментация реализована не будет прежде всего потому, что она не просто не нужна для SSD (время доступа к любой ячейке SSD одинаково), а откровенно вредна, так как тратит ресурс перезаписи ячеек. Да и для SMR HDD я честно говоря тоже не стал бы ей увлекаться.

Mike-M
18.12.2025 15:57Если бы не привязка к .Net, я бы потестировал. Хотя не уверен — смутило отсутствие единообразия пар "параметр-значение": «f.w. 1012» (сначала параметр, потом значение), «5400 Скорость вращения» (сначала значение, потом параметр), «Логический сектор - 512 байт» (сначала параметр, потом дефис, потом значение). Итого 3 варианта решения простой задачи на UI. Если такой же подход и внутри...
programania
После запуска easyDiskChecker.exe ничего не произошло и не выдало и сразу завершилось,
но в папке temp появилась папка .net\easyDiskChecker с подпапками и кучей dll в них на 23 мб.
Наверно у меня .NET Framework не той системы: Windows [Version 10.0.19043.1200].
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Version = 4.8.04084
Поэтому для распространения программ лучше его не использовать.
wwwHardMasterInfo Автор
Спасибо за фидбек. Проблема не в версии вашего .NET Framework (программа несет все библиотеки с собой).
Если вам не сложно, для локализации проблемы уточните пожалуйста, 32 или 64 Bit система? На базе обычного Intel/AMD, или на ARM? Официальный ли на тестовой системе образ Windows или это модифицированная сборка? Появляется ли после запуска процесс easyDiskChecker.exe в "диспетчере задач"? Какой антивирус или защитное ПО (например, сторонний фаервол) установлен в системе? Не было ли уведомлений от антивируса или Windows Defender в углу экрана при запуске? Установлены ли последние обновления безопасности? В частности, пакеты Visual C++ Redistributable 2015-2022?
Понимаю, что вопросов много, но если будет время и желание, было бы полезно получить на них ответ.
programania
Разобрался: не хватало места в temp. Нужно 116 мб свободных для всех dll, тогда заработала. Хорошо бы чтобы сообщала о нехватке места.
wwwHardMasterInfo Автор
Спасибо, ваш случай подтолкнул меня на мысль изменить сборку так, чтобы распаковка нужных библиотек при запуске шла в ОЗУ