Победа над «бэдами»: используем Victoria для восстановления данных и сброса пароля диска
Восстановить удаленные файлы — не проблема, для этого есть десятки утилит. Но что, если накопитель поврежден, имеет ошибочное описание геометрии или доступ к нему закрыт паролем на уровне контроллера? Тогда на помощь приходит утилита Victoria. Она написана на ассемблере, занимает считаные килобайты и работает с контроллером напрямую.
WARNING
Вcя информация приведена для ознакомления. Victoria использует низкоуровневые операции, смысл которых описан в руководстве. Редакция и автор не несут ответственности за любой возможный вред.
От MS-DOS до Windows 10
Victoria задумывалась как средство расширенной диагностики накопитeлей (тогда — жестких дисков, а сегодня еще и SSD) и управления настройками их работы через низкоуровневые команды. Белорусский программист Сергей Казанский лет десять разрабатывал ее и выпускал авторский набор утилит для восстановления данных. За это время вышло множество коммерческих релизов Victoria, несколько бесплатных версий и одна неофициальная, которой мы уделим особое внимание.
Первоначально Victoria была дисковой утилитой для MS-DOS, написанной на ассемблере. Древняя операционка подходила лучше, чем Windows, из-за того, что в однозадачной среде проще обеспечить эксклюзивный доступ к диску. С появлением поддержки драйвера porttalk.sys Victoria версий 4.xx научилась работать и в многозадачной среде WinPE, а также в Windows от XP до 10 любой разрядности. Запускать ее стало проще, действия в графическом интерфейсе стали нагляднее, да и сам режим работы изменился. Но вот беда: без понимания новых особенностей программы некоторые пользователи начали терять данные и целые диски вместо того, чтобы восстанавливать их. Поэтому последняя официальная версия 4.46b имеет развитую «защиту от дурака».
По умолчанию в ней доступны только недеструктивные oперации с накопителями. Это не просто режим «только чтение», как в других утилитах, которые обращаются к HDD/SSD средствами драйвера Windows. У Victoria при первом старте также блокируется возможность изменить HPA (и напортачить с геометрией диска), случайно запустить низкоуровневое форматирование и «выстрелить себе в ногу» более изощренными способами.
Универсальный солдат
Victoria — максимально универсальная утилита. Она обрaщается к накопителю любого типа (HDD, SSD, USB Flash) и с любым ATA-совместимым интерфейсом. Ее дело — передавать ATA-команды любому устройству, которое их поддерживает. Поэтому все сказанное про работу Victoria с дисковыми накопителями справедливо и для твердотельных, за исключением того, что относится к их конструктивным особенностям. Понятно, что для SSD бессмысленно смотреть время раскрутки шпинделя и пытаться управлять скоростью позиционирования головок, — у него нет ни того ни другого. Тем не менее протестировать и даже восстановить SSD с помощью Victoria вполне возможно.
Victoria 4.47
Эту версию сделал в 2013 году программист из Москвы Олег Щербаков. Он пропатчил последнюю официальную сборку Victoria 4.46b. Скачивать лучше здесь. На этом сайте Щербаков опубликовал ее вместе с исходниками патчей. Остальные ресурсы могут распространять под видом новой «Виктории» что угодно.
INFO
На момент написания статьи заброшенный сайт разработчика программы Victoria был заражен. Поэтому вместо указанного в документации к программе URL www.hdd-911.ru приводится ссылка на альтернативный источник загрузки утилиты Victoria.
Хоть Victoria и далеко не новая программа, в ней нашлись и критические ошибки, требовавшие исправления. Одна из них приводила к тому, что запустить Victoria в 64-разрядных версиях Windows было невозможно. Из-за другой могли появиться проблемы при работе с большими дисками. Если объем был выше терабайта, то Victoria 4.46b просто тратила всю виртуальную память на отрисовку и цветовую маркировку проверяемых блоков LBA. В версии 4.47 Щербаков все это исправил.
Запуск Victoria 4.47 в Windows 7 SP1 x64, режим API
PIO vs API
У Victoria есть два режима работы: PIO (port input/output) и API (application programming interface). В режиме PIO контроллер накопителя опрашивается программой через драйвер porttalk.sys. Если выбрать API, то будут использоваться средства операционной системы. Скорость работы с диском в режиме PIO падает, поскольку не поддерживаются DMA и высокоуровневые оптимизации чтения и записи. Однако режим PIO позволяет использовать все возможности Victoria и отправлять любые команды ATA непосредственно дисковому контроллеру, минуя ОС и стандартные драйверы. Именно через PIO чаще всего работают с дисками в лабораториях восстановления данных. Victoria поддерживает как накопители с современным интерфейсом SATA, так и старые — PATA (он же IDE). Victoria умеет работать и с внешними дисками (особенности будут описаны ниже).
Выбрав режим PIO, в начале работы надо просканировать шину и определить дисковые контроллеры кнопкой PCI-Scan. Справа от нее отображается окно выбора порта диска. Внутренние обычно детектируются без проблем, а вот для внешних дисков придется сначала выяснить их порт. Это можно сделать в свойствах оборудования или в любой диагностической программе (например, AIDA64). После этого необходимо вручную задать порт в «Виктории». Еще при сканировании можно отметить флажок All dev (все устройства) и методом исключения отыскать нужный диск в списке найденных.
Victoria 4.47 в режиме PIO
Режим PIO целесообразно использовать именно для низкоуровневых команд. Простой поиск сбойных секторов и их переназначение в резервную область диска гораздо быстрее (но менее надежно) протекает в режиме API.
Ограничения режима API следующие: нельзя устанавливать и снимать пароли ATA, отключена также работа с Host Protected Area и просмотр регистров. Если какая-то из этих функций нужна, то можно переключиться в режим PIO. Бывает, что режим PIO недоступен. Это случается при использовании старых версий Victoria в 64-разрядных ОС. Еще причиной могут быть ошибки в работе с драйвером porttalk.sys или выбор режима SATA AHCI. Гарантированно выйти из положения можно следующим образом.
Извини, но продолжение статьи доступно только подписчикам
Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем банковские карты, Яндекс.Деньги и оплату со счетов мобильных операторов. Подробнее о проекте
1 год2700 р. Экономия 1400 рублей! |
1 месяц400 р. 25-30 статей в месяц |
Уже подписан?
Читайте также
- Ошибка в API Facebook предоставляла доступ к фото 6,8 млн пользователей
- Одного ноутбука оказалось достаточно для компрометации всей корпоративной сети
- Депутаты Госдумы разработали план по обеспечению работы Рунета на случай отключения от Сети
- Морские суда часто подвергаются кибератакам
- 25 декабря состоится встреча сообщества специалистов по кибербезопасности АСУ ТП / RUSCADASEC
- Уязвимость в приложении Logitech позволяла удаленно инициировать нажатие клавиш