Raw формат как исправить без потери данных. Восстановление NTFS раздела

Захожу на свой рабочий диск…
Стоп. Точнее пытаюсь зайти на
свой рабочий диск… а диска Е:
нету:(. Вместо него пустое
неразмеченное пространство

Из воспоминаний Horrific
Xakep v.11.01(35) p.27

Даже с великими гуру случаются
неприятности такого рода. От них не
застрахован никто. Я попытаюсь рассказать,
как можно восстановить данные в подобной
ситуации. Ведь, скорее всего, данные никуда
не делись, как были, так и остались на диске.
Просто повреждена служебная область
раздела. Поэтому попытаемся разобраться,
как она устроена, а поняв, выработаем
алгоритм действий.

Информация о структуре NTFS довольно скудна,
и, вследствии закрытости основных
спецификаций на нее, получена так
называемым методом . Как и другие файловые системы, NTFS
делит поверхность диска на кластеры. Размер
кластеров имеет фиксированный размер,
выбираемый из интервала от 512 байт (1 сектор)
до 64 Кб (128 секторов). Обычно используется
размер кластера в 4 Кб (8 секторов). Каждый
элемент файловой системы, включая
служебные (которые принято называть
метафайлами), представляет из себя файл.
Метафайлы находятся в корневом каталоге NTFS
раздела и начинаются с символа имени "$",
Основной служебный файл — $MFT (Master File Table) —
список абсолютно всех файлов, хранящихся в
разделе, включая MFT. Вновь
отформатированный раздел NTFS выглядит
следующим образом:

Место под MFT файл выделяется сразу и с
большим запасом, обычно 12,5% (но может быть и
25%, 37,5% и 50%) от объема раздела. Оставшееся
место предназначено для хранения
содержимого файлов. Однако ОС, при
необходимости, может сокращать место,
выделенное для MFT файла, когда место под
содержимое файлов заполнено. Для этого, в
текущих версиях NTFS, оставшееся свободное
место, выделенное под MFT файл, уменьшается
вдвое, тем самым, увеличивая место,
отведенное для размещения содержимого
файлов. И когда ОС информирует о свободном
месте, то это сумма свободного места в обеих
частях раздела (зарезервированное под MFT
файл и выделенное под хранение содержимого
файлов). Но файлы не только добавляются в
раздел, но и удаляются из него. И в этом
случае возможно вновь увеличение места,
отводимого под MFT файл. При этом в служебной
области может оказаться содержимое файлов,
которое там и останется. MFT файл начнет
фрагментироваться, хотя это и не есть good.
Еще раз повторюсь, сказанное относится к
вновь отформатированному разделу. Когда я
при помощи программы Partition Magic добавил
неразмеченное пространство перед NTFS
разделом к NTFS разделу (F:), то MFT у меня
начинается с 1731201 кластера, хотя обычное
значение — 4.

Сам MFT поделен на записи фиксированного
размера по 1 Кб (2 сектора) каждая. Первые 24
записи — это служебные файлы, причем первым
в списке идет сам MFT. Ввиду особой важности
MFT файла, копия первых четырех записей
хранится в файле $MFTMirr где-то в районе
середины раздела. Также в последнем секторе
раздела (для Win’2k/XP) хранится резервная копия
boot сектора. Таким образом, для
восстановления раздела необходимо найти и
скопировать в начало раздела 4 первые
записи MFT из резервной копии и, возможно, сам
загрузочный сектор.

Для работы нам потребуется любой дисковый
редактор. Главное, чтоб он мог видеть все
пространство твоего диска. Можно
воспользоваться DiskEdit от дяди Нортона из
пакета Norton Utilities
2002 или штатным дисковым редактором Win’2k —
Disk Probe, для чего нужно с дистрибутива Windows из
папки Support\Tools установить дополнительные
инструменты, в том числе и Disk Probe. Также
потребуется программа PartitionInfo из пакета Partition
Magic . Для начала, выясним физические
границы требуемого NTFS раздела. Это можно
сделать при помощи программы PartitionInfo из
пакета Partition Magic.

В моем случае раздел NTFS начинается с 5060538
сектора диска. (также в нижнем окне доступна
информация в формате C:H:S) Теперь получим
информацию о номере последнего сектора и о
расположении MFT и ее копии, для чего
нажимаем кнопку Boot Record…

Итак, последний сектор раздела это 5060538 +
3341456 = 8401994 (первый сектор раздела + Total NTFS Sectors),
MFT начинается с 8х4=32 сектора (MFT start cluster * Sectors
per cluster), MFT Mirr — c 417682 х 4=1670728 сектора (MFT Mirror start
cluster * Sectors per cluster). Уточним размер отдельной
записи в MFT файле, для чего запустив
программу Partition Magic, выбрав требуемый раздел,
нажав правую кнопку мыши, выберем пункт
Properties В появившемся окне выберем
вкладку NTFS Info. Как и должно быть, размер
записи в MFT файле (File Record Size) составляет 1 Кб (2
сектора).

Запускаем дисковый редактор, например Disk
Probe, и выбираем пункты меню Volume>. В появившемся окне дважды щелкаем
мышкой по требуемому разделу (в моем случае
это G), нажимаем последовательно кнопки Set
Active и OK. Теперь переходим на сектор,
содержащий копию MFT. Для этого выбираем
пункт меню и в открывшемся
окне вводим номер сектора 1670728 и число
требуемых секторов (16) и нажимаем кнопку Read.
Теперь перепишем эти сектора по месту
расположения MFT, с 32 сектора. Для этого
выбираем пункт меню .
Отвечаем утвердительно на вопрос изменения
режима работы с Read Only на Read/Write, в
появившемся окне указываем сектор, с
которого надо осуществить запись (в нашем
случае это 32) и нажимаем кнопку Write it.
Подтверждаем свое желание еще раз и MFT
восстановлена.

Теперь необходимо скопировать на свое
место загрузочный сектор. Для этого
выбираем пункт меню После чего устанавливаем активным
требуемый физический диск. Это аналогично
тому, что мы осуществили для логического
диска. Теперь надо перейти на последний
сектор восстанавливаемого раздела. Через
меню вводим значение 8401994
после чего записываем это значение в сектор
5060538. Будьте особенно внимательны,
поскольку вы работаете с целым диском и не
ограничены границами поврежденного
раздела!

Осталось запустить утилиту chkdsk e: /f, которая
найдет и исправит просто огромное
количество ошибок, после чего поздравить
себя со спасенным разделом.

PS: Поскольку все операции потенциально
опасны, не поленись сделать резервную копию
разделов, находящихся на том же физическом
диске, что и восстанавливаемый раздел.

Magic Uneraser

Have you deleted important document MS Office, DVD video, mp3 file or photo? Restore any deleted file using Magic Uneraser!

Magic Uneraser offers fully guided, step-by-step approach to recovering deleted files. Supporting all versions of Windows including Windows 8 and Windows 10, Magic Uneraser allows you to unerase deleted files and recover information from all types of storage media.

Magic Office Recovery

Deleted an important document? Formatted a disk containing your working files? Windows won’t let you open a disk?

Magic Office Recovery can undelete documents and spreadsheets, recovering files from damaged, corrupted, formatted and inaccessible devices. Built-in document integrity checks ensure 100% recoverability, while step-by-step wizards and thumbnail view make the recovery process easy and convenient.

Magic Photo Recovery

Recover all types of images quickly and reliably! Magic Photo Recovery recovers deleted photos from hard drives, memory cards or digital cameras.

Magic Photo Recovery makes digital photo recovery easy. The fully guided, step-by-step file recovery wizard allows unerasing deleted photos completely automatically. You can recover files from healthy and damaged hard disks and digital cameras, corrupted and formatted memory cards, etc.

Magic NTFS Recovery

Magic NTFS Recovery does everything you can do with our flagship tool, Magic Partition Recovery, at half the price!

Undelete files and recover lost information, repair broken partitions and rebuild damaged and non-existing file systems completely automatically. Magic NTFS Recovery can recover all types of storage media formatted with NTFS, and supports all types of hard disks and SSD drives.

Magic Data Recovery Pack

Recover deleted files, undelete music, unerase movies, documents and pictures with the most advanced file recovery software!

Magic Data Recovery Pack offers the most advanced file recovery capabilities in a single package. Recovering files from all types of storage media, Magic Data Recovery Pack can recover deleted information from all versions and revisions of FAT and NTFS file systems.

Dedicated to recovering data from NTFS volumes, this tool is perfect for solving isolated cases and single incidents with system disks and hard drives. Offered at a discount compared to our top of the line tool, Magic NTFS Recovery is a perfect bargain for complex data loss situations occurring in NTFS-only environments.

Free Download

Magic NTFS Recovery fixes broken file systems and restores partitions

Recover Data and Rebuild Corrupted
NTFS Partitions

Magic NTFS Recovery offers a quick, easy way to reliably recover information from badly damaged, corrupted and inaccessible disks and partitions. From simple undelete to bit-precise restoration of affected disk system structures, Magic NTFS Recovery can handle any type of data recovery jobs. Fully automated performance, quick and comprehensive recovery modes with smart content-aware analysis make Magic NTFS Recovery a winner.

Magic NTFS Recovery delivers all features offered by Magic’s top-of-the-line product, Magic Partition Recovery, except the ability to restore FAT and FAT32 media. As Windows XP, Vista and Windows 10 will format new disks with NTFS and will only run on NTFS partitions, Magic NTFS Recovery is a true bargain at only half the price of the company’s flagship tool.

Features and Benefits

Magic NTFS Recovery effectively handles hard disks, flash and SSD drives with major issues. The tool can reliably locate and recovers deleted files and data missing on damaged partitions, optionally rebuilding the damaged disk complete with original files and folder structure.

Recovering Files and Data

  • Unerases deleted files from healthy, formatted and damaged NTFS partitions;
  • Quick scan mode undeletes files in minutes;
  • Comprehensive mode features trademark content-aware analysis for in-depth recovery.

Rebuilding Disks and Partitions

  • Refurbishes damaged partitions by rebuilding the file system based on information collected with content-aware analysis;
  • Restores formatted partitions and repartitioned drives;
  • Recovers media to “as new” state perfect for long-term use.

Safe and Easy to Use

With all the powerful features under the hood, Magic NTFS Recovery is designed to be used safely by non-pros. The tool offers an easy way of fixing common issues and repairing serious problems.

A fully guided, step-by-step wizard will assist you in fixing all types of damage from recovering individual files to refurbishing broken partitions. The tool works strictly in read-only mode, keeping the possibility of accidental damage as close to zero as reasonably possible. In fact, Magic NTFS Recovery will try to reduce the number of disk access operations in order to preserve damaged disks and hard drives with lots of bad sectors.

Undelete Files in Minutes

Featuring two analysis modes, Quick and Comprehensive, Magic NTFS Recovery can recover recently deleted files in just minutes.

Refurbish Broken Partitions

Magic NTFS Recovery can re-create corrupted file systems complete with original files and folders, effectively rebuilding broken partitions from scratch.

Explorer-like Browsing Experience with Instant Preview

Once Magic NTFS Recovery finishes searching for recoverable files, you’l see the file list in a familiar Explorer-like setting. Click on a file to see an instant preview. The preview will display pictures, play back audio, open compressed archives and display office documents complete with formatting and embedded objects.

The Ability to Perform
Content-Aware Analysis

The proprietary content-aware analysis is used in comprehensive scan mode to locate as many recoverable files as possible. Content-aware analysis scans the entire disk surface, looking for traces of known file types on the disk as well as in the file system. The algorithm enables surefooted recovery when all other methods fail.


Magic NTFS Recovery will only recover NTFS volumes, including NTFS streams. Use Magic NTFS Recovery to recover hard disks, SSD drives and some USB flash drives formatted by Windows XP, Vista and Windows 7. Most memory cards used in digital cameras and portable audio players will bear the FAT32 system; to recover memory cards, use Magic Partition Recovery or Magic FAT Recovery instead.

Try an Instant Demo Online!

Try an instant interactive demo of our data recovery tools right away! No need to download or install anything – our interactive demo opens right in your Web browser using Adobe Flash. Why a Flash demo? With dozens of data recovery products advertising heavily much of the same features, it’s easy to get lost. By making it easy for you to try our data recovery tools, we’ll save you the time and hassle of downloading, installing and learning yet another product. With this interactive demo, you can click through the recovery wizard, scan a disk (no worries, it won’t touch your hard drive – it’s just a demo after all!), preview and recover the files – all in just a couple of minutes.

System Requirements

Magic NTFS Recovery supports Windows XP, Vista, Windows 10, 2003 and 2008 Server in 32-bit and 64-bit variations. The administrative privileges are required to run the program under MS Windows 10 / Vista / 2008 Server / XP / 2000 / NT / 2003.

Free Download

A free evaluation version of Magic NTFS Recovery is available free of charge. The free version performs all types of analysis and features instant pre-recovery preview, displaying the content of recoverable files in visual, WYSIWYG mode.

Restores information from any kind of a carrier

Magic NTFS Recovery can recover all types of files from all kinds of storage devices. Deleted files can be undeleted in a matter of moments with a quick file system scan. Files deleted directly or removed from the Recycle Bin can be restored in a matter of minutes regardless of their extension.

Thanks to the company’s content-aware analysis technology, hundreds of recognizable file types can be recovered even if the drive is formatted, repartitioned or unreadable. Even if the drive no longer appears as a drive letter, Magic NTFS Recovery can still analyze a physical storage device looking for missing partitions. Magic NTFS Recovery has been tested with a wide range of devices based on different storage technologies such as magnetic hard drives and flash-based solid-state drives. Magic NTFS Recovery can be used to recover files from hard disks and SSD drives, USB flash drives and most types of memory cards including full-size, mini and micro versions of SD/SDHC/SDHC cards, Compact Flash, Memory Stick, as well as the traditionally mentioned but obsolete formats such as MMC and xD.

Restores corrupted and unavailable partitions

Thanks to the use of content-aware analysis, Magic recovery tools can recover information from corrupted and inaccessible partitions, repartitioned hard drives and formatted volumes. Magic NTFS Recovery will perform a thorough scan of the entire physical drive in order to locate unavailable or deleted partitions, and then analyze the entire volume looking for recoverable files and folders. Magic NTFS Recovery will attempt to re-create the entire file and folder system complete with multiple-level folders and long file names, effectively restoring the content of the entire partition on a different disk or another storage media. After your data is completely recovered, you may attempt to recover the original broken partition by repairing the damaged system structures with scandisk (a Windows tool).

Using Magic NTFS Recovery on damaged disks is completely safe, as all access is performed strictly in read-only mode. Because of that, Magic NTFS Recovery will not mess your disk system structures or the file system.

Restores files from deleted and formatted drives

The data recovery tool supports the recovery from deleted partitions, formatted volumes and repartitioned hard drives. The tool scans the entire surface of the hard disk or reads the full content of a solid-state drive in order to reliably detect, locate and read the content of a deleted partition. If the disk has been formatted, the tool can read raw sectors from the disk in an attempt to detect the beginning of multiple known file types. During this process, the tool will not need the file system to be present, and will successfully restore the files even if the file system is emptied by the format operation.

Deleted partitions can be similarly detected by reading blocks of raw data from the disk surface, matching and analyzing raw data structures in an attempt to detect the beginning and size of deleted partitions. Once all partitions are successfully detected, the tool can perform further analysis by accessing their file systems and reading files off deleted partitions. More often than not, deleted partitions are much less of a problem than formatted hard drives or deleted files.

Offers easy access to advanced features with Windows Explorer-like user interface

The wizard-based user interface is simple, convenient and straightforward. However, advanced users may need more flexibility in fine-tuning the process or configuring the settings. To allow advanced access to the internal data recovery mechanisms, we implemented a convenient Explorer-like user interface to go along with the wizards. This advanced user interface allows easy access to all the advanced features with the convenience of Windows Explorer-like performance. The familiar user interface will make seasoned computer users and computer professionals feel immediately at home, adjusting all the required settings with just a few mouse clicks.

In addition, by using the data recovery tool in Explorer-like mode you can browse through deleted files or navigating information stored on a deleted partition just like you would normally browse your computer. You can click deleted files to preview, mark them for recovery, and enter compressed archives as if they were folders.

Search files based on content (Content-aware analysis)

The entire family of Magic data recovery tools shares a set of sophisticated data recovery algorithms that can perform a search of recoverable information based on its content. The technology is called “content-aware analysis”, and allows not only undeleting files that were simply deleted, but also recovering files stored on formatted, corrupted and inaccessible disks and memory cards.

Unlike legacy data recovery algorithms that analyze the file system alone, content-aware analysis looks beyond the file system in its search for recoverable information. The technology reads all sectors on the disk, analyzing raw data in order to detect characteristic signatures of known file types. If the beginning of a file is detected, content-aware analysis will then analyze what appears to be a file header in order to calculate the length of the file. Based on this information, file’s exact location on the disk can be derived, and the file itself can be successfully recovered even if no record about it appears in the file system. This allows recovering files from formatted partitions, corrupted, repartitioned and inaccessible disks.

What
others are
saying

My biggest thanks and warmest regards to developers! I was able to recover deleted documents from my colleague’s hard drive after almost a week. It’s a miracle I was not even hoping for! Kudos to developers! Steve Swan

I formatted a hard drive to upgrade the OS. I installed 8, then upgraded to Windows 10, and then discovered the entire photo archive is missing. Downloaded this tool without much hope. The photos were back almost immediately! Daniel Thomas

Thank you! You’re my saviors! I restored a 3-year worth of work on my office computer without a sweat. Hundreds of documents, emails, databases. Would take years to type them back. You saved my job!
Cheers! Jane Stalnaker

Опишем процесс ручного восстановления данных в случае удаленных файлов или файлов из поврежденных разделов системы NTFS при работе в ОС Windows NT. Проблема заключается в том, что в составе этой ОС нет соответствующих программных средств. Программы же восстановления данных NTFS от сторонних производителей, к сожалению, не всегда используют все возможности восстановления. Ситуация усугубляется отсутствием полной документации по низкоуровневой структуре управляющих блоков NTFS.

Что же делать, если в один прекрасный момент обнаруживается, что компьютер с ОС Windows NT больше не загружается или некоторые логические разделы NTFS стали вдруг недоступны?

Сначала нужно уточнить, с чем связана неисправность: физическим повреждением диска, выходом из строя контроллера или разрушением файловой системы NTFS.

Проблемы с диском

Жесткие диски имеют ограниченный срок службы, обычно - несколько лет. Выход устройства из строя иногда можно определить по характерным щелчкам в момент инициализации. Диск может несколько раз щелкнуть и затихнуть, так и не раскрутившись. При инициализации BIOS сообщит вам об этой неисправности. В такой ситуации следует произвести ремонт жесткого диска. Если стоимость потерянной информации заметно превышает стоимость самого диска, следует обратиться к специалистам, что, впрочем, недешево.

Ремонт выполняется следующим образом. Если из строя вышла электроника, расположенная вне герметичного пространства диска, то заменяется или ремонтируется соответствующая плата. Для этого часто приходится разбирать другой диск точно такого же типа.

В том случае, когда повреждены детали, расположенные внутри корпуса диска, проблем будет больше. Прежде всего, разбирать сломанный диск нужно в так называемой «чистой комнате», где гарантируется отсутствие пыли. Затем следует заменить плату с электроникой, сняв ее с другого диска. Отремонтированный диск закрывается, после чего остается только скопировать информацию на третий диск по секторам.

Поэтому если сломался жесткий диск с ценной информацией, приготовьтесь пожертвовать еще одним для ремонта и найдите третий для копирования восстановленных данных.

Если есть подозрение на неисправность контроллера диска, попробуйте его заменить. Проверьте также соединительный кабель.

Проблемы с файловой системой

Убедившись, что диск, контроллер и соединительный кабель исправны, не торопитесь использовать дискету NT Repair Disk, созданную при установке ОС, или запускать программу восстановления файловой системы chkdsk - результат может оказаться плачевным. Не пытайтесь также найти «волшебную» программу восстановления NTFS в комплекте Norton Utilities для Windows NT - пока ее там нет. Если информация, записанная на диске, имеет особую ценность, нужно вначале проанализировать состояние управляющих блоков файловой системы NTFS с помощью редактора диска.

Такая работа требует достаточно высокой квалификации. В частности, нужно разбираться в форматах управляющих блоков файловой системы. Если вы не в состоянии выполнить ее самостоятельно, лучше вызвать специалиста и не предпринимать попыток самому отремонтировать NTFS.

Чтобы проверить управляющие блоки, нужно подключить к компьютеру два диска: первый, исправный загрузочный, и второй - тот, информацию с которого необходимо восстановить.

Сначала подключается только первый диск и инсталлируется ОС Windows NT. Этот диск будет использован для сохранения файлов, восстановленных из разделов поврежденного. Далее устанавливается редактор Disk Probe, входящий в состав Windows NT Resource Kit. Хотя этот редактор далек от совершенства, именно он позволит выполнить всю работу по восстановлению потерянных файлов.

Убедившись, что с первым диском все в порядке, выключите компьютер и подключите к нему второй, поврежденный диск.

Определение геометрии логического устройства

Для успешного восстановления информации следует определить размер кластера и адрес загрузочного сектора. Первое значение можно получить из загрузочного сектора раздела NTFS (если, конечно, его содержимое сохранилось).

Запустите программу Disk Probe. Выберите в меню Drive позицию Physical Drive. В панели Open Physical Drive, появившейся на экране, укажите устройство PhysicalDrive1, дважды щелкнув левой клавишей мыши по соответствующей строке списка Available Physical Drives. Затем нажмите кнопку Set Active, оставив включенным переключатель Read Only, и закройте панель кнопкой OK.

В результате программа Disk Probe получит доступ на чтение поврежденного диска. После этого попытайтесь прочитать содержимое главной загрузочной записи диска, расположенной в первом секторе на нулевой дорожке нулевого цилиндра. Для этого в меню Sectors выберите строку Read. Появится панель Read Sector. В поле Starting Sector укажите номер первого сектора, равный нулю, а в поле Numbers of Sectors установите значение 1. Затем нажмите кнопку Read.

Программа считает в оперативную память содержимое первого сектора и покажет его в шестнадцатеричном виде. Выберите из меню View строку Partition Table для форматного просмотра таблицы разделов диска, а затем перейдите на нужный раздел с помощью кнопки Go. Если необходимо (когда восстанавливаются файлы из расширенного раздела), повторите эту процедуру несколько раз.

Добравшись до загрузочной записи нужного вам раздела, выберите из меню View строку NTFS Bootsector.

А что делать, если главная загрузочная запись или загрузочная запись нужного раздела уничтожены?

Эта ситуация тяжелая, но не фатальная. Подробную таблицу соответствия емкости логического устройства NTFS и числа кластеров можно найти в MSDN. Например, если емкость находится в интервале 1025 - 2048 Мбайт, размер кластера будет равен 4 секторам, а если в диапазоне от 8193 до 16 384 Мбайт - то в одном кластере будет 32 сектора. Заметим, однако, что, позаботившись заранее о возможности последующего восстановления диска в случае его повреждения, можно облегчить такую работу, когда в ней возникнет необходимость. Нужно определить и записать размер кластера сразу после установки ОС, пока загрузочный сектор NTFS еще цел.

В том случае, если размер кластера так и остался неизвестным, его придется определять косвенными способами или методом подбора.

Таблица MFT

Внутренняя структура файловой системы NTFS принципиально отличается от хорошо знакомой большинству FAT. Не вдаваясь в подробности, изложим лишь те сведения, которые необходимы для выполнения в ней восстановительных работ.

Файловая система FAT (и ее разновидность FAT32) хранит информацию о файлах в нескольких местах логического устройства. Дескриптор файла, содержащий его имя, размер, дату создания и номер первого выделенного для него кластера, находится в каталоге. Таблица размещения файлов File Allocation Table, от которой и произошло название файловой системы FAT, хранит связанный список всех кластеров, выделенных файлу. И наконец, сам файл может быть распылен по кластерам.

Такая организация в значительной мере затрудняет восстановление файлов в случае каких-либо сбоев. Особенно критичной является целостность таблицы FAT: если эта таблица пропала или ее содержимое оказалось частично разрушено, исчезает информация о кластерах, выделенных файлу. В результате файл можно с очень большим трудом собрать из отдельных кластеров, лишь зная его содержимое. К тому же эта работа требует очень много времени. Поэтому на практике исчезновение таблицы FAT и ее копии означает полную потерю файлов.

Потеря каталогов приводит к невозможности определения номера первого кластера, выделенного файлу, его имени и точного размера. В этом случае последствия не столь катастрофичны, так как в таблице FAT остались «бесхозные» цепочки кластеров, которые нетрудно превратить в файлы. Имена полученных таким образом файлов обычно состоят из цифр. Заметим, что при крушении каталогов, содержащих тысячи файлов, после восстановления будет трудно найти нужный файл, если хотя бы приблизительно не известно его содержимое.

В файловой системе NTFS вся информация о файлах хранится в так называемой главной таблице файлов Master File Table (MFT). Записи таблицы MFT содержат наборы дескрипторов с такой информацией о файлах, как имя, даты создания и модификации, атрибуты безопасности, и, что самое главное, списки кластеров, выделенных файлам. Если файл имеет небольшой размер, то он может храниться непосредственно в записи таблицы MFT.

Следовательно, возможность восстановления файлов из поврежденных разделов NTFS во многом определяется целостностью таблицы MFT и ее копии.

Как найти таблицу MFT?

Найти таблицу MFT достаточно просто, если сохранился загрузочный сектор раздела NTFS. Нажмите кнопку Go около поля Clusters to MFT или Clusters to MFT mirr в панели, показанной на рис. 2. Для просмотра содержимого первого сектора таблицы выберите из меню View программы Disk Probe строку Bytes.


Обратите внимание на строку FILE, расположенную в самом начале сектора. С нее начинаются записи таблицы, описывающие файлы. Существуют еще записи для каталогов, элементов индекса и другие, которые мы не будем рассматривать.

Строка $.M.F.T. находится со смещением D2. Это имя системного файла, содержащего таблицу MFT, в кодировке Unicode. Таким образом, первая запись файла $MFT описывает сам этот файл. Просматривая таблицу, можно обнаружить записи для других системных файлов, таких как $MFTMirror, $LogFile, $Volume, $AttrDef и др.

Если загрузочный сектор разрушен, начало таблицы MFT нетрудно найти с помощью программы Disk Probe. Для этого выберите в меню Tools строку Search Sector, установите переключатели в положение, показанное на рис. 4, и, заполнив поле Enter characters to search for, нажмите кнопку Search. Следует запастись терпением, поскольку процесс поиска может отнять немало времени.

Заметим, что подобным образом можно найти в таблице MFT записи для тех файлов, которые нужно восстановить. Так как имена файлов хранятся в кодировке Unicode, при поиске следует установить переключатель в положение Unicode characters. Кроме того, необходимо включить режим поиска Exhaustive search и Ignore case.

Анализ записей MFT

К сожалению, программа Disk Probe не содержит никаких средств для форматного просмотра содержимого записей MFT. Более того, точный формат этой записи отсутствует в открытой документации Microsoft. Однако многое можно обнаружить в Internet, сделав запрос по ключевым словам «NTFS Documentation». Нам, например, удалось найти информацию, собранную разработчиками модулей для операционной системы Linux. Анализируя исходные тексты модуля для монтирования в Linux файловой системы NTFS, можно понять назначение отдельных полей записей MFT (авторы приносят благодарность Максиму Синеву за помощь в «расшифровке» записей MFT).

Запись MFT состоит из начального фрагмента фиксированного размера и набора атрибутов, имеющих в общем случае переменный размер. Для восстановления файлов нужно знать точный формат только атрибута данных. Что же касается других атрибутов, достаточно уметь определять их расположение и размер.

Первые четыре байта в записи, описывающей файл, образуют слово FILE. На рис. 3 они выделены красным цветом. Следующие два байта (выделенные синим цветом) - смещение так называемой области Fixup. В рассматриваемом случае значение смещения равно 002A (с учетом обратного порядка расположения байтов в слове). Здесь и далее будем пользоваться шестнадцатеричными числами.

Область Fixup используется в процессе обнаружения ошибок чтения или записи. Она состоит из слов размером два байта. Количество слов хранится в записи MFT со смещением 0006. На рис. 3 поле размера области Fixup выделено фиолетовым цветом. Там хранится значение 0003, следовательно, область Fixup начинается со смещения 002A и простирается до 002A+(2*0003)=002F.

Сразу за областью Fixup начинаются поля атрибутов. Смещение первого атрибута равно 0030.

Первые четыре байта области атрибутов определяют тип, а следующие четыре - размер в байтах. Например, вслед за областью Fixup со смещением 0030 следует атрибут с типом 10. На рис. 3 тип этого и следующего за ним атрибутов выделен красным цветом (размер атрибута выделен синим). Атрибут занимает 48 байт, следовательно, следующий атрибут (с типом 30) начнется со смещением 0078.

Таким образом можно выделить в записи MFT все атрибуты. В конце самого последнего записано значение FFFFFFFF - признак конца цепочки атрибутов.

Для восстановления файлов наибольший интерес представляют атрибуты типа 30 и 80. Первый из них хранит имя файла. По нему следует искать запись MFT, описывающую восстанавливаемый файл. Второй атрибут с типом 80 хранит список кластеров, выделенных файлу, или сам файл. Про него мы расскажем подробнее.

Как видно из рисунка, тип атрибута, равный 80, хранится в записи MFT со смещением 0160. Всего атрибут данных занимает D8 байт, так как именно это значение находится в четырехбайтовом поле со смещением 4 относительно начала атрибута.

Байт со смещением 8 относительно начала атрибута данных - это признак резидентного размещения файла. Если его значение равно 1, запись MFT хранит только список кластеров, выделенных файлу (как в описываемом случае), а если 0 - файл находится внутри самой записи MFT. Как правило, записи содержат только файлы небольших размеров.

Сначала рассмотрим случай нерезидентного размещения файла. При этом четыре байта со смещением 30 хранят длину файла, расположенного где-то на диске. В данном примере длина файла $MFT составляет B7B000 байт.

Для того чтобы определить точное расположение нерезидентного файла на диске, нужно проследить цепочку так называемых блоков виртуальных номеров кластеров Virtual Cluster Number (VCN), или просто блоков VCN. Показатель смещения начала этой цепочки хранится в двухбайтовом поле, имеющем смещение 20 байт относительно начала атрибута данных. В описываемом случае этот показатель равен 40, а смещение области блоков VCN относительно начала записи MFT равно 01A0. На рис. 5 эта область выделена жирной вертикальной линией зеленого цвета.

Анализ области блоков VCN

Файл, записанный в разделе NTFS, может быть сегментирован. Он состоит из одного или нескольких фрагментов, называемых экстентами. Размер и расположение каждого экстента описывается в блоке VCN. В зависимости от того, фрагментирован файл или нет, область VCN может содержать один блок или их набор. Блоки VCN имеют переменный размер, определяемый первым байтом.

Формат блока стоит показать на конкретном примере. Возьмем первый блок VCN, имеющий в рассматриваемом примере смещение 01A0 относительно начала записи MFT:

Тетрады первого байта со значением 31 определяют размеры двух полей блока VCN. Первое поле, имеющее длину один байт, хранит количество кластеров, выделенных экстенту файла. Второе поле размером три байта содержит номер первого кластера. В данном случае первому экстенту файла $MFT выделено 20 кластеров, а номер первого кластера для первого экстента равен 0286D9. Таким образом определяем размер и расположение первого экстента файла.

Второй блок VCN расположен сразу вслед за первым:

Для того чтобы определить первый кластер второго экстента, необходимо прибавить к адресу первого экстента смещение, указанное во втором блоке VCN (с учетом знака). В данном случае второй экстент размещен в кластере с номером 0286D9+21=286FA. Длина второго экстента составляет 0824 кластера.

Анализируя остальные блоки VCN, можно определить размеры и расположение всех экстентов файла. Список блоков VCN закрывается байтом с нулевым значением.

Резидентные файлы

Файлы небольшого размера размещаются непосредственно в записи MFT, описывающей этот файл, для сокращения времени доступа. Если в байте со смещением 8 относительно начала атрибута данных находится нулевое значение, то не нужно прослеживать цепочки блоков VCN. Это означает, что файл находится внутри атрибута данных.

При этом смещение резидентных данных, т. е. файла, записано в двухбайтовом слове со смещением 14 относительно начала атрибута данных, а размер - в двухбайтовом слове со смещением 10.

Приведем небольшой пример. Для иллюстрации формата записи MFT, содержащей резидентный атрибут данных, мы подготовили маленький файл с именем Small.txt, содержащий текстовую строку «This is a small text file.». Затем с помощью программы Disk Probe мы обнаружили запись таблицы MFT, созданную для этого файла (рис. 6).

Как видно из рис. 6, байты файла Small.txt (выделенные желтым цветом) находятся внутри записи MFT со смещением 18 относительно начала атрибута данных, а размер файла составляет 1A байт.

Как же восстановить файлы?

Теперь, вооружившись приведенными выше знаниями о внутренней структуре системных блоков NTFS, можно приступить к восстановлению файлов из поврежденного раздела этой файловой системы.

Когда известны имена файлов, подлежащих восстановлению, нужно найти соответствующие им записи в таблице MFT. Это можно сделать с помощью программы Disk Probe, воспользовавшись строкой Search Sector из меню Tools. Далее следует обнаружить в этой записи атрибут данных и определить, резидентный он или нет.

Если атрибут данных резидентный, то нужно сохранить сектор, содержащий запись MFT, в виде файла на исправном жестком диске или на дискете. Это можно сделать, используя строку Save as меню File программы Disk Probe. После этого следует вырезать нужную часть данных и сохранить результат в новом файле. Такую операцию нетрудно выполнить, например, в редакторе Norton Disk Editor для MS-DOS.

В случае нерезидентного атрибута работы будет намного больше.

Прослеживая цепочку блоков VCN, нужно определить расположение и размер экстентов восстанавливаемого файла. Далее с помощью приложения Disk Probe следует прочитать данные экстента, а затем сохранить их в файле на исправном диске. Не забудьте также, что в программе Disk Probe указывается количество секторов, которые нужно прочитать или записать, а в блоке VCN установлено количество кластеров, выделенных экстенту. Поэтому нужно выполнить соответствующий пересчет.

Восстановив все экстенты, объедините их в один файл (например, командой COPY с параметром /B). Затем установите правильную длину файла, полученную из поля со смещением 30 атрибута данных. В разделе FAT такая операция может быть выполнена с помощью все той же программы Norton Disk Editor.

К сожалению, на практике восстановление большого количества файлов требует много времени. Тяжелее всего дается ручная обработка цепочек блоков VCN, которые могут быть очень длинными. Приходится часами работать с калькулятором, переводя десятичные числа в шестнадцатеричные и обратно, а также производя различные арифметические действия, необходимые для определения размеров и расположения экстентов восстанавливаемых файлов. Поэтому обычно мы пользуемся небольшой самодельной программой NTFS Explorer, выполняющей наиболее трудоемкие операции в полуавтоматическом режиме.