Крис Касперски - Восстановление данных. Практическое руководство

Тут можно читать онлайн Крис Касперски - Восстановление данных. Практическое руководство - бесплатно ознакомительный отрывок. Жанр: Все книги в жанре Компьютерное "железо", издательство БХВ-Петербург, год 2006. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Крис Касперски - Восстановление данных. Практическое руководство краткое содержание

Восстановление данных. Практическое руководство - описание и краткое содержание, автор Крис Касперски, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга представляет собой пошаговое руководство по восстановлению поврежденных данных на жестких и оптических дисках. Подробно рассмотрена структура популярных файловых систем: NTFS, ext2/ext3, UFS/FFS и др. Описаны автоматические методы восстановления данных для операционных систем Windows и Linux. Приведены способы ручного восстановления, используемые в случае, когда автоматическое восстановление невозможно. Материал сопровождается большим количеством полезных советов и исчерпывающим справочным материалом. На компакт-диске помешены полезные утилиты и исходные коды, приведенные в книге.

Для пользователей ПК

Восстановление данных. Практическое руководство - читать онлайн бесплатно ознакомительный отрывок

Восстановление данных. Практическое руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Крис Касперски
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

64-разрядное поле, находящееся по смещению 20hбайт от начала сектора, содержит индекс базовой файловой записи. Для первой файловой записи это поле всегда равно нулю, а для всех последующих, расширенных записей — индексу первой файловой записи. Расширенные файловые записи могут находиться в любых областях MFT, не обязательно расположенных рядом с основной записью. Следовательно, необходим какой-то механизм, обеспечивающий быстрый поиск расширенных файловых записей, принадлежащих данному файлу (просматривать всю MFT было бы слишком нерационально). Этот механизм существует, и основан он на ведении списков атрибутов ( $ATTRIBUTE_LIST). Список атрибутов представляет собой специальный атрибут, добавляемый к первой файловой записи и содержащий индексы расширенных записей. Формат списка атрибутов будет подробно описан далее в этой главе.

Основные поля заголовка файловой записи описаны в табл. 6.3. Остальные поля заголовка файловой записи не столь важны, и поэтому здесь они не рассматриваются. При необходимости обращайтесь к документации "Linux-NTFS Project".

Таблица 6.3. Структура заголовка файловой записи (FILE Record)

Смещение Размер (байт) ОС Описание
00h 4 Любая Сигнатура FILE
04h 2 Любая Смещение номера последовательности обновления (update sequence number)
06h 2 Любая Размер (в словах) номера последовательности обновления и массива обновления (Update Sequence Number & Array), условно S
08h 8 Любая Номер последовательности файла транзакций ( $LogFileSequence Number или LSN)
10h 2 Любая Номер последовательности (sequence number)
12h 2 Любая Счетчик жестких ссылок (hard link)
14h 2 Любая Смещение первого атрибута
16h 2 Любая Флаги
Значение Описание
0x00 Файловая запись не используется
0x01 Файловая запись используется и описывает файл
0x02 Файловая запись используется и описывает каталог
0x04 За справками обращайтесь к Биллу Гейтсу — вероятно, только он это знает
0x08 За справками обращайтесь к Биллу Гейтсу — вероятно, только он это знает
18h 4 Любая Реальный размер (real size) файловой записи
1Ch 4 Любая Выделенный размер (allocated size) файловой записи
20h 8 Любая Ссылка (file reference) на базовую файловую запись (base FILE record) или ноль, если данная файловая запись является базовой
28h 2 Любая Идентификатор следующего атрибута (next attribute ID)
2Ah 2 Windows XP Используется для выравнивания
2Ch 4 Windows XP Индекс данной файловой записи (number of this MFT record)
2 Любая Номер последовательности обновления (update sequence number)
2 S-2 Любая Массив последовательности обновления (update sequence array)

Последовательность обновления

Будучи очень важными компонентами файловой системы, $MFT, INDEXи $LogFileнуждаются в механизме контроля целостности своего содержимого. Традиционно для этого используются коды обнаружения и коррекции ошибок (ECC/EDC codes). Однако на тот момент, когда проектировалась NTFS, процессоры были не настолько быстрыми, как теперь, и расчет корректирующих кодов занимал значительное время, существенно снижающее производительность файловой системы. Именно поэтому от использования корректирующих кодов пришлось отказаться. Вместо них разработчики NTFS применили так называемые последовательности обновления (update sequences), также называемые fix-ups .

В конец каждого из секторов, слагающих файловую запись ( INDEX Record, RCRD Recordили RSTR Record), записывается специальный 16-байтный номер последовательности обновления (update sequence number), дублируемый в заголовке файловой записи. При каждой операции чтения два последних байта сектора сверяются с соответствующим полем заголовка и, если драйвер NTFS обнаруживает расхождение, данная файловая запись считается недействительной.

Основное назначение последовательностей обновления — защита от "обрыва записи". Если в процессе записи сектора на диск исчезнет питающее напряжение, может случиться так, что часть файловой записи будет записана успешно, а другая часть — сохранит прежнее содержимое (файловая запись, как мы помним, обычно состоит из двух секторов). После восстановления питания драйвер файловой системы не может уверенно определить, была ли файловая запись записана целиком. Вот тут-то последовательности обновления и выручают! При каждой перезаписи сектора последовательность обновления увеличивается на единицу. Потому, если произошел обрыв записи, значение последовательности обновления, находящейся в заголовке файловой записи, не совпадет с последовательностью обновления, расположенной в конце сектора.

Оригинальное содержимое, расположенное "под" последовательностью обновления, хранится в специальном массиве обновления (update sequence array), расположенном в заголовке файловой записи непосредственно за концом смещения последовательности обновления (update sequence number). Для восстановления файловой записи в исходный вид необходимо извлечь из заголовка указатель на смещение последовательности обновления (он хранится по смещению 04h байт от начала заголовка) и сверить лежащее по этому адресу 16-байтное значение с последним словом каждого из секторов, слагающих файловую запись ( INDEX Record, RCRD Recordили RSTR Record). Если они не совпадут, значит, соответствующая структура данных повреждена. Использовать такие структуры следует очень осторожно (на первых порах лучше не использовать вообще).

По смещению 006hот начала сектора находится 16-разрядное поле, хранящее совокупный размер номера последовательности обновления вместе с массивом последовательности обновления ( sizeof (update sequence number) + sizeof(update sequence array)), выраженный в словах (не в байтах!). Так как размер номера последовательности обновления всегда равен одному слову, то размер массива последовательности обновления, выраженный в байтах, должен вычисляться следующим образом: ( update sequence number & update sequence array - 1)*2. Таким образом, смещение массива оригинального содержимого равно: (offset to update sequence number) + 2. В Windows NT и Windows 2000 номер последовательности обновления всегда располагается по смещению 2Ahот начала заголовка файловой записи или индексного заголовка, а поле update sequence array— по смещению 2Ch. В Windows XP и более новых операционных системах эти значения располагаются по смещениям 2Dhи 2Fhсоответственно.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Крис Касперски читать все книги автора по порядку

Крис Касперски - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Восстановление данных. Практическое руководство отзывы


Отзывы читателей о книге Восстановление данных. Практическое руководство, автор: Крис Касперски. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x