Файловые системы и восстановление данных



Скачать 393.73 Kb.

страница1/4
Дата17.02.2017
Размер393.73 Kb.
Просмотров438
Скачиваний0
  1   2   3   4

Г
ЛАВА
24
Файловые системы
и восстановление данных

Структуры диска FAT
Жесткий диск — основное устройство хранения данных. Причем структура хранения файлов и каталогов, обеспечивающая непосредственное расположение данных на дис- ке, может быть разной. Файловая система чаще всего интегрирована в операционную,
а некоторые операционные системы поддерживают несколько файловых систем.
Большинство существующих в настоящее время файловых систем построены на осно- ве таблицы размещения файлов (File Allocation Table FAT ), которая содержит дорожки данных в каждом кластере на диске. В настоящее время существуют следующие типы файловой системы FAT (они отличаются количеством цифр, используемых в таблице размещения файлов):
FAT 12, используемая в разделах емкостью не более 16 Мбайт (например, дискета);
FAT 16, используемая в разделах емкостью от 16 Мбайт до 2 Гбайт; операционные системы Windows NT/2000/XP поддерживают разделы FAT 16 емкостью до 4 Гбайт;
FAT 32, используемая в разделах емкостью от 512 Мбайт до 2 Тбайт.
Файловые системы FAT 12 и FAT 16 изначально применяются в DOS и Windows и поддерживаются практически всеми известными на сегодня операционными системами.
Большинство персональных компьютеров поставляются с жесткими дисками, на которых установлена одна из файловых систем FAT.
Файловая система FAT 32 поддерживается операционной системой Windows 95B и бо- лее поздними версиями, а также Windows 2000/XP, которые также поддерживают фай- ловую систему NTFS. Некоторые операционные системы имеют собственную файловую систему. Например, Windows NT и Windows 2000 поддерживают файловую систему NT
File System (NTFS); OS/2 поставляется с собственной файловой системой High Perfor- mance File System (HPFS).
В этой главе речь идет о файловой системе FAT, а также рассматриваются возможности новой системы FAT 32 и NTFS.
Для обеспечения пользовательским приложениям доступа к файлам независимо от типа используемого диска в операционной системе предусмотрено несколько структур.
Эти структуры поддерживаются системами Windows 9х, Windows NT и Windows 2000
и представлены ниже в порядке расположения на диске:
загрузочные секторы главного и дополнительного разделов;
загрузочный сектор логического диска;
таблицы размещения файлов (FAT);
корневой каталог;
область данных;
цилиндр для выполнения диагностических операций чтения/записи.
В отличие от жесткого диска, на дискетах нет загрузочных секторов главного и допол- нительного разделов и диагностического цилиндра. Эти структуры создаются программой
FDISK, которая не применяется для дискет, так как они не могут быть разбиты на разде- лы. На рис. 24.1 представлено взаимоотношение этих структур на диске Western Digital
Caviar AC12100 размером 2 111 Мбайт.
Каждая дисковая область применяется для конкретной цели. Повреждение одной из перечисленных областей обычно приводит к ограничению доступа к другим областям,
2
Глава 24. Файловые системы и восстановление данных

Назначение дисковой области
Таблицы разделов
Местоположение
Жесткий диск Western Digital Caviar AC 12100
Емкость 2111 Мбайт, 4092 цилиндра, 16 головок,63 сектора на дорожку
Цилиндр 0, головка 0
Загрузочный сектор главного раздела
Скрытые (пропущенные) секторы
#1
Цилиндр 0, головка 1
Загрузочный сектор логического диска DOS
Таблица размещения файлов 1
Таблица размещения файлов 2
Корневой каталог
Область данных (кластеры)
Цилиндр 4090, головка 15
Цилиндр 4091
Диагностический цилиндр
2111 Мбайт на C:
Рис. 24.1. Принцип размещения файлов на обычном жестком диске вызывая сбои в работе. Например, операционная система не сможет получить доступ к диску, если повреждена главная загрузочная запись. Таким образом, понимание ло- гики работы каждой структуры и их взаимодействия оказывает значительную помощь в устранении неполадок.
Замечание
Некоторые съемные носители, например Iomega Zip, функционируют подобно “высокоемким дискетам”, т. е. на них нет загрузочных секторов главного и дополнительного разделов, а также диагностического цилиндра. Однако такие устройства, как Iomega Jaz, похожи по структуре на жесткие диски.
Загрузочный сектор главного раздела
Впервые поддержка жестких дисков была реализована в DOS 2.0, выпущенной в
1983 году. В этой операционной системе впервые использовалась 16-разрядная файло- вая система FAT и поддерживалось деление диска на разделы, т. е. создание на диске логических томов. Выполнять разделение диска необходимо даже в том случае, если вы собираетесь использовать только один раздел. Разделы диска иногда называют логиче-
Структуры диска FAT
3
скими томами, поскольку операционная система присваивает каждому из них отдельную букву.
В настоящее время практически все накопители на жестких дисках делятся на несколь- ко разделов, с которыми работает установленная операционная система. Однако, разделив диск, можно установить несколько операционных систем — по одной в каждый раздел,
и эти системы смогут нормально сосуществовать на одном диске. Такая мультизагрузка становится все более популярной в настоящее время.
Чтобы установить на один жесткий диск несколько операционных систем, его надо разбить на разделы. Например, вы можете с помощью программы FDISK создать на диске один или несколько разделов для установки на них DOS или Windows 9х, а оставшуюся часть диска предоставить для другой операционной системы, например Linux. Каждый раздел в операционной системе будет иметь вид отдельного диска.
Информация о каждом разделе сохраняется в загрузочном секторе раздела (или ло- гического диска) в начале каждого раздела. Существует также основная таблица списка разделов, помещенная в загрузочный сектор главного раздела.
Загрузочный сектор главного раздела (или главная загрузочная запись (Master Boot
Record MBR)) является первым сектором на жестком диске (цилиндр 0, головка 0,
сектор 1) и состоит из двух элементов.
Таблица главного раздела. Содержит список разделов на диске и расположение загрузочных секторов соответствующих логических дисков. Эта таблица очень ма- ленькая и может содержать максимум четыре записи. Таким образом, для получения большего количества разделов в операционной системе (например, DOS) можно со- здать один дополнительный раздел и поместить в него несколько логических дисков.
Главный загрузочный код. Небольшая программа, которая выполняется системной
BIOS. Основная функция этого кода — передача управления в раздел, который обо- значен как активный (или загрузочный).
Основные и дополнительные разделы FAT
Количество разделов на всех жестких дисках в системе может достигать 24. Это означает, что в компьютере может быть установлено либо 24 отдельных накопителя,
в каждом из которых имеется по одному разделу, либо один жесткий диск с 24 разделами,
либо несколько накопителей с разным количеством разделов, но при условии, что общее количество разделов не превышает 24. Если общее количество разделов превысит эту цифру, DOS просто проигнорирует их, хотя другие операционные системы могут работать и с б´ольшим количеством томов. Такое ограничение DOS связано с тем, что в латинском алфавите от C до Z всего 24 буквы.
Расширенный раздел представлен в главной таблице разделов аналогично основному разделу, однако дисковое пространство расширенного раздела можно использовать для создания многочисленных логических разделов, или томов (volumes). На одном диске возможно создание только одного расширенного раздела, т. е. в таблице разделов не может быть более двух записей, относящихся к томам FAT.
Логическим томам, созданным в расширенном разделе, операционная система на- значает отдельные буквы дисков, которые, однако не указываются в главной таблице разделов. Логические тома не могут быть активными разделами и поэтому не позволяют осуществлять с них загрузку системы. На основе одного расширенного раздела можно создать до 23 томов (т. е., учитывая главный раздел FAT, всего их может быть 24).
4
Глава 24. Файловые системы и восстановление данных

Каждый логический раздел (или том) в расширенном разделе включает в себя таблицу разделов, содержащую информацию об этом томе. В таблице, в свою очередь, содержится подробная ссылка, указывающая на расположение таблицы второго тома. Эта цепочка ссылок объединяет все тома расширенного раздела с главной таблицей разделов.
Безусловно, вряд ли кому-то понадобится создавать 24 раздела FAT на одном диске, од- нако расширенный раздел позволяет преодолеть ограничение главной таблицы разделов,
позволяющей создавать только четыре раздела.
Поскольку в главной загрузочной записи содержится первая программа, выполняемая системой при загрузке ПК, эта запись часто является мишенью создателей компьютер- ных вирусов. Если главная загрузочная запись будет уничтожена или заражена вирусом,
то BIOS не найдет активный раздел и операционная система не будет загружена. Рас- положенный в загрузочной записи вирус будет загружаться раньше, чем антивирусная программа. Для его удаления необходимо запустить систему с неинфицированного гиб- кого диска, загрузочного компакт-диска или жесткого диска, после чего воспользоваться антивирусной программой.
В начале каждого раздела содержится загрузочный сектор логического диска. Разбивая диск на разделы, необходимо создать активный (или загрузочный) раздел. Программа, со- держащаяся в самом первом секторе на жестком диске, определяет, какой раздел активен,
и передает управление его загрузочному сектору. Вы также можете создать дополнитель- ный раздел диска для Novell NetWare, NTFS (Windows NT), HPFS (OS/2), AIX (UNIX),
XENIX или другой файловой системы, используя системный диск с соответствующей про- граммой разделения диска. Эти разделы перечислены в главной таблице разделов, хотя могут иметь и другую структуру. При установке нескольких операционных систем на один компьютер менеджер загрузки (включенный в операционную систему или устанавлива- емый отдельно) позволит выбрать нужный активный раздел для загрузки определенной системы.
Разделы, используемые этими операционными системами, недоступны при работе в DOS. Все дело в различиях между файловыми структурами. DOS использует структуру
FAT, которая также поддерживается OS/2, Windows NT и некоторыми другими операци- онными системами. В то же время в OS/2 обычно вместо FAT применяется файловая система HPFS (High Performance File System), в Windows NT/2000/XP — собственная файловая система NTFS (NT File System) и т. д.
В табл. 24.1 приведен формат таблицы разделов, которая хранится в секторе главной загрузочной записи.
Таблица 24.1. Главная загрузочная запись (таблица разделов)
Смещение
Длина
Описание
Первая запись в таблице разделов
1BEh 446 1 байт
Индикатор загрузки (80h — активный, иначе 00h)
1BFh 447 1 байт
Первая головка (или сторона) раздела
1C0h 448 16 бит
Первый цилиндр (10 бит) и сектор (6 бит)
1C2h 450 1 байт
Байт идентификации системы (табл. 24.2)
1C3h 451 1 байт
Последняя головка (сторона) раздела
1C4h 452 16 бит
Последний цилиндр (10 бит) и сектор (6 бит)
Структуры диска FAT
5

Окончание табл. 24.1
Смещение
Длина
Описание
1C6h 454
Одно двойное слово
Относительное смещение первого сектора на диске
1CAh 458
Одно двойное слово
Количество секторов в разделе
Вторая запись в таблице разделов
1CEh 462 1 байт
Индикатор загрузки (80h — активный, иначе 00h)
1CFh 463 1 байт
Первая головка (или сторона) раздела
1D0h 464 16 бит
Первый цилиндр (10 бит) и сектор (6 бит)
1D2h 466 1 байт
Байт идентификации системы (см. табл. 24.2)
1D3h 467 1 байт
Последняя головка (сторона) раздела
1D4h 468 16 бит
Последний цилиндр (10 бит) и сектор (6 бит)
1D6h 470
Одно двойное слово
Относительное смещение первого сектора на диске
1DAh 474
Одно двойное слово
Количество секторов в разделе
Третья запись в таблице разделов
1DEh 478 1 байт
Индикатор загрузки (80h — активный, иначе 00h)
1DFh 479 1 байт
Первая головка (или сторона) раздела
1E0h 480 16 бит
Первый цилиндр (10 бит) и сектор (6 бит)
1E2h 482 1 байт
Байт идентификации системы (см. табл. 24.2)
1E3h 483 1 байт
Последняя головка (сторона) раздела
1E4h 484 16 бит
Последний цилиндр (10 бит) и сектор (6 бит)
1E6h 486
Одно двойное слово
Относительное смещение первого сектора на диске
1EAh 490
Одно двойное слово
Количество секторов в разделе
Четвертая запись в таблице разделов
1EEh 494 1 байт
Индикатор загрузки (80h — активный, иначе 00h)
1EFh 495 1 байт
Первая головка (или сторона) раздела
1F0h 496 16 бит
Первый цилиндр (10 бит) и сектор (6 бит)
1F2h 498 1 байт
Байт идентификации системы (см. табл. 24.2)
1F3h 499 1 байт
Последняя головка (сторона) раздела
1F4h 500 16 бит
Последний цилиндр (10 бит) и сектор (6 бит)
1F6h 502
Одно двойное слово
Относительное смещение первого сектора на диске
1FAh 506
Одно двойное слово
Количество секторов в разделе
Байты сигнатуры
1FEh 510 2 байт
Сигнатура загрузочного сектора (55AAh)
Примечание. В этой и последующих таблицах слово соответствует двум байтам в обратном
порядке, двойное слово — двум словам в обратном порядке.
В табл. 24.2 приведены стандартные значения байтов идентификации системы в таб- лице разделов.
6
Глава 24. Файловые системы и восстановление данных

Таблица 24.2. Байт идентификации системы в таблице разделов (стандартные значения)
Значение
Тип раздела
Режим трансляции
Размер раздела
00h
Нет


01h
Основной, FAT 12
CHS
0–15 Мбайт
04h
Основной, FAT 16
CHS
16–32 Мбайт
05h
Дополнительный
CHS
16–32 Мбайт
06h
Основной, FAT 16
CHS
32 Мбайт–2 Гбайт
07h
NTFS/HPFS
Все
Любой
0Ah
Диспетчер загрузки OS/2
Все
Любой
0Bh
Основной, FAT 32
LBA
512 Мбайт–2 Тбайт
0Ch
Основной, FAT 32
LBA
512 Мбайт–2 Тбайт
0Eh
Основной, FAT 16
LBA
32 Мбайт–2 Гбайт
0Fh
Дополнительный
LBA
32 Мбайт–2 Гбайт
Дополнительные сведения
Информация о нестандартных байтах идентификации системы представлена на прилагаемом компакт-диске.
При восстановлении поврежденного диска приведенные в табл. 24.2 значения можно ввести с помощью программы Diskedit из пакета Norton Utilities.
Недокументированные возможности
программы FDISK
FDISK — это программа с очень большими возможностями, которые были еще более расширены в DOS 5 и следующих версиях. К сожалению, эти возможности никогда не документировались в руководстве по DOS и не были описаны даже в Windows. Самым важным из недокументированных параметров является /MBR. С его помощью программа
FDISK перезаписывает данные в главном загрузочном секторе, оставляя неизменными таблицы разбиения.
Параметр /MBR словно специально предназначен для уничтожения вирусов, “зара- жающих” главный загрузочный сектор диска (цилиндр 0, головка 0, сектор 1). Чтобы воспользоваться этой возможностью, введите следующую команду: FDISK/MBR.
После этого FDISK перезапишет код загрузочного сектора, оставляя таблицы разби- ения неизменными. В нормально работающей системе это не приведет к проблемам, но на всякий случай создайте резервную копию таблиц разбиения на дискете.
Имейте в виду: таблицы разбиения будут перезаписаны в том случае, если 2 байта контрольного кода (сигнатуры) 55AAh в конце сектора окажутся поврежденными. Но эта ситуация маловероятна. На самом деле в случае повреждения байтов сигнатуры вы сразу же об этом узнаете: система перестанет загружаться и будет вести себя так, как будто разделения диска вообще не существует. Если система после загрузки с проверенной
Недокументированные возможности программы FDISK
7
дискеты или оптического диска не распознает жесткий диск, то его загрузочный сектор может быть инфицирован. В этом случае следует воспользоваться какой-либо современ- ной антивирусной программой и попытаться восстановить поврежденные данные.
Внимание
Обратите внимание на то, что команду FDISK/MBR следует использовать
только в системах с нормальной структурой главной загрузочной записи. Если в системе для доступа ко всем разделам диска используются такие программы, как Disk Manager, EZ-Drive, MaxBlast, Data
Lifeguard Tools и т. п.,
не применяйте команду FDISK/MBR. Это связано с тем, что в ука- занных программах для доступа к диску используется модифицированная версия MBR. Ко- манда FDISK/MBR может привести к уничтожению изменений, сделанных этими программами в структуре диска, в результате чего данные станут недоступными.
В служебной программе Recovery Console ОС Windows NT/2000 существует функция,
эквивалентная команде FDISK/MBR, которая называется FIXMBR. Аналогом команды
FDISK в Recovery Console является функция DISKPART. Для получения более подробной информации по использованию этих функций загрузите программу Recovery Console и введите команду HELP.
Загрузочный сектор
Загрузочный сектор — это первый сектор на любой области диска, адресуемого в ка- честве раздела/тома (или же логического диска DOS). Например, на дискете или на диске
Zip это самый первый физический сектор, так как дискету нельзя разбить на разделы и она имеет только один логический диск. На жестком диске загрузочный сектор (сек- торы) располагается в начале каждого раздела, не являющегося дополнительным, или в начале любой области диска, распознаваемой как логический диск DOS.
Эти секторы немного похожи на загрузочные секторы разделов, так как содержат таблицы со специальной информацией о логическом диске.
Блок параметров диска, в котором содержится специфическая информация, на- пример размер раздела, количество используемых секторов диска, размер кластера и метка тома.
Загрузочный код — программа, которая начинает процесс загрузки операционной системы. Для DOS и Windows 9x/Me это файл Io.sys.
Замечание
Большинство современных систем поддерживают загрузку с других устройств, а не только с дискеты. Эта возможность обеспечивается системной BIOS. Например, некоторые системы,
помимо загрузки с жесткого диска и дискеты, могут загружаться с накопителя CD-ROM или диска Zip.
Zip-картриджи и диски LS-120 также можно сделать загрузочными. При соответствующей настройке BIOS дисковод LS-120 заменит дисковод для гибких дисков в качестве диска А:.
В ряде новых систем поддерживается загрузка с USB-устройств.
Загрузочный сектор дискеты загружается ROM BIOS, а при загрузке системы с жест- кого диска MBR передает управление загрузочному сектору активного раздела. В обо- их случаях загрузочный сектор логического диска получает управление. Он выполняет
8
Глава 24. Файловые системы и восстановление данных
некоторые проверки и затем пытается прочитать с диска первый системный файл (в
DOS/Windows это файл Io.sys). Загрузочный сектор не виден, так как находится вне области хранения файлов логического диска.
Загрузочный сектор логического диска создается программой DOS и Windows 9х For- mat. На жестком диске загрузочные секторы есть в начале каждого логического диска как в основном, так и в дополнительном разделах. Все загрузочные секторы наряду с данными о логическом диске содержат специальную запись, однако при загрузке выполняется код только того сектора, который находится в активном разделе. Остальные секторы просто считываются операционной системой для определения параметров логических дисков.
Загрузочный сектор логического диска состоит из программы (выполняемого кода)
и области данных. Эта информация необходима операционной системе для определения размера логического диска и размещения таких структур, как FAT. Формат блока пара- метров диска весьма специфичен. Ошибки в этом блоке могут привести к проблемам при загрузке DOS или к отсутствию доступа к диску.
Дополнительные сведения
Информация о форматах загрузочной записи различных версий DOS представлена на прила- гаемом компакт-диске.
Корневой каталог
Каталог — это база данных, содержащая информацию о записанных на диске файлах.
Каждая запись в ней имеет длину 32 байт, и между записями не должно быть никаких разделителей. В каталоге сохраняется практически вся информация о файле, которой располагает операционная система.
Имя файла и расширение — восемь символов имени и три символа расширения;
точка между именем и расширением файла подразумевается, но не включается в эту запись.
Замечание
В Windows 9
х/Me имя файла может состоять из 255 символов в структуре каталога 8.3.
Байт атрибутов файла, содержащий флаг, который представляет стандартные ат- рибуты файла.
Время и дата создания файла или его модификации.
Размер файла в байтах.
Ссылка на начальный кластер — номер кластера, с которого начинается файл.
Информация о расположении файла, т. е. расположении оставшихся кластеров, содер- жится в FAT.
Существует два основных типа каталогов: корневой каталог и подкаталог. Различа- ются они максимальным количеством хранящихся файлов. На каждом логическом дис- ке в фиксированном месте, сразу же за копиями FAT, располагается корневой каталог.
Размеры корневых каталогов варьируются в зависимости от размера диска, но каждый конкретный корневой каталог имеет фиксированное максимальное число файлов. Длина
Недокументированные возможности программы FDISK
9

Таблица 24.3. Размер корневого каталога
Тип накопителя
Максимальное количество записей
Жесткий диск
512
Дисковод 1,44 Мбайт
224
Дисковод 2,88 Мбайт
448
Jaz и Zip
512
LS-120 512
корневого каталога фиксируется при создании логического диска и не может быть из- менена в процессе работы. Размер корневого каталога различных накопителей приведен в табл. 24.3. В отличие от корневого каталога, подкаталог может хранить произвольное количество файлов и расширяться по мере необходимости.
Замечание
Одно из преимуществ FAT 32 заключается в том, что корневой каталог может располагаться в любом месте диска и содержать неограниченное количество записей.
Все каталоги имеют одинаковую структуру. Записи в этой базе данных сохраняют важную информацию о файлах, которая связана с информацией, хранящейся в FAT, по- средством одного из полей записи — номера первого занимаемого файлом кластера на диске. Если бы все файлы на диске не превышали размеров одного кластера, потребно- сти в FAT вообще бы не возникло. В FAT содержится информация о файле, отсутствующая в каталоге, — номера кластеров, в которых расположен весь файл.
Чтобы отследить расположение всего файла на диске, обратитесь к каталогу и выясни- те номер первого кластера и длину файла. Затем, используя таблицу размещения файлов,
просмотрите цепочку кластеров, занимаемых файлом, пока не дойдете до конца файла.
Формат 32-байтовой записи в каталоге приведен в табл. 24.4.
Таблица 24.4. Формат каталога
Смещение
Hex
Dec
Длина поля
Описание
00h
0 8 байт
Имя файла
08h
8 3 байт
Расширение файла
0Bh
11 1 байт
Атрибуты файла
0Ch
12 10 байт
Зарезервировано (00h)
16h
22
Одно слово
Время создания
18h
24
Одно слово
Дата создания
1Ah
26
Одно слово
Начальный кластер
1Ch
28
Одно двойное слово
Размер файла в байтах
Имена файлов и их расширения записаны с привязкой к левому краю и дополнены до максимальной длины пробелами, т. е. имя файла AL будет реально сохранено как AL......,


Поделитесь с Вашими друзьями:
  1   2   3   4


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал