Крис Касперски - Восстановление данных. Практическое руководство
- Название:Восстановление данных. Практическое руководство
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94157-455-X
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Крис Касперски - Восстановление данных. Практическое руководство краткое содержание
Книга представляет собой пошаговое руководство по восстановлению поврежденных данных на жестких и оптических дисках. Подробно рассмотрена структура популярных файловых систем: NTFS, ext2/ext3, UFS/FFS и др. Описаны автоматические методы восстановления данных для операционных систем Windows и Linux. Приведены способы ручного восстановления, используемые в случае, когда автоматическое восстановление невозможно. Материал сопровождается большим количеством полезных советов и исчерпывающим справочным материалом. На компакт-диске помешены полезные утилиты и исходные коды, приведенные в книге.
Для пользователей ПК
Восстановление данных. Практическое руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Каждый атрибут имеет свой собственный идентификатор (attribute ID), уникальный для данной файловой записи и хранящийся в 16-разрядном поле, расположенном по смещению 0Eh
от начала атрибутного заголовка.
Если атрибут имеет имя (attribute Name), то 16-разрядное поле, расположенное по смещению 0Ah
байт от атрибутного заголовка, содержит указатель на него. Для безымянных атрибутов оно равно нулю (большинство атрибутов имен не имеют). Имя атрибута хранится в атрибутном заголовке в формате UNICODE, а его длина определяется 8-разрядным полем, расположенным по смещению 09h
байт от начала атрибутного заголовка.
Если тело атрибута сжато, зашифровано или разрежено, 16-разрядное поле флагов, расположенное по смещению 0Ch
байт от начала атрибутного заголовка, не равно нулю.
Основные поля резидентных и нерезидентных атрибутов кратко описаны в табл. 6.4 и 6.5. Остальные поля не играют существенной роли, и потому здесь они не рассматриваются.
Таблица 6.4. Структура резидентного атрибута
Смещение | Размер (байт) | Значение | Описание |
---|---|---|---|
00h |
4 | Тип атрибута (например, 0x10 , 0x60 , 0xB0 ) |
|
04h |
4 | Длина атрибута, включая этот заголовок | |
08h |
1 | 00h |
Флаг нерезидентности (non-resident flag) |
09h |
1 | N |
Длина имени атрибута (ноль, если атрибут безымянный) |
0Ah |
2 | 18h |
Смещение имени (ноль, если атрибут безымянный) |
0Ch |
2 | 00h |
Флаги |
Значение | Описание | ||
0001h |
Сжатый атрибут (compressed) | ||
4000h |
Зашифрованный атрибут (encrypted) | ||
8000h |
Разреженный атрибут (sparse) | ||
0Eh |
2 | Идентификатор атрибута (attribute ID) | |
10h |
4 | L |
Длина тела атрибута, без заголовка |
14h |
2 | 2N+18h |
Смещение тела атрибута |
16h |
1 | Индексный флаг | |
17h |
1 | 00h |
Используется для выравнивания |
18h |
2N | UNICODE |
Имя атрибута (если есть) |
2N+18h |
L | Тело атрибута |
Таблица 6.5. Структура нерезидентного атрибута
Смещение | Размер (байт) | Значение | Описание |
---|---|---|---|
00h |
4 | Тип атрибута (например, 0x20 , 0x80 ) |
|
04h |
4 | Длина атрибута, включая этот заголовок | |
08h |
1 | 01h |
Флаг нерезидентности (non-resident flag) |
09h |
1 | N |
Длина имени атрибута (ноль, если атрибут безымянный) |
0Ah |
2 | 40h |
Смещение имени (ноль, если атрибут безымянный) |
0Ch |
2 | Флаги | |
Значение | Описание | ||
0001h |
Сжатый атрибут (compressed) | ||
4000h |
Зашифрованный атрибут (encrypted) | ||
8000h |
Разреженный атрибут (sparse) | ||
0Eh |
2 | Идентификатор атрибута (attribute ID) | |
10h |
8 | Начальный виртуальный кластер (starting VCN) | |
18h |
8 | Конечный виртуальный кластер (last VCN) | |
20h |
2 | 2N+40h |
Смещение списка отрезков (data runs) |
22h |
2 | Размер блока сжатия (compression unit size), округленный до 4 байт в большую сторону | |
24h |
4 | 00h |
Используется для выравнивания |
28h |
8 | Выделенный размер (allocated size), округленный до размера кластера | |
30h |
8 | Реальный размер (real size) | |
38h |
8 | Инициализированный размер потока (initialized data size of the stream) | |
40h |
2N | UNICODE |
Имя атрибута (если есть) |
2N+40h |
… | Список отрезков (data runs) |
Типы атрибутов
NTFS поддерживает большее количество предопределенных типов атрибутов, перечисленных в табл. 6.6. Тип атрибута определяет его назначение и формат представления тела. Полное описание всех атрибутов заняло бы не одну главу, а целую книгу, поэтому здесь приводятся лишь наиболее "ходовые" из них, а за информацией об остальных обращайтесь к документации Linux-NTFS Project.
Таблица 6.6. Основные типы атрибутов
Значение | ОС | Условное обозначение | Описание |
---|---|---|---|
010h |
Любая | $STANDARD_INFORMATION |
Стандартная информация о файле (время, права доступа) |
020h |
Любая | $ATTRIBUTE_LIST |
Список атрибутов |
030h |
Любая | $FILE_NAME |
Полное имя файла |
040h |
Windows NT | $VOLUME_VERSION |
Версия тома |
040h |
Windows 2000 | $OBJECT_ID |
Глобально уникальный идентификатор (GUID) и прочие ID |
050h |
Любая | $SECURITY_DESCRIPTOR |
Дескриптор безопасности и списки прав доступа (ACL) |
060h |
Любая | $VOLUME_NAME |
Имя тома |
070h |
Любая | $VOLUME_INFORMATION |
Информация о томе |
080h |
Любая | $DATA |
Основные данные файла |
090h |
Любая | $INDEX_ROOT |
Корень индексов |
0A0h |
Любая | $INDEX_ALLOCATION |
Ветви (sub-nodes) индекса |
0B0h |
Любая | $BITMAP |
Карта свободного пространства |
0C0h |
Windows NT | $SYMBOLIC_LINK |
Символическая ссылка |
0C0h |
Windows 2000 | $REPARSE_POINT |
Для сторонних производителей |
0D0h |
Любая | $EA_INFORMATION |
Расширенные атрибуты для HPFS |
0E0h |
Любая | $EA |
Расширенные атрибуты для HPFS |
0F0h |
Windows NT | $PROPERTY_SET |
Устарело и ныне не используется |
100h |
Windows 2000 | $LOGGED_UTILITY_STREAM |
Используется шифрующей файловой системой (EFS) |
$STANDARD_INFORMATION
Атрибут стандартной информации описывает время создания/изменения/последнего доступа к файлу и права доступа, а также некоторую другую вспомогательную информацию (например, квоты). Структура атрибута стандартной информации кратко описана в табл. 6.7.
Таблица 6.7. Структура атрибута $STANDARD_INFORMATION
Смещение | Размер | ОС | Описание |
---|---|---|---|
- - | Любая | Стандартный атрибутный заголовок (standard attribute header) | |
00h |
8 | Любая | C — время создания (creation) файла |
08h |
8 | Любая | A — время изменения (altered) файла |
10h |
8 | Любая | M — время изменения файловой записи (MFT changed) |
18h |
8 | Любая | R — время последнего чтения (read) файла |
20h |
4 | Любая | Права доступа MS-DOS (MS-DOS file permissions) |
Значение | Описание | ||
0001h |
Только на чтение (read-only) | ||
0002h |
Скрытый (hidden) | ||
0004h |
Системный (system) | ||
0020h |
Архивный (archive) | ||
0040h |
Устройство (device) | ||
0080h |
Обычный (normal) | ||
0100h |
Временный (temporary) | ||
0200h |
Разреженный (sparse) файл | ||
0400h |
Точка передачи (reparse point) | ||
0800h |
Сжатый (compressed) | ||
1000h |
Оффлайновый (offline) | ||
2000h |
Неиндексируемый (not content indexed) | ||
4000h |
Зашифрованный (encrypted) | ||
24h |
4 | Любая | Старшее двойное слово номера версии (maximum number of versions) |
28h |
4 | Любая | Младшее двойное слово номера версии (version number) |
2Ch |
4 | Любая | Идентификатор класса (class ID) |
30h |
4 | Windows 2000 | Идентификатор владельца (owner ID) |
34h |
4 | Windows 2000 | Идентификатор безопасности (security ID) |
38h |
8 | Windows 2000 | Количество квотируемых байт (quota charged) |
40h |
8 | Windows 2000 | Номер последней последовательности обновления (update sequence number USN) |
$ATTRIBUTE_LIST
Атрибут списка атрибутов (прямо каламбур) используется в тех случаях, когда все атрибуты файла не умещаются в базовой файловой записи, и файловая система вынуждена располагать их в расширенных файловых записях. Индексы расширенных файловых записей содержатся в атрибуте списка атрибутов, помещаемом в базовую файловую запись.
Читать дальшеИнтервал:
Закладка: