В процессе эксплуатации жесткого диска неприятной неожиданностью становится отказ загрузки всей оперативной системы либо части разделов NTFS. В отличие от большинства ОС, оперативная система Windows NT не содержит программных средств для восстановления поврежденных или удаленных файлов, поэтому всю необходимую информацию приходится воссоздавать вручную.
Для начала нужно уяснить, какие проблемы вызвали сбои в работе персонального компьютера: механическое повреждение жесткого диска, поломка контроллера или крах файловой системы NTFS.
По истечении ряда лет электронная плата жестких дисков приходит в негодность. При инициализации, несколько раз щелкнув, диск останавливается, и BIOS выводит на экран уведомление о неисправности винчестера.
Для ремонта потребуется новая плата, переставленная с аналогичного исправного диска. При необходимости заменяют контроллер диска и силовой кабель. Понадобится еще один исправный HDD для сохранения восстановленных данных.
Оба диска подключаются к компьютеру. На исправный устанавливается ОС Windows NT, а затем включается носитель с поврежденными или удаленными файлами. Инсталлируется редактор DiskProbe из пакета ResourceKit, позволяющий в данной ОС восстанавливать поврежденные файлы.
Успешному восстановлению информации способствует определение размеров кластера диска и выяснение адреса загрузочного сектора. Размеры кластера записываются сразу после установки оперативной системы Windows NT.
Если запись по каким-либо причинам утеряна, подключают DiskProbe на чтение неисправного диска командой меню AvailablePhysicalDrives. В строке StartingSector значение первого сектора необходимо обозначить нулем, а строку NumbersofSectors – единицей. После нажатия кнопки Read данные первого сектора будут выведены в шестнадцатеричном формате.
Просмотреть разделы диска в форме таблицы можно все тем же приложением DiskProbe из меню View – PartionTable , а узнать все данные восстанавливаемого раздела – по строке NTFS BootSektor.
В случае полного уничтожения загрузочной записи раздела размеркластера легко определить с помощью главной таблицы файлов MasterFileTable (MFT), содержащей полную информацию о файлах, хранящихся в компьютере: его наименование и время создания, изменения, данные о безопасности и список выделенных файлу кластеров.
Начало таблицы MFT определяется посредством приложения DiskProbe по строке SearchSektor при переключении кодировки Unicodecharacters с подключенными режимами Exhaustivesearch и Ignorecase.
Записи главной таблицы файлов построены по одному принципу, общему для всех файлов: начальный фрагмент, имеющий фиксированный размер, и атрибуты данных переменного размера. Восстановление данных базируется на формате атрибутов файла.
Четыре первых байта описания представляют собой слово FILE и не несут значащей информации. Еще два байта указывают смещение области Fixup, характеризующей ошибки чтения и записи файлов.
Следующие четыре байта относятся к области атрибутов файла и определяют тип несущего информацию атрибута, а идущие за ними четыре байта указывают на размер этого атрибута, позволяя вычислять смещение области Fixup последующего атрибута, что помогает составлять полную запись всех атрибутов файла. Конечные данные цепочки атрибутов обозначены в записи MFT с помощью восьми букв F.
Восстановление данных с помощью главной таблицы файлов достаточно найти атрибуты файла типов 30 и 80. Атрибут типа 30 содержит имя файла и необходим для поиска той записи MFT, которая описывает поврежденный файл.
В атрибуте 80 записи бывают двух типов, по которым легко определяется резидентность файла, что способствует уменьшению времени восстановления файла. Если файл небольшого размера, то для сокращения промежутка времени доступа этот файл полностью записывается в таблицу MFT, нерезидентные же файлы занимают значительно больший объем, и в этом случае главная таблица файлов содержит список кластеров, принадлежащих данному файлу.
Для точного определения размещения нерезидентного файла отслеживают нахождение на диске всех блоков виртуальных номеров кластеров (VirtualClusterNumber) данного файла. Начало цепочки блоков VCN записано в двух байтах, имеющих смещение области Fixup размером 20 байт относительно начала атрибута записанных данных.
Размеры файла, превышающие размеры кластера, вызывают необходимость записи файла по частям, во фрагментированном виде. Описания размещения на диске и размеров частей файла, называемых экстентами, находятся в VCN-области. Файл, полностью умещающийся в кластер, записывается в один блок VCN, сегментированные файлы – в наборе VCN-блоков.
Размеры блоков виртуальных номеров кластеров варьируются и определяются по первому байту блока, содержащему число выделенных экстенту кластеров. Следующие три байта сохраняют номер первого кластера, позволяя находить адрес записи первого экстента файла. Прибавляя к адресу предыдущего виртуального блока смещение области Fixup, указанное в каждом следующем блоке VCN, определяют расположение и размеры экстентов каждого файла. На окончание цепочки VCN-блоков указывает байт, имеющий нулевое значение.
Определив все экстенты файла, выясняют с помощью DiskProbe его данные и сохраняют их файлом на подключенном исправном диске.
|