События

Победа над «бэдами»: используем Victoria для восстановления данных и сброса пароля диска

Победа над «бэдами»: используем 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

Запуск 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

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 статей в месяц

Уже подписан?

Автор: Сергей Куприянов
29.07.2016 (09:30)
Пройди тест и узнай об этом!
Информер новостей
Расширение для Google Chrome
Пишите нам

Редакция: info@alterprogs.ru

Реклама: adv@alterprogs.ru

Все права защищены © 2010-2019

"Alterprogs.ru" - технологии будущего

Контакты  | Карта сайта

Использование любых материалов, размещенных на сайте, разрешается при условии ссылки на alterprogs.ru. Для интернет-изданий - обязательна прямая открытая для поисковых систем гиперссылка. Ссылка должна быть размещена в независимости от полного либо частичного использования материалов. Материалы в рубрике "Новости партнеров" публикуются на правах рекламы.