Создание точного физического образа ЖД

Тема в разделе "WASM.RESEARCH", создана пользователем Cneg, 27 сен 2007.

  1. Cneg

    Cneg New Member

    Публикаций:
    0
    Регистрация:
    28 мар 2007
    Сообщения:
    78
    Прошу извинить модераторов если не совсем в тему, но всё же...

    Необходимо создать точный физический образ ЖД. В перспективе также стоит вопрос снятие образов с других носителей информации, таких как CD-R/RW, DVD-R/RW, Blueray, flash. Приветствуется любая информация по теме, желательно конечно на русском языке, ибо въезжать в англоязычные статьи довольно затруднительно. Также интерес представляет создание образов на логическом уровне (разделы, включая неиспользуемое пространство файловой системы и данные, следующие за концом файловой системы)

    Так вот насчёт ЖД....

    1. (IDE)
    Проблема в том что не всё пространство ЖД доступно для обращения. Так например существуют механизмы HPA(Host Protected Area) и DCO(Device Configuration Overlay), которые скрывают часть секторов от доступа. Однако к ним можно получить доступ используя команды IDE:
    SET_MAX_ADDRESS
    DEVICE_CONFIGURATION_SET

    Подробнее про этот способ читать книгу Кэрриэ "Криминалистический анализ файловых систем" (часть 1, глава 3) - http://slil.ru/24905756

    Если кто понимает о чём идёт речь или если кто-нибудь занимался подобным, не могли бы поподробней описать как общаться с ЖД и посылать ему эти команды..

    Также интересно всё, что связано с системной областью ЖД, включая описание таблиц сбойных секторов и т.д.. Как собственно эта информация представлена и как её можно программно разобрать...

    2. Особый интерес представляют диски SCSI. (Информации по ним очень мало) Интересует то же, что и по IDE.... - создание образа + обход системных областей

    3. Предложите плиз методы и способы создания образа. Как конкретно его создавать не совсем понятно. Очевидно что необходимо просто выбрать какой-то размер блока (лучше всего 2-8 кбайт, чтобы не терять много времени на обращение к ЖД или на заполнение буфера) и копировать поблочно. Тут то и встаёт вопрос что делать в случак ошибки чтения: уменьшать размер блока и пытаться считать дальше или, как альтернатива, провести реверсивное копирование с конца диска...

    В общем, спасибо заранее, жду любых предложений по теме