Start Page

Active@ File Recovery is a data recovery software used to restore accidentally deleted files and folders located on existing drives, and even on deleted/damaged partitions.

Contents

  • Overview of Active@ File Recovery
  • See How To... for help with specific tasks:
    • Activate Software with a Registration Key
    • Use QuickScan to scan a drive for deleted files
    • Use SuperScan to detect deleted and damaged partitions
    • Search for deleted files and folders
    • Preview file contents (Recovery status check)
    • Restore deleted file
    • Restore deleted folder
    • Virtually Reassemble Damaged or Deleted RAID
    • Create Disk Image for the drive
    • Open and work with Disk Image
  • Overview of Active@ File Organizer
  • See Concepts for general background information:
    • Understanding Hardware and Disk Organization
      • Hard Disk Drive Basics
      • Master Boot Record (MBR)
      • Partition Table
    • Understanding File System (FAT)
      • FAT Partition Boot Sector
      • FAT File Allocation Table
      • FAT Root Folder
      • FAT Folder Structure
      • FAT32 Featrues
    • Understanding File System (NTFS)
      • NTFS Partition Boot Sector
      • NTFS Master File Table (MFT)
      • NTFS File Types
      • NTFS Data Integrity and Recoverability
    • Understanding File Recovery Process
      • Disk Scanning
      • Define clusters chain for the deleted entry
      • Clusters chain recovery
    • Understanding Partition Recovery Process
      • MBR is damaged
      • Partition is deleted or Partition Table is damaged
      • Partition Boot Sector is damaged
      • Missing or Corrupted System Files
  • See Knowledge Base
    • Recovery Tips
    • Troubleshooting
    • Frequently Asked Questions (FAQ)
  • Where to Buy
What did you think of this topic?
Let us know.


Overview of File Recovery

Active@ File Recovery: Overview

Overview

What Happened to my Data?

When a file is written to a hard drive, two separate systems come into play:

  1. A record of the file is kept in the Root Table or Master File Table (MFT).
  2. Data is written to physical hard drive addresses. The physical addresses are labeled as 'occupied'. These addresses are called clusters.

When file is deleted from a hard drive, the same two systems are notified:

  1. The file record in the Root Table or MFT indicates the file has been deleted.
  2. Clusters are labeled as 'unoccupied'. The data is not removed.

In the event of an accidental file deletion we strongly recommend that you perform the recovery operation as soon as possible. If any new files are written to the same drive, there is a chance that the file-writing process may allocate data to these clusters.

Welcome to Active@ File Recovery

Active@ File Recovery is a powerful software utility, designed to restore accidentally deleted files and directories. It allows you to recover files that have been deleted from the Recycle Bin, as well as those deleted after avoiding the Recycle Bin (e.g. Shift-Delete).

Active@ File Recovery can be installed on and run from a floppy disk or USB disk, so that the risk of overwriting your data is minimized.

Active@ File Recovery will help you to restore data residing on hard drives or floppy drives formatted in any of the following file systems:

• FAT12
• FAT16
• FAT32
• NTFS
• NTFS5

It works under all Windows family operating systems:

• Windows NT
• Windows 2000
• Windows XP
• Windows Vista
• Windows Server 2003
• Windows Server 2008
• Windows 7

Active@ File Recovery supports:

• IDE, ATA, SCSI hard drives, floppy and USB Flash disks
• Damaged or deleted RAID virtual reconstruction (RAID-0, RAID-1, RAID-5, Span)
• Large-sized drives (more than 2TB)
• Long file names and local language (non-English) file names
• Recovery of compressed, fragmented and encrypted files on NTFS
• Detection and recovery from deleted or damaged partitions
• Saving scan results to the storage and opening them later on
• Deleted files filtering, exact or partial file name search
• Disk Image creation and opening (to restore files and folders from)

RAID-5 of different types is being supported:

• Left Asynchronous (the most frequently used)
• Left Synchronous
• Right Synchronous
• Right Asynchronous

Active@ Scan technology allows you to recognize files based on file signatures for the following file types:

• Word Documents (*.DOC)
• Excel Spreadsheets ( *.XLS)
• PowerPoint Presentations (*.PPT)
• Access Databases (*.MDB)
• Crystal Reports (*.RPT)
• Visio Diagrams (*.VSD)
• Outlook Data Archives (*.PST)
• Word 2007 Documents (*.DOCX)
• Excel 2007 Spreadsheets (*.XLSX)
• PowerPoint 2007 Presentations (*.PPTX)
• JPEG Images (*.JPG)
• Bitmap Images (*.BMP)
• Corel Draw Files (*.CDR)
• Canon Raw Images (*.CRW;*.CR2)
• Nikon Raw Images (*.NEF)
• TIF/TIFF Images (*.TIF)
• AVI Files (*.AVI)
• WAV Files (*.WAV)
• MPG/MPEG Files (*.MPG)
• ANI Files (*.ANI)
• Zip Archives (*.ZIP)
• QuickBooks Files (*.QBW)
• MP3 Music Files (*.MP3)
• Digital Negative Images (*.DNG)
• Olympus Raw Images (*.ORF)
• Leica Raw Images (*.RAW)
• Pentax Raw Images (*.PEF)
• Sony Raw Images (*.ARW .SRF .SR2)
• Sigma Raw Images (*.X3F)
• Fuji Raw Images (*.RAF)
• Konica Minolta Raw Images (*.MRW)
• Simply Accounting Databases (*.SDB)
• Rich Text Format Documents (*.RTF)
• XML Documents (*.XML)
• HTML Documents (*.HTML .HTM)

After you recover files by signatures, you can use Active@ File Organizer to organize them in folders with readable (non-abstract) names.

The free evaluation version has full functionality of all features with a limitation only on maximum size of the file being restored.

Active@ File Organizer

The file organizer functions allow you to create folders based on information contained inside the file and outside the file system it is stored in, and move / copy the file to these folders. This is useful when you detected and recovered files by signatures, but recovered files have abstract names. The file organizer program is primarily used to open files of a chosen extension, look at data contained within that file, create a folder structure that matches the data contained within the file and move / copy the file to that folder.

Important

PROTECT THE DRIVE LOCATION WHERE YOU HAVE ACCIDENTALLY DELETED FILES.
Any program that writes data to the disk, even the installation of data recovery software can spoil your sensitive data.

DO NOT RECOVER DATA ONTO THE SAME DRIVE THAT YOU FOUND ERASED DATA!
While saving recovered data onto the same drive where sensitive data was located, you can spoil the process of recovering by overwriting table records for this and other deleted entries. It is better to save data onto another logical, removable, network or floppy drive.

IF YOU HAVE AN EXTRA HARD DRIVE, OR OTHER LOGICAL DRIVES THAT ARE BIG ENOUGH, CREATE A DISK IMAGE.
A Disk Image is a single-file mirror copy of the contents of your logical drive. Backing up the contents of the whole drive - including deleted data - is a good safety precaution in case of failed recovery. Before you start recovering deleted files, create a Disk Image for this drive.


Active@ File Recovery: How to...

How to...

  • Activate Software with a Registration Key
  • Use QuickScan to scan a drive for deleted files
  • Use SuperScan to detect deleted and damaged partitions
  • Search for deleted files and folders
  • Preview file contents (Recovery status check)
  • Restore deleted file
  • Restore deleted folder
  • Virtually Reassemble Damaged or Deleted RAID
  • Create Disk Image for the drive
  • Open and work with Disk Image


file recovery - how to activate

Active@ File Recovery: How to...

Activate Software with a Registration Key

If you have purchased the software, the activation procedure is not necessary because you will receive a pre-registered software package.

If you have downloaded the free DEMO version - with a limitation on the size of files that can be recovered - to get full functionality, you need to activate it with a registration key.

To activate the DEMO version, you do not need to re-install software. You do not have to re-scan hard drives to detect deleted files and partitions. All you have to do is enter the registration key and continue working with the software registered in your name. You may purchase a registration key from our web site or from many third-party re-sellers.

When typing the Name information, be careful to spell the name and e-mail exactly the way you specified them while purchasing the registration key. Any variation will cause product activation and registration to fail.

You can activate and register DEMO software in one of two ways:

  1. In the main window, from the Help menu, choose Enter Registration Key... The Enter Key dialog box appears.

    1. If you have not purchased your registration key yet, click Buy Now! to go to our web site and purchase it online.
    2. In the Name field, type your name and Email address for a Personal License or type your company name for a Corporate License.
    3. In the Key field, type your registration key, or you may copy your registration key and paste it in this field.
    4. Click OK.
    5. If you are recovering files using the DEMO version, the maximum file size is 65Kb. If you try to recover a file that exceeds the DEMO limit, the DEMO version limitation dialog box appears.

      1. If you have not purchased your registration key yet, click Buy Online to go to our web site and purchase it online.
      2. If you have purchased your registration key, click Enter Key. The Enter Key dialog box appears. Follow instructions in number 1, above.

      After you have activated and registered the product successfully, you may continue with recovery of the file that exceeds the demo limit.

      See Also

      Where to Buy


Active@ File Recovery: How to...

Using QuickScan to scan a drive for deleted files

QuickScan searches existing partitions for deleted or damaged files or folders. Before you begin to search for files and folders or recover data, you must scan the drive.

After you have scanned a drive, you can tell what state your deleted files and folders are in by the colour of the icons:

Files

White icon shows an existing file.

Grey icon shows a deleted file with a good chance of recovery.

Black icon shows a deleted file with a poor chance of recovery because it may have been overwritten or partially overwritten on the disk.

Folders

Yellow icon shows an existing folder.

White icon shows a deleted folder with a good chance of recovery.

Black icon shows a deleted folder with a poor chance of recovery.

There are two methods for scanning: QuickScan and SuperScan.

  • QuickScan is a fast and basic scan. Most deleted files and folders can be found using this method.
  • SuperScan is a much slower and thorough scan. It processes the whole hard drive surface detecting all possible deleted data. If, after running QuickScan you did not find your deleted files, try SuperScan. For more information on SuperScan, click the link at the bottom of this topic.

To run QuickScan, open Active@ File Recovery and do the following:

  • In the Local System Devices list, select the drive you want to inspect for deleted files and folders.
  • Click QuickScan button on the toolbar. Alternatively, right-click the drive and select QuickScan from the context menu.

To cancel the scanning process for any reason, click Stop [image].

After you complete the drive scan, to locate your deleted files and folders, you may search either manually, by opening folders in the tree, or automatically, using the search mode.

Saving QuickScan Results

Depending on the size of the drive that you are scanning, it can take a long time to scan partitions. On large or damaged drives, it can take days. If you have to exit Active@ File Recovery for any reason, it would take a long time to scan the partition again. So that you don't lose the information that you have scanned, you may save the QuickScan results to a file. When you open Active@ File Recovery, opening the saved results file takes much less time.

To save QuickScan results

  1. In the Local System Devices list, select a device node and do one of the following:
    • Right-click the device node. From the context menu click Save Scan Results...
    • From the File menu, choose Save Scan Results...
  2. In the Save Scan Results dialog box, type a path or browse to a folder where the scan results file is to be stored.
  3. Click Save.

To open QuickScan results

  1. In the Local System Devices list, select a device node and do one of the following:
    • Right-click the device node. From the context menu click Open Scan Results...
    • From the File menu, choose Open Scan Results...
  2. In the Open Scan Results dialog box, browse to the file where you saved the scan results file.
  3. Click Open.

See Also

Performing SuperScan

Searching for Deleted Files and Folders


Active@ File Recovery: How to...

Using SuperScan to detect deleted and damaged partitions

Use SuperScan when trying to recover a partition or logical drive that you know has been deleted or damaged. In other words, if you do not see a logical drive listed under a device node in the Local System Devices list, it is time to use SuperScan.

SuperScan processes the whole surface of the physical device searching for all possible logical drives and partitions, whether they are existing, damaged or deleted. If a partition cannot be found, SuperScan keeps searching. SuperScan reads each disk sector and looks for not only the boot sector, but also tries to reconstruct the drive structure, based on residual clues to the drive's system structures that remain on the disk surface. This is a very slow process and it usually gives much better results than QuickScan. When SuperScan finds data and the deleted or damaged file or folder is not fragmented, the SuperScan process can detect files by matching template patterns to the found data.

To run SuperScan:

  1. In the Local System Devices list, select a physical device that contains your data. It may be a fixed disk or a removable disk.
  2. To open the SuperScan Options dialog box, do one of the following:
    • In the toolbar, click SuperScan [image].
    • Right-click the physical device node and choose SuperScan from the context menu.
  3. To select a named area, from the Scan what drop-down list, choose the area you want to scan. Choose either the [Whole Disk's Surface], or a named area.
  4. To select an area manually, type the starting sector number in the From sector field and the number of sectors in the sectors field.
  5. In the Analyze and detect deleted or damaged partitions area, select the check boxes next to the partition types that you want to look for. Clear the check boxes next to the partitions that you do not want to look for. If you select all four partition types, the scanning takes a longer time and you may find more recoverable data.
  6. If a disk has been severely damaged and partitions and files are not found, you may turn on the File types to be recognized based on signatures option. Provided that the files are not fragmented, Active@ Scan technology would detect the file signatures and would try to reconstruct files of certain types. The detected files, when this option is turned on, will be placed into the Files Recognized by Signatures virtual folder and will have abstract filenames (because no file header could be detected, only file data), however their content can be valid. You may try to recover your documents or images from the Files Recognized by Signatures virtual folder later on. The None option means that no signatures recognition will be applied, it will speed up the SuperScan process a bit. The All option instructs SuperScan to recognize all possible supported signatures. The Some option lets you choose the file types you want to recognize based on signatures and recover them later on. Click the Select All button to apply a filter:

  7. Click Start.
  8. The progress bar appears in the bottom left corner. There is nothing more for you to do until the device scan is finished. To cancel the operation at anytime, in the toolbar, click Stop [image].

After the device scan completes, SuperScan displays a new virtual folder with the name "SuperScan" and a date and time stamp. The contents of this folder is displayed in the right panel. You may treat this new folder and its contents the same way that you treat other device nodes in the list. You may follow the same steps to scan the folder, then search for files and folders to be recovered.

Filtering SuperScan results

After you complete a SuperScan, you may find hundreds of partitions. Partitions may have been created and then deleted. If you have virtual VMware workstation profiles (from VMware, Inc.), these files also contain partition information. To reduce the amount of work, you may use a filter so that you are working with a smaller set of data. After the SuperScan, all types of data are displayed. When you change the settings in the filter dialog box, you can display only selected types of data.

To filter SuperScan results:

  1. After running SuperScan, select the device node virtual folder with the name SuperScan [date time stamp].
  2. Right-click the device node. From the context menu choose Filter... The Filter Found Partitions dialog box appears.

  3. To select the types of file systems to display, in the Display File Systems area, clear the check box beside the types that you do not want to display. Only the selected types of file systems data will be displayed.
  4. To display only those partitions within a specified size limit, in the Partition Size area, indicate the minimum and maximum sized partitions in MegaBytes. Only those partitions within the specified range will be displayed.
  5. To use basic filtering parameters, in the Filter Type area, click Use Basic Filtering.
  6. To select displayed partitions based on partition status, in the Basic Filtering [Partition Status] area, clear the check box next to each partition status number that you do not want to display. Only the selected status ratings will be displayed.
  7. To use advanced filtering parameters, in the Filter Type area, click Use Advanced Filtering.
  8. To restrict displayed results for NTFS-specific parameters, in the Advanced Filtering [NTFS specific] area, select the check box beside all the types of data that you want to display.
  9. To restrict displayed results for FAT-specific parameters, in the Advanced Filtering [FAT specific] area, select the check box beside all the types of data that you want to display.
  10. Click Filter.

The right panel displays the filtered results.

Searching SuperScan results to find files and folders

If, as a result of your SuperScan you find a large number of partitions, you may want to use a filtered search to help you locate specific files or folders. There are options in the search dialog box that allow you to make the search go faster. For example, you may want to restrict the search so that only deleted files and folders appear in the results. By choosing a smaller group of files to search for, you may be able to locate a specific file or folder faster.

To search for files or folders:

  1. To open the Advanced Search dialog box, select the SuperScan virtual folder and do one of the following:
    • Click Search in the toolbar.
    • Right-click the folder and choose Search from the context menu.

  2. To find a file by name, enter the file name in the Find what field. Advanced Search will search for files that match the name. You may enter part of the file name and use an asterisk (*) to represent the rest of the name.
  3. To find a file in a specified location, choose a location in the Find where drop-down list.
  4. To search by file type, choose a file type from the File type drop-down list.
  5. To exclude deleted files and folders from the search results, clear the Include deleted files and folders check box.
  6. To exclude existing files and folders from the search results, clear the Include non-deleted files and folder check box.
  7. To use case sensitive search, clear the Case insensitive search check box.
  8. To search for a file based on a date, select the Created, Modified or Accessed [Deleted] check boxes and enter a From and To date range.
  9. To search for a file based on the size of the file, select the Size check box and enter a From and To size range.
  10. Click Find.

Advanced Search creates a new virtual folder with the name "Search" and a date and time stamp. The contents of this folder are displayed in the right panel. You may treat this new folder and its contents the same way that you treat other device nodes in the list. You may follow the same steps to scan the folder, then search for files and folders to be recovered.

Important

When you are using a search pattern in Advanced Search, it is the same pattern recognized when searching in Microsoft Windows.
The asterisk symbol (*) in the pattern means that at this place can be zero or any number of any symbols.

Examples:

    *          - All files on the drive or in the folder
    *.TXT      - All files with "TXT" extension
    My*.*      - All files starting with "My"
    MyFile.txt - Search for the file named "MyFile.txt"

Saving SuperScan Results

Depending on the size of the drive that you are scanning, it can take a long time to scan partitions. On large or damaged drives, it can take days. If you have to exit Active@ File Recovery for any reason, it would take a long time to scan the partition again. So that you don't lose the information that you have scanned, you may save the SuperScan results to a file. When you open Active@ File Recovery, opening the saved results file takes much less time.

If you decide to stop the SuperScan process, it is easy to continue scanning from the point that you stopped. After SuperScan has stopped, you may save the SuperScan virtual folder results, exit and re-start the application, open SuperScan results and resume SuperScan from the last point. To continue scanning, select the SuperScan virtual folder and click SuperScan on the toolbar.

To save SuperScan results

  1. In the Local System Devices list, select the SuperScan virtual folder and do one of the following:
    • Right-click the device node. From the context menu click Save Scan Results...
    • From the File menu, choose Save Scan Results...
  2. In the Save Scan Results dialog box, type a path or browse to a folder where the scan results file is to be stored.
  3. Click Save.

To open SuperScan results

  1. In the Local System Devices list, select the device for which SuperScan was performed and do one of the following:
    • Right-click the device node. From the context menu click Open Scan Results...
    • From the File menu, choose Open Scan Results...
  2. In the Open Scan Results dialog box, browse to the file where you saved the scan results file.
  3. Click Open.

Note

After you run a SuperScan, you may find a virtual folder named Unlinked Files. This folder contains file data that was detected based on templates of commonly used file types (JPG, BMP, etc...). Files in this folder have been renamed because no file header was detected. If the file data is unfragmented, there is a good chance that you can recover the data in these files.


Active@ File Recovery: How to...

Searching for Deleted Files and Folders

Search for files or folders after you have scanned the hard drive partitions.

To locate specific files and folders:

  1. In Windows, check the Recycle Bin to see if the deleted file or folder is there. If it is, use the standard Windows Restore command to recover your data from there. If you cannot find the file or folder you are looking for in the Recycle Bin, continue with step 2.
  2. Open Active@ File Recovery.
  3. If you know exactly where the deleted files or folders are located, you can use the drive scan procedure. After the drive has been scanned, manually navigate to the folder path the same way as you would in Windows Explorer. If you cannot find the file or folder, open a tree node named ! Lost & Found ! If the parent folder of the deleted file or folder has been deleted as well, it is very likely the deleted item will be placed in this virtual folder. If you are still unable to locate your data, proceed to the next step.
  4. To display only existing files in the scan results, right-click the device node and choose Show Existing Only from the context menu. To display only deleted files in the scan results, right-click the device node and choose Show Deleted Only from the context menu.

  5. If you are not certain where the deleted file or folder was located before it was deleted, try the Search mode. Select a drive or folder and click Search [image] on the toolbar, or right-click the drive or folder and choose Search in the context menu. Do the following in the Advanced Search dialog box:
    1. To find a file by name, enter the file name in the Find what field. Advanced Search will search for files that match the name. You may enter part of the file name and use an asterisk (*) to represent the rest of the name.
    2. To find a file in a specified location, choose a location in the Find where drop-down list.
    3. To search by file type, choose a file type from the File type drop-down list.
    4. To exclude deleted files and folders from the search results, clear the Include deleted files and folders check box.
    5. To exclude existing files and folders from the search results, clear the Include non-deleted files and folder check box.
    6. To use case sensitive search, clear the Case insensitive search check box.
    7. To search for a file based on a date, select the Created, Modified or Accessed [Deleted] check boxes and enter a From and To date range.
    8. To search for a file based on the size of the file, select the Size check box and enter a From and To size range.
    9. Click Find.

  6. After the search is complete, examine the Search Results virtual folder.
  7. If no files were found, use the SuperScan method to thoroughly scan the drive's surface.

If you have completed of all the steps listed above and your files and folders still cannot be found, it is likely that the drive space formerly occupied by your files has been completely overwritten with other data. If this is the case, there are no recovery tools that can help you. This can happen when a lot of writing operations occur on the drive, for example during a software installation. As well, Windows operating system will sometimes create temporary files for different processes. If the process involves a lot of data and many temporary files are written, your deleted files may have been destroyed.

    Important

    When you are using a search pattern in Advanced Search, it is the same pattern recognized when searching in Microsoft Windows.
    The asterisk symbol (*) in the pattern means that at this place can be zero or any number of any symbols.

    Examples:

        *          - All files on the drive or in the folder
    *.TXT      - All files with "TXT" extension
    My*.*      - All files starting with "My"
    MyFile.txt - Search for the file named "MyFile.txt"

    Note

    You can distinguish deleted files and folders from existing files and folders by the icons:

    Files

    White icon shows an existing file.

    Grey icon shows a deleted file with a good chance of recovery.

    Black icon shows a deleted file with a poor chance of recovery because it may have been overwritten or partially overwritten on the disk.

    Folders

    Yellow icon shows an existing folder.

    White icon shows a deleted folder with a good chance of recovery.

    Black icon shows a deleted folder with a poor chance of recovery.

    Note

    Look in the ! Lost & Found ! virtual folder. If the parent folder of the deleted file or folder has been deleted as well, it is likely the deleted item will be placed in this virtual folder. If you do not see your files and folders in their original location - look at the files and folders in ! Lost & Found ! virtual folder.

    See Also

    Performing Extended Device Scan, Searching for Deleted Files and Folders


Active@ File Recovery: How to...

Preview File Contents (Recovery Status Check)

In order to recover files or folders, you must scan the drive or partition and then search for damaged or deleted files or folders. If you have found some damaged or deleted files and you are not sure whether or not a file is safe for recovery or you are not sure whether or not the file data has been overwritten on the drive, you may preview the contents of files with this feature.

For Preview mode to be available, File Preview component needs to be selected when you are installing the software. If File Preview has not been installed, Preview will be greyed out and inaccessible.

If the file data has been overwritten on the drive, it is not likely that the file can be previewed. If this is the case, you will see a warning message, and file will be previewed in Hex format.

If you plan to purchase the commercial version of Active@ File Recovery, you may want to preview file contents to help you determine whether or not the contents are valuable using the DEMO version of the software. If you can preview file contents, it is likely that you can recover the file.

Preview file contents using the built-in preview module works with the following image files:

  • *.bmp
  • *.wbmp
  • *.dib
  • *.gif
  • *.jpg
  • *.jpeg
  • *.pcx
  • *.ico
  • *.tif
  • *.tiff
  • *.png
  • *.wmf

Other document types can be previewed using an external viewer like Microsoft Word or using the built-in Hex/Text viewer. For example if you want to preview a file named MyDoc.DOC you must have an application installed that is able to open *.DOC files. The file will be rendered and previewed using this application. If you do NOT have an application installed that is able to open *.DOC files, the file will be previewed in the default built-in Hex/Text viewer.

Important

Avoid previewing large files! In order to preview a file's contents, the file needs to be recovered and placed in temporary storage. The built-in or external preview utility reads this temporary file. If you have enough RAM, the temporary file is kept in volatile memory. If you do not have enough RAM, a temporary file could be written onto the drive that contains damaged or deleted files and there is a chance that you may overwrite your original deleted data.

To preview file contents and check recovery status:

  1. In Active@ File Recovery, search for deleted files and folders and select the file.
  2. To run Preview, use one of the following methods:
    • Click Preview on the toolbar
    • Right-click the file, and choose Preview from the context menu.
  3. A Preview window appears with the first page of your document.

What did you think of this topic??


Active@ File Recovery: How to...

Restoring a Deleted File

You can distinguish deleted files and folders from existing files and folders by the icons:

Files

White icon shows an existing file.

Grey icon shows a deleted file with a good chance of recovery.

Black icon shows a deleted file with a poor chance of recovery because it may have been overwritten or partially overwritten on the disk.

Folders

Yellow icon shows an existing folder.

White icon shows a deleted folder with a good chance of recovery.

Black icon shows a deleted folder with a poor chance of recovery.

Important

For the safety reasons, Active@ File Recovery warns you if you are trying to write the restored file back onto the same drive. When you write a file to the same drive that contains deleted or damaged data, you may overwrite data that belongs to other deleted files or folders, or you may overwrite part of the same file that you are trying to recover. Always restore files to another logical removable, floppy or network drive.

To restore a deleted file:

  1. In Active@ File Recovery, search for deleted files and select the file.
  2. To open the Recovery Options dialog box, use one of the following methods:
    • Click Recover on the toolbar
    • Right-click the file, and then choose Recover from the context menu
    • Drag and Drop the selected file to another logical drive

  3. To give the file a name, you may use the file name that appears in the Name field or you may type a different name.
  4. To recover the file to a specified location, in the Recover To field, you may type a different path or click the ellipsis button (...) and browse to a recovery folder location.
  5. Click Recover.

After the recovery process is complete, make sure that the results are correct by verifying the contents of files and subfolders. In some cases, a file cannot be reliably restored because its contents or a part of it has been overwritten.

See Also

Restoring a Deleted Folder


Active@ File Recovery: How to...

Restoring a Deleted Folder

You can distinguish deleted files and folders from existing files and folders by the icons:

Files

White icon shows an existing file.

Grey icon shows a deleted file with a good chance of recovery.

Black icon shows a deleted file with a poor chance of recovery because it may have been overwritten or partially overwritten on the disk.

Folders

Yellow icon shows an existing folder.

White icon shows a deleted folder with a good chance of recovery.

Black icon shows a deleted folder with a poor chance of recovery.

Important

For the safety reasons, Active@ File Recovery warns you if you are trying to write the restored folder back onto the same drive. When you write a folder to the same drive that contains deleted or damaged data, you may overwrite data that belong to other deleted files or folders, or you may overwrite part of the same folder that you are trying to recover. Always restore folders to another logical removable, floppy or network drive.

To restore a deleted folder:

  1. In Active@ File Recovery, search for deleted folders and select the folder.
  2. To open the Recovery Options dialog box, use one of the following methods:
    • Click Recover on the toolbar
    • Right-click the folder, and then choose Recover from the context menu
    • Drag and Drop the selected folder to another logical drive

  3. To give the folder a name, you may use the folder name that appears in the Name field or you may type a different name.
  4. To recover the folder to a specified location, in the Recover To field, you may type a different path or click the ellipsis button (...) and browse to a recovery folder location.
  5. Click Recover.

After the recovery process is complete, make sure that the results are correct by verifying the contents of files and subfolders. In some cases, a folder cannot be reliably restored because its contents or a part of it has been overwritten.

See Also

Restoring a Deleted File


Active@ File Recovery: How to...

Virtually Reassemble Deleted or Damaged RAID

There are many reasons for a Redundant Array of Independent Disks (RAID) system to fail (RAID controller failures, software RAID emulator errors, etc.). Active@ File Recovery provides an easy way to assemble array disks together and make damaged or deleted data accessible.

You can combine together a disk that was previously used as a part of a RAID system in a temporal (virtual) disk array. With this virtual configuration, you are able to perform all drive file recovery manipulations as though it is regular drive.

It is important that you specify the parameters of the RAID system that you know existed before the fault so that you can virtually reassemble the same system.

It is also important to list the disks in the correct order when making a virtual disk array. In most cases, the correct order is unknown. The only way to discover the correct order is to try all available combinations until you reach the one that works. If you are dealing with only two disks, it is simple. You have only two ways to arrange the order. If there are three disks, you must try a maximum of six combinations. If there are four disks, 24 combinations, and so on...

Each time you try a combination, write down the order you are trying, click OK and check the results by trying to access and scan the newly-created virtual RAID that is added to the list of Local System Devices. If you don't see your data or if there was an error during virtual array creation, mark this one as a failure and try another order of disks in array.

To virtually reassemble a RAID system:

  1. To open RAID Reassembly dialog box, do one of the following:
    • Click RAID [image] on the toolbar
    • In the Tools menu, choose RAID...

  2. To choose a supported RAID type, in the Virtual Volume Type area, choose one of the following:
    • Stripe Array (RAID-0) - Data located in stripes (blocks of size 32KB, 64KB, 128KB, etc.) distributed between two or more drives
    • Mirror Array (RAID-1) - Data on two disks is identical - provides complete data duplication (or mirroring)
    • RAID-5 Array - Data located in stripes distributed between two or more drives with parity control
    • Span Array - Data located contiguously on one disk then on another disk, and so on...
  3. To select disks from a list to create a virtual disk array:
    1. In the Available Disks list, select a disk name.
    2. To add it to the Selected Disks list, click Add.
    3. Repeat steps a. and b. for every disk in the original array. If one of the disks is physically damaged and not accessible, and if you have selected RAID-0 or RAID-5 in step 2, from the Available Disks list add Damaged Device instead of the named damaged disk.
    4. To change the order of disks in the Selected Disks list, select a disk name and click Up or Down to change its position in the list.
  4. To indicate the size of the stripe block, in the Options area, type the size of the block in kilobytes in the Stripe Block (RAID0 and RAID5) field. This is applicable only to RAID-0 and RAID-5 arrays. Standard values are 32Kb, 64Kb, 128Kb, 256Kb. If you are not sure, try each size until you get the correct one.
  5. To indicate the offset and the size of the device, measured in sectors (each sector is 512 bytes), in the Disk Area to Use in RAID in Sectors area, type the values in the Offset and Size fields. In most cases, the default values are acceptable. Some RAID controllers use only part of the disk surface. For example HighPoint 370 uses the first 100 sectors on the first drive for its own system information. In this case you would specify the offset as 100 sectors.
  6. Click OK.

In the Local System Devices list, a new Virtual Disk Array device node appears. You may treat this new node and its contents the same way that you treat other device nodes in the list. You may follow the same steps to scan the node, then search for files and folders to be recovered.

Note

When dealing with Span Arrays, you may get the size of a Damaged Disk a couple of ways:

  • Go to the hard drive manufacturer's web site and look for the model.
  • Look for the device geometry label on the top of the physical drive. If you find it (it is not always there) you can multiply the parameters C*H*S (Cylinders * Heads *Sectors per Track) to get the number of sectors. For example, Samsung SW0212A has the following: CYL 4092, HD 16, SEC 63, 2.1GB. Multiply 4,092*16*63 to get 4,124,736 sectors. To calculate the disk size, multiply 4,124,736*512 = 2,111,864,832bytes = 2.1GB. We just confirmed the size 2.1GB. The size is marked on drive label and that proves that our calculations are correct.

Note

When dealing with RAID5 Arrays, if the most frequently used Left Async type does not work for you, you may try some several different types of building array:

  • Left Synchronous
  • Right Synchronous
  • Right Asynchronous
  • Left Asynchronous (the most frequently used)

You may consult your RAID controller manufacturer to determine the proper RAID5 type being used in hardware.

See Also

Performing Extended Device Scan, Searching for Deleted Files and Folders


Active@ File Recovery: How to...

Creating a Disk Image

A Disk Image is a mirror copy of your entire logical drive or physical device stored as set of files. It may be a good idea to create a Disk Image for a drive containing deleted files that you want to recover, if you have enough space on another drive.

You might ask, "Why should I create a Disk Image on a drive that holds my deleted files?"

Here is the answer: If you do something wrong while attempting to recover the files (for example, recovering files onto the same drive could destroy their contents), you will be able to recover these deleted files and folders from the Disk Image that you have wisely created.

Disk Image consists of configuration file (with an extension .DIM) and set of files having extensions .000, .001, .002 ... Each file has a size of 2Gb because FAT16 and FAT32 file systems do not support file sizes larger than 2GB and 4GB respectively.

To create a Disk Image:

  1. Start Active@ File Recovery and select a drive or physical device that you want to create an image for.
  2. To open the Create Disk Image dialog box, do one of the following:
    • Click Create Image on the toolbar [image].
    • Right-click the selected item, and choose Create Image on the context menu.
  3. In the Save In drop-down list, select another physical device or to another logical drive.
  4. Browse to the folder where you want to save the Disk Image.
  5. To give the Disk Image file a different name, type one in the File Name field.
  6. Click Save.

Watch the progress and wait while drive's contents are copied to the new location. You may cancel the process of image creation anytime by clicking Stop.

Important

  • You must always create a Disk Image on a drive other than the source drive. Do not try to save a Disk Image of a drive onto itself.

See Also

Open and work with Disk Image


Active@ File Recovery: How to...

How to open and work with Disk Image

A Disk Image is a mirror copy of your entire logical drive or physical device stored as set of files. If you have enough space on another drive, it may be a good idea to create a Disk Image for a drive containing deleted files that you want to recover.

To open a Disk Image:

  1. Start Active@ File Recovery.
  2. To open the Open Disk Image dialog box, do one of the following:
    • Click Open Image on the toolbar
    • In the File menu, choose Open Image...
  3. Use the Look in drop-down list to navigate to the drive where you saved the Disk Image.
  4. Select an existing Disk Image (file with DIM extension created by Active@ File Recovery, or any other raw disk image file).
  5. Click Open.

The opened disk image appears in the Local System Devices list.

Another way to open a disk image is to locate the .DIM file directly and execute the Open Image command from the context menu.

You may treat the opened Disk Image folder and its contents the same way that you treat other device nodes in the list. You may follow the same steps to scan the folder, then search for files and folders to be recovered.

Note

If you've created raw disk image using other third-party utilities (like copying sectors from WinHex) you are still able to open it! Just choose Any Raw Image disk image type in the Open File standard dialog and you will see all files on the disk. Select the required one.

See Also

Creating a Disk Image


Overview of File Organizer

Active@ File Organizer: Overview

Active@ File Organizer Overview

The file organizer functions allow you to create folders based on information contained inside the file and outside the file system it is stored in, and move / copy the file to these folders.

Active@ File Organizer is useful when you detected and recovered files by signatures, but recovered files have abstract names. You can organize your files recovered by any recovery tool (not only File Recovery), as well as you can sort out your existing files.

The file organizer program is primarily used to open files of a chosen extension, look at data contained within that file, create a folder structure that matches the data contained within the file and move / copy the file to that folder.

Its primary function is to organize / rename files after a catastrophic data loss.

If the data loss was caused due to a total file system failure, even the best file recovery programs can only recover the files by signature. These programs use algorithms to determine the beginning, end and extension of a file without relying on data that used to be contained in the file system.

Typically these files will be recovered into a single folder with names like file0001.jpg, or file1234.mp3. This may leave you with several folders of recovered data bat the data within these folders will be difficult to use.

By using the file organizer, you can quickly and easily organize these files into folders that you can recognize and use your recovered files.

An example of the tremendous power of this data can be illustrated by the following scenario.

You had a total file system failure and had your files recovered by signature. You now have your data stored in folders containing tens of thousands of JPG files, and another folder with all your MP3 files, and another folder with all your M4A files.

These files have names like file3124.MP3 or file1556 M4A. By using the file organizer, you could select your folder containing all the MP3 files, select a base destination folder, choose your re-organizing options and run the program.

The MP3 files (or at least the ones that contain the relevant information) could be arranged as follows.

D:\recovered\MP3\File3124.MP3
may be renamed to something like:
D:\MP3\Bandname\year\album\songname.mp3

You can use the program to organize files using information stored in the file itself. The main screen allows you to do the following.

To choose an action (in this example organize JPG files using information contained within the file).

File Organizer. JPG files

In order to organize a file using the information stored within it, the file must obviously have the required information stored within it, and the information must be stored according to the standards of the file specification.

Just because a file has an extension of JPG or MP3, does not ensure it contains the information the program needs to extract in order to rename it. If this information is not present, the program will consider the file unrenamable. If the required option is chosen, the unrenamable files will be moved to a specific folder chosen to house all the files that are unrenamable.

The following types of picture files can be organized using information contained within the file.

Picture files (with embodied tiff information):

  • 3FR (Hasselblad 3F RAW Image)
  • ARW (Sony RAW image file)
  • CR2 (Canon Digital Camera Raw Image Format)
  • CRW (Canon Digital Camera Raw Image Format)
  • DCR (Kodak Digital Camera Raw Image File)
  • JPG (Joint Photographics Experts Group)
  • KDC (Kodak DC120 digital camera RAW image definition)
  • NEF (Nikon Digital SLR Camera Raw Image File)
  • ORF (Olympus Digital Camera Raw Image File)
  • RW2 (Panasonic Lumix RAW image file)
  • SR2 (Sony Digital Camera Raw Image File)
  • TIF/TIFF (Tagged Image File Format)
  • Picture files (other)
  • R3D (Red One)
  • Music files
  • MP3 (MPEG Layer 3)
  • M4A (MPEG-4 Audio)

Active@ File Organizer included in Professional and Enterprise versions of Active@ File Recovery software.

Read Active@ File Organizer Help on how to use it to organize your recovered files.


Active@ File Recovery: Concepts

Concepts

This section covers:

  • Understanding Hardware and Disk Organization
    • Hard Disk Drive Basics
    • Master Boot Record (MBR)
    • Partition Table
  • Understanding File System (FAT)
    • Partition Boot Sector
    • File Allocation Table (FAT)
    • Root Folder
    • Folder Structure
    • FAT32 Featrues
  • Understanding File System (NTFS)
    • NTFS Partition Boot Sector
    • NTFS Master File Table (MFT)
    • NTFS File Types
    • NTFS Data Integrity and Recoverability
  • Understanding File Recovery Process
    • Disk Scanning
    • Define clusters chain for the deleted entry
    • Clusters chain recovery
  • Understanding Partition Recovery Process
    • MBR is damaged
    • Partition is deleted or Partition Table is damaged
    • Partition Boot Sector is damaged
    • Missing or Corrupted System Files


Active@ File Recovery: Concepts

Understanding Hardware and Disk Organization

Here you can get some information about Hard Disk Drives (HDD) and low-level disk organization:
  • Hard Disk Drive Basics
  • Master Boot Record (MBR)
  • Partition Table


Active@ File Recovery: Concepts

Hard Disk Drive Basics

Each disk consists of platters, rings on each side of each platter called tracks, and sections within each track called sectors. A sector is the smallest physical storage unit on a disk, almost always 512 bytes in size.

The cylinder/head/sector notation scheme described in this section is slowly being eliminated. All new disks use some kind of translation factor to make their actual hardware layout appear as something else, mostly to work with MS-DOS and Windows 95.

Tracks and Cylinders

On hard disks, the data are stored on the disk in thin, concentric bands called tracks. There can be more than a thousand tracks on a 3½ inch hard disk. Tracks are a logical rather than physical structure, and are established when the disk is low-level formatted. Track numbers start at 0, and track 0 is the outermost track of the disk. The highest numbered track is next to the spindle. If the disk geometry is being translated, the highest numbered track would typically be 1023. Next figure shows track 0, a track in the middle of the disk, and track 1023.

A cylinder consists of the set of tracks that are at the same head position on the disk. In a figure below, cylinder 0 is the four tracks at the outermost edge of the sides of the platters. If the disk has 1024 cylinders (which would be numbered 0-1023), cylinder 1023 consists of all of the tracks at the innermost edge of each side.

Most disks used in personal computers today rotate at a constant angular velocity. The tracks near the outside of the disk are less densely populated with data than the tracks near the center of the disk. Thus, a fixed amount of data can be read in a constant period of time, even though the speed of the disk surface is faster on the tracks located further away from the center of the disk.

Modern disks reserve one side of one platter for track positioning information, which is written to the disk at the factory during disk assembly. It is not available to the operating system. The disk controller uses this information to fine tune the head locations when the heads move to another location on the disk. When a side contains the track position information, that side cannot be used for data. Thus, a disk assembly containing two platters has three sides that are available for data.

Sectors and Clusters

Each track is divided into sections called sectors. A sector is the smallest physical storage unit on the disk. The data size of a sector is always a power of two, and is almost always 512 bytes.

Each track has the same number of sectors, which means that the sectors are packed much closer together on tracks near the center of the disk. Next figure shows sectors on a track. You can see that sectors closer to the spindle are closer together than those on the outside edge of the disk. The disk controller uses the sector identification information stored in the area immediately before the data in the sector to determine where the sector itself begins.

As a file is written to the disk, the file system allocates the appropriate number of clusters to store the file's data. For example, if each cluster is 512 bytes and the file is 800 bytes, two clusters are allocated for the file. Later, if you update the file to, for example, twice its size (1600 bytes), another two clusters are allocated.

If contiguous clusters (clusters that are next to each other on the disk) are not available, the data are written elsewhere on the disk, and the file is considered to be fragmented. Fragmentation is a problem when the file system must search several different locations to find all the pieces of the file you want to read. The search causes a delay before the file is retrieved. A larger cluster size reduces the potential for fragmentation, but increases the likelihood that clusters will have unused space.

Using clusters larger than one sector reduces fragmentation, and reduces the amount of disk space needed to store the information about the used and unused areas on the disk.


Data Recovery: Concepts

Master Boot Record (MBR)

The Master Boot Record, created when you create the first partition on the hard disk, is probably the most important data structure on the disk. It is the first sector on every disk. The location is always track (cylinder) 0, side (head) 0, and sector 1.

The Master Boot Record contains the partition table for the disk and a small amount of executable code. On x86-based computers, the executable code examines the partition table, and identifies the system partition. The Master Boot Record then finds the system partition's starting location on the disk, and loads a copy of its partition boot sector into memory. The Master Boot Record then transfers execution to executable code in the partition boot sector.

Note

Although there is a Master Boot Record on every hard disk, the executable code in the sector is used only if the disk is connected to an x86-based computer and the disk contains the system partition.

The figure below shows a hex dump of the sector containing the Master Boot Record. The figure shows the sector in two parts. The first part is the Master Boot Record, which occupies the first 446 bytes of the sector. The disk signature (FD 4E F2 14) is at the end of the Master Boot Record code. The second part is the Partition Table.

Physical Sector: Cyl 0, Side 0, Sector 1
00000000: 00 33 C0 8E D0 BC 00 7C  - 8B F4 50 07 50 1F FB FC   .3.....|..P.P..
00000010: BF 00 06 B9 00 01 F2 A5  - EA 1D 06 00 00 BE BE 07   ................
00000020: B3 04 80 3C 80 74 0E 80  - 3C 00 75 1C 83 C6 10 FE   ...<.t..<.u.....
00000030: CB 75 EF CD 18 8B 14 8B  - 4C 02 8B EE 83 C6 10 FE   .u......L.......
00000040: CB 74 1A 80 3C 00 74 F4  - BE 8B 06 AC 3C 00 74 0B   .t..<.t.....<.t.
00000050: 56 BB 07 00 B4 0E CD 10  - 5E EB F0 EB FE BF 05 00   V.......^.......
00000060: BB 00 7C B8 01 02 57 CD  - 13 5F 73 0C 33 C0 CD 13   ..|...W.._s.3...
00000070: 4F 75 ED BE A3 06 EB D3  - BE C2 06 BF FE 7D 81 3D   Ou...........}.=
00000080: 55 AA 75 C7 8B F5 EA 00  - 7C 00 00 49 6E 76 61 6C   U.u.....|..Inval
00000090: 69 64 20 70 61 72 74 69  - 74 69 6F 6E 20 74 61 62   id partition tab
000000A0: 6C 65 00 45 72 72 6F 72  - 20 6C 6F 61 64 69 6E 67   le.Error loading
000000B0: 20 6F 70 65 72 61 74 69  - 6E 67 20 73 79 73 74 65    operating syste
000000C0: 6D 00 4D 69 73 73 69 6E  - 67 20 6F 70 65 72 61 74   m.Missing operat
000000D0: 69 6E 67 20 73 79 73 74  - 65 6D 00 00 80 45 14 15   ing system...E..
000000E0: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
000000F0: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000100: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000110: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000120: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000130: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000140: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000150: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000160: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000170: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000180: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
00000190: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
000001A0: 00 00 00 00 00 00 00 00  - 00 00 00 00 00 00 00 00   ................
000001B0: 00 00 00 00 00 00 00 00  - FD 4E F2 14 00 00         .........N......

                                                       80 01                 ..
000001C0: 01 00 06 0F 7F 96 3F 00  - 00 00 51 42 06 00 00 00   .....?...QB....
000001D0: 41 97 07 0F FF 2C 90 42  - 06 00 A0 3E 06 00 00 00   A....,.B...>....
000001E0: C1 2D 05 0F FF 92 30 81  - 0C 00 A0 91 01 00 00 00   .-....0.........
000001F0: C1 93 01 0F FF A6 D0 12  - 0E 00 C0 4E 00 00 55 AA   ...........N..U.

Viruses Can Infect the Master Boot Record

Many destructive viruses damage the Master Boot Record and make it impossible to start the computer from the hard disk. Because the code in the Master Boot Record executes before any operating system is started, no operating system can detect or recover from corruption of the Master Boot Record. You can use, for example, the DiskProbe program on Windows NT Workstation Resource Kit CD to display the Master Boot Record, and compare it to the Master Boot Record shown above. There are also utilities on the Microsoft Windows Resource Kits that enable you to save and restore the Master Boot Record.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

Partition Table

The information about primary partitions and an extended partition is contained in the Partition Table, a 64-byte data structure located in the same sector as the Master Boot Record (cylinder 0, head 0, sector 1). The Partition Table conforms to a standard layout that is independent of the operating system. Each Partition Table entry is 16 bytes long, making a maximum of four entries available. Each entry starts at a predetermined offset from the beginning of the sector, as follows:

  • Partition 1 0x01BE (446)
  • Partition 2 0x01CE (462)
  • Partition 3 0x01DE (478)
  • Partition 4 0x01EE (494)

The last two bytes in the sector are a signature word for the sector and are always 0x55AA.

The next figure is a printout of the Partition Table for the disk shown in a figure earlier in this chapter. When there are fewer than four partitions, the remaining fields are all zeros.

                                                       80 01                 ..
000001C0: 01 00 06 0F 7F 96 3F 00  - 00 00 51 42 06 00 00 00   .....?...QB....
000001D0: 41 97 07 0F FF 2C 90 42  - 06 00 A0 3E 06 00 00 00   A....,.B...>....
000001E0: C1 2D 05 0F FF 92 30 81  - 0C 00 A0 91 01 00 00 00   .-....0.........
000001F0: C1 93 01 0F FF A6 D0 12  - 0E 00 C0 4E 00 00 55 AA   ...........N..U.

The following table describes each entry in the Partition Table. The sample values correspond to the information for partition 1.

Partition Table Fields

Byte Offset | Field Length | Sample Value | Meaning
00 | BYTE | 0x80 | Boot Indicator. Indicates whether the partition is the system partition. Legal values are: 00 = Do not use for booting. 80 = System partition.
01 | BYTE | 0x01 | Starting Head.
02 | 6 bits | 0x01 | Starting Sector. Only bits 0-5 are used. Bits 6-7 are the upper two bits for the Starting Cylinder field.
03 | 10 bits | 0x00 | Starting Cylinder. This field contains the lower 8 bits of the cylinder value. Starting cylinder is thus a 10-bit number, with a maximum value of 1023.
04 | BYTE | 0x06 | System ID. This byte defines the volume type. In Windows NT, it also indicates that a partition is part of a volume that requires the use of the HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry subkey.
05 | BYTE | 0x0F | Ending Head.
06 | 6 bits | 0x3F | Ending Sector. Only bits 0-5 are used. Bits 6-7 are the upper two bits for the Ending Cylinder field.
07 | 10 bits | 0x196 | Ending Cylinder. This field contains the lower 8 bits of the cylinder value. Ending cylinder is thus a 10-bit number, with a maximum value of 1023.
08 | DWORD | 3F 00 00 00 | Relative Sector.
12 | DWORD | 51 42 06 00 | Total Sectors.

The remainder of this section describes the uses of these fields. Definitions of the fields in the Partition Table is the same for primary partitions, extended partitions, and logical drives in extended partitions.

Boot Indicator Field

The Boot Indicator field indicates whether the volume is the system partition. On x-86-based computers, only one primary partition on the disk should have this field set. This field is used only on x86-based computers. On RISC-based computers, the NVRAM contains the information for finding the files to load.

On x86-based computers, it is possible to have different operating systems and different file systems on different volumes. For example, a computer could have MS-DOS on the first primary partition and Windows 95, UNIX, OS/2, or Windows NT on the second. You control which primary partition (active partition in FDISK) to use to start the computer by setting the Boot Indicator field for that partition in the Partition Table.

System ID Field

For primary partitions and logical drives, the System ID field describes the file system used to format the volume. Windows NT uses this field to determine what file system device drivers to load during startup. It also identifies the extended partition, if there is one defined.

These are the values for the System ID field:

Value | Meaning
0x01 | 12-bit FAT primary partition or logical drive. The number of sectors in the volume is fewer than 32680.
0x04 | 16-bit FAT primary partition or logical drive. The number of sectors is between 32680 and 65535.
0x05 | Extended partition. See section titled "Logical Drives and Extended Partitions," presented later in this chapter, for more information.
0x06 | BIGDOS FAT primary partition or logical drive.
0x07 | NTFS primary partition or logical drive.

Figure presented earlier in this section, has examples of a BIGDOS FAT partition, an NTFS partition, an extended partition, and a 12-bit FAT partition.

If you install Windows NT on a computer that has Windows 95 preinstalled, the FAT partitions might be shown as unknown. If you want to be able to use these partitions when running Windows NT, your only option is to delete the partitions.

OEM versions of Windows 95 support the following four partition types for FAT file systems that Windows NT cannot recognize.

Value | Meaning
0x0B | Primary Fat32 partition, using interrupt 13 (INT 13) extensions.
0x0C | Extended Fat32 partition, using INT 13 extensions.
0x0E | Extended Fat16 partition, using INT 13 extensions.
0x0F | Primary Fat16 partition, using INT 13 extensions.

When you create a volume set or a stripe set, Disk Administrator sets the high bit of the System ID field for each primary partition or logical drive that is a member of the volume. For example, a FAT primary partition or logical drive that is a member of a volume set or a stripe set has a System ID value of 0x86. An NTFS primary partition or logical drive has a System ID value of 0x87. This bit indicates that Windows NT needs to use the HKEY_LOCAL_MACHINE\SYSTEM\DISK Registry subkey to determine how the members of the volume set or stripe set relate to each other. Volumes that have the high bit set can only be accessed by Windows NT.

When a primary partition or logical drive that is a member of a volume set or a stripe set has failed due to write errors or cannot be accessed, the second most significant bit is set. The System ID byte is set to C6 in the case of a FAT volume, or C7 in the case of an NTFS volume.

Note

If you start up MS-DOS, it can only access primary partitions or logical drives that have a value of 0x01, 0x04, 0x05, or 0x06 for the System ID. However, you should be able to delete volumes that have the other values. If you use a MS-DOS-based low-level disk editor, you can read and write any sector, including ones that are in NTFS volumes.

On Windows NT Server, mirror sets and stripe sets with parity also require the use of the Registry subkey HKEY_LOCAL_MACHINE\SYSTEM\DISK to determine how to access the disks.

Starting and Ending Head, Sector, and Cylinder Fields

On x86-based computers, the Starting and Ending Head, Cylinder, and Sector fields on the startup disk are very important for starting up the computer. The code in the Master Boot Record uses these fields to find and load the Partition Boot Sector.

The Ending Cylinder field in the Partition Table is ten bits long, which limits the maximum number of cylinders that can be described in the Partition Table to 1024. The Starting and Ending Head fields are one byte long, which limits this field to the range 0 – 255. The Starting and Ending Sector field is 6 bits long, limiting its range to 0 – 63. However, sectors start counting at 1 (versus 0 for the other fields), so the maximum number of sectors per track is 63.

Since current hard disks are low-level formatted with the industry standard 512-byte sector size, the maximum capacity disk that can be described by the Partition Table can be calculated as follows:

MaxCapacity = (sector size) x (sectors per track) x (cylinders) x (heads)

Substituting the maximum possible values yields:

512 x 63 x 1024 x 256 = 8,455,716,864 bytes or 7.8 GB

The maximum formatted capacity is slightly less than 8 GB.

However, the maximum cluster size that you can use for FAT volumes when running Windows NT is 64K, when using a 512 byte sector size. Therefore, the maximum size for a FAT volume is 4 GB.

If you have a dual-boot configuration with Windows 95 or MS-DOS, FAT volumes that might be accessed when using either of those operating systems are limited to 2 GB. In addition, Macintosh computers that are viewing volumes on a computer running Windows NT cannot see more than 2 GB. If you try to use a FAT volume larger than 2 GB when running MS-DOS or Windows 95, or access it from a Macintosh computer, you might get a message that there are 0 bytes available. The same limit applies to OS/2 system and boot partitions.

The maximum size of a FAT volume on a specific computer depends on the disk geometry, and the maximum values that can fit in the fields described in this section. The next table shows the typical size of a FAT volume when translation is enabled, and when it is disabled. The number of cylinders in both situations is 1024.

Translation mode | Number of heads | Sectors per track | Maximum size for system or boot partition
Disabled | 64 | 32 | 1 GB
Enabled | 255 | 63 | 4 GB

Note

RISC-based computers do not have a limit on the size of the system or boot partitions.

If a primary partition or logical drive extends beyond cylinder 1023, all of these fields will contain the maximum values.

Relative Sectors and Number of Sectors Fields

For primary partitions, the Relative Sectors field represents the offset from the beginning of the disk to the beginning of the partition, counting by sectors. The Number of Sectors field represents the total number of sectors in the partition. For a description of these fields in extended partitions, see the section Logical Drives and Extended Partitions.

Windows NT uses these fields to access all partitions. When you format a partition when running Windows NT, it puts data into the Starting and Ending Cylinder, Head, and Sector fields only for backward compatibility with MS-DOS and Windows 95, and to maintain compatibility with the BIOS interrupt (INT) 13 for startup purposes.

Logical Drives and Extended Partitions

When more than four logical disks are required on a single physical disk, the first partition should be a primary partition. The second partition can be created as an extended partition, which can contain all the remaining unpartitioned space on the disk.

Note

A primary partition is one that can be used as the system partition. If the disk does not contain a system partition, you can configure the entire disk as a single, extended partition.

Some computers create an EISA configuration partition as the first partition on the hard disk.

Windows NT detects an extended partition because the System ID byte in the Partition Table entry is set to 5. There can be only one extended partition on a hard disk.

Within the extended partition, you can create any number of logical drives. As a practical matter, the number of available drive letters is the limiting factor in the number of logical drives that you can define.

When you have an extended partition on the hard disk, the entry for that partition in the Partition Table (at the end of the Master Boot Record) points to the first disk sector in the extended partition. The first sector of each logical drive in an extended partition also has a Partition Table, which is the last 66 bytes of the sector. (The last two bytes of the sector are the end-of-sector marker.)

These are the entries in an extended Partition Table:

  • The first entry is for the current logical drive.
  • The second entry contains information about the next logical drive in the extended partition.
  • Entries three and four are all zeroes.

This format repeats for every logical drive. The last logical drive has only its own partition entry listed. The entries for partitions 2-4 are all zeroes.

The Partition Table entry is the only information on the first side of the first cylinder of each logical drive in the extended partition. The entry for partition 1 in each Partition Table contains the starting address for data on the current logical drive. And the entry for partition 2 is the address of the sector that contains the Partition Table for the next logical drive.

The use of the Relative Sector and Total Sectors fields for logical drives in an extended partition is different than for primary partitions. For the partition 1 entry of each logical drive, the Relative Sectors field is the sector from the beginning of the logical drive that contains the Partition Boot Sector. The Total Sectors field is the number of sectors from the Partition Boot Sector to the end of the logical drive.

For the partition 2 entry, the Relative Sectors field is the offset from the beginning of the extended partition to the sector containing the Partition Table for the logical drive defined in the Partition 2 entry. The Total Sectors field is the total size of the logical drive defined in the Partition 2 entry.

Note

If a logical drive is part of a volume set, the Partition Boot Sector is at the beginning of the first member of the volume set. Other members of the volume set have data where the Partition Boot Sector would normally be located.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

Understanding File System (FAT)

The FAT file system is a simple file system originally designed for small disks and simple folder structures. The FAT file system is named for its method of organization, the file allocation table, which resides at the beginning of the volume. To protect the volume, two copies of the table are kept, in case one becomes damaged. In addition, the file allocation tables and the root folder must be stored in a fixed location so that the files needed to start the system can be correctly located.

A volume formatted with the FAT file system is allocated in clusters. The default cluster size is determined by the size of the volume. For the FAT file system, the cluster number must fit in 16 bits and must be a power of two.

Structure of a FAT Volume

Next figure illustrates how the FAT file system organizes a volume.

See the next sections for more information about FAT:

  • FAT Partition Boot Sector
  • FAT File Allocation Table
  • FAT Root Folder
  • FAT Folder Structure
  • FAT32 Features

Differences between FAT12, FAT16, FAT32

  • FAT12 file system contains 1.5 bytes per cluster within the file allocation table.
  • FAT16 file system contains 2 bytes per cluster within the file allocation table.
  • FAT32 file system includes 4 bytes per cluster within the file allocation table.
System | Cluster limit
FAT12 | The count of data clusters is less than 4087 clusters.
FAT16 | The count of data clusters is between 4087 and 65526 clusters, inclusive.
FAT32 | The count of data clusters is between 65526 and 268,435,456 clusters, inclusive.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

FAT Partition Boot Sector

The Partition Boot Sector contains information that the file system uses to access the volume. On x86-based computers, the Master Boot Record use the Partition Boot Sector on the system partition to load the operating system kernel files.

Next table describes the fields in the Partition Boot Sector for a volume formatted with the FAT file system.

Byte Offset (in hex) | Field Length | Sample Value | Meaning
00 | 3 bytes | EB 3C 90 | Jump instruction
03 | 8 bytes | MSDOS5.0 | OEM Name in text
0B | 25 bytes |  | BIOS Parameter Block
24 | 26 bytes |  | Extended BIOS Parameter Block
3E | 448 bytes |  | Bootstrap code
1FE | 2 bytes | 0x55AA | End of sector marker

BIOS Parameter Block and Extended BIOS Parameter Block Fields

Byte Offset | Field Length | Sample Value | Meaning
0x0B | WORD | 0x0002 | Bytes per Sector. The size of a hardware sector. For most disks in use in the United States, the value of this field is 512.
0x0D | BYTE | 0x08 | Sectors Per Cluster. The number of sectors in a cluster. The default cluster size for a volume depends on the volume size and the file system.
0x0E | WORD | 0x0100 | Reserved Sectors. The number of sectors from the Partition Boot Sector to the start of the first file allocation table, including the Partition Boot Sector. The minimum value is 1. If the value is greater than 1, it means that the bootstrap code is too long to fit completely in the Partition Boot Sector.
0x10 | BYTE | 0x02 | Number of file allocation tables (FATs). The number of copies of the file allocation table on the volume. Typically, the value of this field is 2.
0x11 | WORD | 0x0002 | Root Entries. The total number of file name entries that can be stored in the root folder of the volume. One entry is always used as a Volume Label. Files with long filenames use up multiple entries per file. Therefore, the largest number of files in the root folder is typically 511, but you will run out of entries sooner if you use long filenames.
0x13 | WORD | 0x0000 | Small Sectors. The number of sectors on the volume if the number fits in 16 bits (65535). For volumes larger than 65536 sectors, this field has a value of 0 and the Large Sectors field is used instead.
0x15 | BYTE | 0xF8 | Media Type. Provides information about the media being used. A value of 0xF8 indicates a hard disk.
0x16 | WORD | 0xC900 | Sectors per file allocation table (FAT). Number of sectors occupied by each of the file allocation tables on the volume. By using this information, together with the Number of FATs and Reserved Sectors, you can compute where the root folder begins. By using the number of entries in the root folder, you can also compute where the user data area of the volume begins.
0x18 | WORD | 0x3F00 | Sectors per Track. The apparent disk geometry in use when the disk was low-level formatted.
0x1A | WORD | 0x1000 | Number of Heads. The apparent disk geometry in use when the disk was low-level formatted.
0x1C | DWORD | 3F 00 00 00 | Hidden Sectors. Same as the Relative Sector field in the Partition Table.
0x20 | DWORD | 51 42 06 00 | Large Sectors. If the Small Sectors field is zero, this field contains the total number of sectors in the volume. If Small Sectors is nonzero, this field contains zero..
0x24 | BYTE | 0x80 | Physical Disk Number. This is related to the BIOS physical disk number. Floppy drives are numbered starting with 0x00 for the A disk. Physical hard disks are numbered starting with 0x80. The value is typically 0x80 for hard disks, regardless of how many physical disk drives exist, because the value is only relevant if the device is the startup disk.
0x25 | BYTE | 0x00 | Current Head. Not used by the FAT file system.
0x26 | BYTE | 0x29 | Signature. Must be either 0x28 or 0x29 in order to be recognized by Windows NT.
0x27 | 4 bytes | CE 13 46 30 | Volume Serial Number. A unique number that is created when you format the volume.
0x2B | 11 bytes | NO NAME | Volume Label. This field was used to store the volume label, but the volume label is now stored as special file in the root directory.
0x36 | 8 bytes | FAT16 | System ID. Either FAT12 or FAT16, depending on the format of the disk.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

FAT File Allocation Table

The FAT file system is named for its method of organization, the file allocation table, which resides at the beginning of the volume. To protect the volume, two copies of the table are kept, in case one becomes damaged. In addition, the file allocation tables must be stored in a fixed location so that the files needed to start the system can be correctly located.

The file allocation table contains the following types of information about each cluster on the volume (see example below for FAT16):

  • Unused (0x0000)
  • Cluster in use by a file
  • Bad cluster (0xFFF7)
  • Last cluster in a file (0xFFF8-0xFFFF)

There is no organization to the FAT folder structure, and files are given the first available location on the volume. The starting cluster number is the address of the first cluster used by the file. Each cluster contains a pointer to the next cluster in the file, or an indication (0xFFFF) that this cluster is the end of the file. These links and end of file indicators are shown below.

Example of File Allocation Table

This illustration shows three files. The file File1.txt is a file that is large enough to use three clusters. The second file, File2.txt, is a fragmented file that also requires three clusters. A small file, File3.txt, fits completely in one cluster. In each case, the folder entry (see folder entry for details) points to the first cluster of the file.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

FAT Root Folder

The root folder contains an entry for each file and folder on the root. The only difference between the root folder and other folders is that the root folder is on a specified location on the disk and has a fixed size (512 entries for a hard disk, number of entries on a floppy disk depends on the size of the disk).

See Folders Structure topic for details about folder organization.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

FAT Folder Structure

Folders have set of 32-byte Folder Entries for each file and subfolder contained in the folder (see example figure below).
The Folder Entry includes the following information:

  • Name (eight-plus-three characters)
  • Attribute byte (8 bits worth of information, described later in this section)
  • Create time (24 bits)
  • Create date (16 bits)
  • Last access date (16 bits)
  • Last modified time (16 bits)
  • Last modified date (16 bits.)
  • Starting cluster number in the file allocation table (16 bits)
  • File size (32 bits)

There is no organization to the FAT folder structure, and files are given the first available location on the volume. The starting cluster number is the address of the first cluster used by the file. Each cluster contains a pointer to the next cluster in the file, or an indication (0xFFFF) that this cluster is the end of the file. See File Allocation Table for details.

The information in the folder is used by all operating systems that support the FAT file system. In addition, Windows NT can store additional time stamps in a FAT folder entry. These time stamps show when the file was created or last accessed and are used principally by POSIX applications.

Because all entries in a folder are the same size, the attribute byte for each entry in a folder describes what kind of entry it is. One bit indicates that the entry is for a subfolder, while another bit marks the entry as a volume label. Normally, only the operating system controls the settings of these bits.

A FAT file has four attributes bits that can be turned on or off by the user — archive file, system file, hidden file, and read-only file.

Filenames on FAT Volumes

Beginning with Windows NT 3.5, files created or renamed on FAT volumes use the attribute bits to support long filenames in a way that does not interfere with how MS-DOS or OS/2 accesses the volume. Whenever a user creates a file with a long filename, Windows creates an eight-plus-three name for the file. In addition to this conventional entry, Windows creates one or more secondary folder entries for the file, one for each 13 characters in the long filename. Each of these secondary folder entries stores a corresponding part of the long filename in Unicode. Windows sets the volume, read-only, system, and hidden file attribute bits of the secondary folder entry to mark it as part of a long filename. MS-DOS and OS/2 generally ignore folder entries with all four of these attribute bits set, so these entries are effectively invisible to these operating systems. Instead, MS-DOS and OS/2 access the file by using the conventional eight-plus-three filename contained in the folder entry for the file.

Example of Folder Entries for the long filename

Figure below shows all of the folder entries for the file Thequi~1.fox, which has a long name of The quick brown.fox. The long name is in Unicode, so each character in the name uses two bytes in the folder entry. The attribute field for the long name entries has the value 0x0F. The attribute field for the short name is 0x20.

Note

Windows NT/2000/XP and Windows 95/98/ME use the same algorithm to create long and short filenames. On computers that dual-boot these two operating systems, files that you create when running one of the operating systems can be accessed when running the other.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

FAT32 features

The following topics describe the FAT32 file system.

  • File System Specifications
  • Boot Sector and Bootstrap Modifications
  • FAT Mirroring
  • Partition Types

File System Specifications

FAT32 is a derivative of the File Allocation Table (FAT) file system that supports drives with over 2GB of storage. Because FAT32 drives can contain more than 65,526 clusters, smaller clusters are used than on large FAT16 drives. This method results in more efficient space allocation on the FAT32 drive.

The largest possible file for a FAT32 drive is 4GB minus 2 bytes.

The FAT32 file system includes four bytes per cluster within the file allocation table. Note that the high 4 bits of the 32-bit values in the FAT32 file allocation table are reserved and are not part of the cluster number.

Boot Sector and Bootstrap Modifications

Modifications | Description
Reserved Sectors | FAT32 drives contain more reserved sectors than FAT16 or FAT12 drives. The number of reserved sectors is usually 32, but can vary.
Boot Sector Modifications | Because a FAT32 BIOS Parameter Block (BPB), represented by the BPB structure, is larger than a standard BPB, the boot record on FAT32 drives is greater than 1 sector. In addition, there is a sector in the reserved area on FAT32 drives that contains values for the count of free clusters and the cluster number of the most recently allocated cluster. These values are members of the BIGFATBOOTFSINFO structure which is contained within this sector. These additional fields allow the system to initialize the values without having to read the entire file allocation table.
Root Directory | The root directory on a FAT32 drive is not stored in a fixed location as it is on FAT16 and FAT12 drives. On FAT32 drives, the root directory is an ordinary cluster chain. The A_BF_BPB_RootDirStrtClus member in the BPB structure contains the number of the first cluster in the root directory. This allows the root directory to grow as needed. In addition, the BPB_RootEntries member of BPB is ignored on a FAT32 drive.
Sectors Per FAT | The A_BF_BPB_SectorsPerFAT member of BPB is always zero on a FAT32 drive. Additionally, the A_BF_BPB_BigSectorsPerFat and A_BF_BPB_BigSectorsPerFatHi members of the updated BPB provide equivalent information for FAT32 media.

BPB (FAT32)

The BPB for FAT32 drives is an extended version of the FAT16/FAT12 BPB. It contains identical information to a standard BPB, but also includes several extra fields for FAT32 specific information.

This structure is implemented in Windows OEM Service Release 2 and later.

A_BF_BPB    STRUC
    A_BF_BPB_BytesPerSector       DW    ?
    A_BF_BPB_SectorsPerCluster    DB    ?
    A_BF_BPB_ReservedSectors      DW    ?
    A_BF_BPB_NumberOfFATs         DB    ?
    A_BF_BPB_RootEntries          DW    ?
    A_BF_BPB_TotalSectors         DW    ?
    A_BF_BPB_MediaDescriptor      DB    ?
    A_BF_BPB_SectorsPerFAT        DW    ?
    A_BF_BPB_SectorsPerTrack      DW    ?
    A_BF_BPB_Heads                DW    ?
    A_BF_BPB_HiddenSectors        DW    ?
    A_BF_BPB_HiddenSectorsHigh    DW    ?
    A_BF_BPB_BigTotalSectors      DW    ?
    A_BF_BPB_BigTotalSectorsHigh  DW    ?
    A_BF_BPB_BigSectorsPerFat     DW    ?
    A_BF_BPB_BigSectorsPerFatHi   DW    ?
    A_BF_BPB_ExtFlags             DW    ?
    A_BF_BPB_FS_Version           DW    ?
    A_BF_BPB_RootDirStrtClus      DW    ?
    A_BF_BPB_RootDirStrtClusHi    DW    ?
    A_BF_BPB_FSInfoSec            DW    ?
    A_BF_BPB_BkUpBootSec          DW    ?
    A_BF_BPB_Reserved             DW    6 DUP (?)
A_BF_BPB    ENDS

Members

A_BF_BPB_BytesPerSector
The number of bytes per sector.
A_BF_BPB_SectorsPerCluster
The number of sectors per cluster.
A_BF_BPB_ReservedSectors
The number of reserved sectors, beginning with sector 0.
A_BF_BPB_NumberOfFATs
The number of File Allocation Tables.
A_BF_BPB_RootEntries
This member is ignored on FAT32 drives.
A_BF_BPB_TotalSectors
The size of the partition, in sectors.
A_BF_BPB_MediaDescriptor
The media descriptor. Values in this member are identical to standard BPB.
A_BF_BPB_SectorsPerFAT
The number of sectors per FAT.

Note: This member will always be zero in a FAT32 BPB. Use the values from A_BF_BPB_BigSectorsPerFat and A_BF_BPB_BigSectorsPerFatHi for FAT32 media.

A_BF_BPB_SectorsPerTrack
The number of sectors per track.
A_BF_BPB_Heads
The number of read/write heads on the drive.
A_BF_BPB_HiddenSectors
The number of hidden sectors on the drive.
A_BF_BPB_HiddenSectorsHigh
The high word of the hidden sectors value.
A_BF_BPB_BigTotalSectors
The total number of sectors on the FAT32 drive.
A_BF_BPB_BigTotalSectorsHigh
The high word of the FAT32 total sectors value.
A_BF_BPB_BigSectorsPerFat
The number of sectors per FAT on the FAT32 drive.
A_BF_BPB_BigSectorsPerFatHi
The high word of the FAT32 sectors per FAT value.
A_BF_BPBExtFlags
Flags describing the drive. Bit 8 of this value indicates whether or not information written to the active FAT will be written to all copies of the FAT. The low 4 bits of this value contain the 0-based FAT number of the Active FAT, but are only meaningful if bit 8 is set. This member can contain a combination of the following values.
Value | Description
BGBPB_F_ActiveFATMsk (000Fh) | Mask for low four bits.
BGBPB_F_NoFATMirror (0080h) | Mask indicating FAT mirroring state. If set, FAT mirroring is disabled. If clear, FAT mirroring is enabled.

Bits 4-6 and 8-15 are reserved.

A_BF_BPB_FS_Version
The file system version number of the FAT32 drive. The high byte represents the major version, and the low byte represents the minor version.
A_BF_BPB_RootDirStrtClus
The cluster number of the first cluster in the FAT32 drive's root directory.
A_BF_BPB_RootDirStrtClusHi
The high word of the FAT32 starting cluster number.
A_BF_BPB_FSInfoSec
The sector number of the file system information sector. The file system info sector contains a BIGFATBOOTFSINFO structure. This member is set to 0FFFFh if there is no FSINFO sector. Otherwise, this value must be non-zero and less than the reserved sector count.
A_BF_BPB_BkUpBootSec
The sector number of the backup boot sector. This member is set to 0FFFFh if there is no backup boot sector. Otherwise, this value must be non-zero and less than the reserved sector count.
A_BF_BPB_Reserved
Reserved member.

BIGFATBOOTFSINFO (FAT32)

Contains information about the file system on a FAT32 volume. This structure is implemented in Windows OEM Service Release 2 and later.

BIGFATBOOTFSINFO STRUC
    bfFSInf_Sig               DD    ?
    bfFSInf_free_clus_cnt     DD    ?
    bfFSInf_next_free_clus    DD    ?
    bfFSInf_resvd             DD    3 DUP (?)
BIGFATBOOTFSINFO ENDS

Members

bfFSInf_Sig
The signature of the file system information sector. The value in this member is FSINFOSIG (0x61417272L).
bfFSInf_free_clus_cnt
The count of free clusters on the drive. Set to -1 when the count is unknown.
bfFSInf_next_free_clus
The cluster number of the cluster that was most recently allocated.
bfFSInf_resvd
Reserved member.

FAT Mirroring

On all FAT drives, there may be multiple copies of the FAT. If an error occurs reading the primary copy, the file system will attempt to read from the backup copies. On FAT16 and FAT12 drives, the first FAT is always the primary copy and any modifications will automatically be written to all copies. However, on FAT32 drives, FAT mirroring can be disabled and a FAT other than the first one can be the primary (or "active") copy of the FAT.

Mirroring is enabled by clearing bit 0x0080 in the extdpb_flags member of a FAT32 Drive Parameter Block (DPB) structure, DPB.

Mirroring | Description
When Enabled (bit 0x0080 clear) | With mirroring enabled, whenever a FAT sector is written, it will also be written to every other FAT. Also, a mirrored FAT sector can be read from any FAT. A FAT32 drive with multiple FATs will behave the same as FAT16 and FAT12 drives with multiple FATs. That is, the multiple FATs are backups of each other.
When Disabled (bit 0x0080 set) | With mirroring disabled, only one of the FATs is active. The active FAT is the one specified by bits 0 through 3 of the extdpb_flags member of DPB. The other FATs are ignored. Disabling mirroring allows better handling of a drive with a bad sector in one of the FATs. If a bad sector exists, access to the damaged FAT can be completely disabled. Then, a new FAT can be built in one of the inactive FATs and then made accessible by changing the active FAT value in extdpb_flags.

DPB (FAT32)

The DPB was extended to include FAT32 information. Changes are effective for Windows 95 OEM Service Release 2 and later.

DPB STRUC
    dpb_drive            DB    ?
    dpb_unit             DB    ?
    dpb_sector_size      DW    ?
    dpb_cluster_mask     DB    ?
    dpb_cluster_shift    DB    ?
    dpb_first_fat        DW    ?
    dpb_fat_count        DB    ?
    dpb_root_entries     DW    ?
    dpb_first_sector     DW    ?
    dpb_max_cluster      DW    ?
    dpb_fat_size         DW    ?
    dpb_dir_sector       DW    ?
    dpb_reserved2        DD    ?
    dpb_media            DB    ?
ifdef NOTFAT32
    dpb_first_access     DB    ?
else
    dpb_reserved         DB    ?
endif
    dpb_reserved3        DD    ?
    dpb_next_free        DW    ?
    dpb_free_cnt         DW    ?
ifndef NOTFAT32
    extdpb_free_cnt_hi   DW    ?
    extdpb_flags         DW    ?
    extdpb_FSInfoSec     DW    ?
    extdpb_BkUpBootSec   DW    ?
    extdpb_first_sector  DD    ?
    extdpb_max_cluster   DD    ?
    extdpb_fat_size      DD    ?
    extdpb_root_clus     DD    ?
    extdpb_next_free     DD    ?
endif
DPB ENDS

Members

dpb_drive
The drive number (0 = A, 1 = B, and so on).
dpb_unit
Specifies the unit number. The device driver uses the unit number to distinguish the specified drive from the other drives it supports.
dpb_sector_size
The size of each sector, in bytes.
dpb_cluster_mask
The number of sectors per cluster minus 1.
dpb_cluster_shift
The number of sectors per cluster, expressed as a power of 2.
dpb_first_fat
The sector number of the first sector containing the file allocation table (FAT).
dpb_fat_count
The number of FATs on the drive.
dpb_root_entries
The number of entries in the root directory.
dpb_first_sector
The sector number of the first sector in the first cluster.
dpb_max_cluster
The number of clusters on the drive plus 1. This member is undefined for FAT32 drives.
dpb_fat_size
The number of sectors occupied by each FAT. The value of zero indicates a FAT32 drive. Use the value in extdpb_fat_size instead.
dpb_dir_sector
The sector number of the first sector containing the root directory. This member is undefined for FAT32 drives.
dpb_reserved2
Reserved member. Do not use.
dpb_media
Specifies the media descriptor for the medium in the specified drive.
reserved
Reserved member. Do not use.
dpb_first_access
Indicates whether the medium in the drive has been accessed. This member is initialized to -1 to force a media check the first time this DPB is used.
dpb_reserved3
Reserved member. Do not use.
dpb_next_free
The cluster number of the most recently allocated cluster.
dpb_free_cnt
The number of free clusters on the medium. This member is 0FFFFh if the number is unknown.
extdpb_free_cnt_hi
The high word of free count.
extdpb_flags
Flags describing the drive. The low 4 bits of this value contain the 0-based FAT number of the Active FAT. This member can contain a combination of the following values.
Value | Description
BGBPB_F_ActiveFATMsk (000Fh) | Mask for low four bits.
BGBPB_F_NoFATMirror (0080h) | Do not mirror active FAT to inactive FATs.

Bits 4-6 and 8-15 are reserved.

extdpb_FSInfoSec
The sector number of the file system information sector. This member is set to 0FFFFh if there is no FSINFO sector. Otherwise, this value must be non-zero and less than the reserved sector count.
extdpb_BkUpBootSec
The sector number of the backup boot sector. This member is set to 0FFFFh if there is no backup boot sector. Otherwise, this value must be non-zero and less than the reserved sector count.
extdpb_first_sector
The first sector of the first cluster.
extdpb_max_cluster
The number of clusters on the drive plus 1.
extdpb_fat_size
The number of sectors occupied by the FAT.
extdpb_root_clus
The cluster number of the first cluster in the root directory.
extdpb_next_free
The number of the cluster that was most recently allocated.

Partition Types

The following are all the valid partition types and their corresponding values for use in the Part_FileSystem member of the s_partition structure.

Partition Types

Value | Description
PART_UNKNOWN (00h) | Unknown
PART_DOS2_FAT (01h) | 12-bit FAT
PART_DOS3_FAT (04h) | 16-bit FAT. Partitions smaller than 32MB.
PART_EXTENDED (05h) | Extended MS-DOS Partition
PART_DOS4_FAT (06h) | 16-bit FAT. Partitions larger than or equal to 32MB.
PART_DOS32 (0Bh) | 32-bit FAT. Partitions up to 2047GB.
PART_DOS32X (0Ch) | Same as PART_DOS32 (0Bh), but uses Logical Block Address Int 13h extensions.
PART_DOSX13 (0Eh) | Same as PART_DOS4_FAT (06h), but uses Logical Block Address Int 13h extensions.
PART_DOSX13X (0Fh) | Same as PART_EXTENDED (05h), but uses Logical Block Address Int 13h extensions.

s_partition (FAT32)

Note: Values for head and track are 0-based. Sector values are 1-based. This structure is implemented in Windows OEM Service Release 2 and later.

s_partition    STRUC
    Part_BootInd        DB    ?
    Part_FirstHead      DB    ?
    Part_FirstSector    DB    ?
    Part_FirstTrack     DB    ?
    Part_FileSystem     DB    ?
    Part_LastHead       DB    ?
    Part_LastSector     DB    ?
    Part_LastTrack      DB    ?
    Part_StartSector    DD    ?
    Part_NumSectors     DD    ?
s_partition    ENDS

Members

Part_BootInd
Specifies whether the partition is bootable or not. This value could be set to PART_BOOTABLE (80h), or PART_NON_BOOTABLE(00h). The first partition designated as PART_BOOTABLE is the boot partition. All others are not. Setting multiple partitions to PART_BOOTABLE will result in boot errors.
Part_FirstHead
The first head of this partition. This is a 0-based number representing the offset from the beginning of the disk. The partition includes this head.
Part_FirstSector
The first sector of this partition. This is a 1-based, 6-bit number representing the offset from the beginning of the disk. The partition includes this sector. Bits 0 through 5 specify the 6-bit value; bits 6 and 7 are used with the Part_FirstTrack member.
Part_FirstTrack
The first track of this partition. This is an inclusive 0-based, 10-bit number that represents the offset from the beginning of the disk. The high 2 bits of this value are specified by bits 6 and 7 of the Part_FirstSector member.
PartFileSystem
Specifies the file system for the partition. The following are acceptable values:
Value | Description
PART_UNKNOWN(00h) | Unknown.
PART_DOS2_FAT(01h) | 12-bit FAT.
PART_DOS3_FAT(04h) | 16-bit FAT. Partition smaller than 32MB.
PART_EXTENDED(05h) | Extended MS-DOS Partition.
PART_DOS4_FAT(06h) | 16-bit FAT. Partition larger than or equal to 32MB.
PART_DOS32(0Bh) | 32-bit FAT. Partition up to 2047GB.
PART_DOS32X(0Ch) | Same as PART_DOS32(0Bh), but uses Logical Block Address Int 13h extensions.
PART_DOSX13(0Eh) | Same as PART_DOS4_FAT(06h), but uses Logical Block Address Int 13h extensions.
PART_DOSX13X(0Fh) | Same as PART_EXTENDED(05h), but uses Logical Block Address Int 13h extensions.
Part_LastHead
The last head of the partition. This is a 0-based number that represents the offset from the beginning of the disk. The partition includes the head specified by this member.
Part_LastSector
The last sector of this partition. This is a 1-based, 6-bit number representing offset from the beginning of the disk. The partition includes the sector specified by this member. Bits 0 through 5 specify the 6-bit value; bits 6 and 7 are used with the Part_LastTrack member.
Part_LastTrack
The last track of this partition. This is a 0-based, 10-bit number that represents offset from the beginning of the disk. The partition includes this track. The high 2 bits of this value are specified by bits 6 and 7 of the Part_LastSector member.
Part_StartSector
Specifies the 1-based number of the first sector on the disk. This value may not be accurate for extended partitions. Use the Part_FirstSector value for extended partitions.
Part_NumSectors
The 1-based number of sectors in the partition.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

Understanding File System (NTFS)

The Windows NT file system (NTFS) provides a combination of performance, reliability, and compatibility not found in the FAT file system. It is designed to quickly perform standard file operations such as read, write, and search — and even advanced operations such as file-system recovery — on very large hard disks.

Formatting a volume with the NTFS file system results in the creation of several system files and the Master File Table (MFT), which contains information about all the files and folders on the NTFS volume.

The first information on an NTFS volume is the Partition Boot Sector, which starts at sector 0 and can be up to 16 sectors long. The first file on an NTFS volume is the Master File Table (MFT).

The following figure illustrates the layout of an NTFS volume when formatting has finished.

See the next sections for more information about NTFS:

  • NTFS Partition Boot Sector
  • NTFS Master File Table (MFT)
  • NTFS File Types
  • NTFS Data Integrity and Recoverability

The NTFS file system includes security features required for file servers and high-end personal computers in a corporate environment. The NTFS file system also supports data access control and ownership privileges that are important for the integrity of critical data. While folders shared on a Windows NT computer are assigned particular permissions, NTFS files and folders can have permissions assigned whether they are shared or not. NTFS is the only file system on Windows NT that allows you to assign permissions to individual files.

The NTFS file system has a simple, yet very powerful design. Basically, everything on the volume is a file and everything in a file is an attribute, from the data attribute, to the security attribute, to the file name attribute. Every sector on an NTFS volume that is allocated belongs to some file. Even the file system metadata (information that describes the file system itself) is part of a file.

What's New in NTFS5 (Windows 2000)

  • Encryption The Encrypting File System (EFS) provides the core file encryption technology used to store encrypted files on NTFS volumes. EFS keeps files safe from intruders who might gain unauthorized physical access to sensitive, stored data (for example, by stealing a portable computer or external disk drive).
  • Disk quotas Windows 2000 supports disk quotas for NTFS volumes. You can use disk quotas to monitor and limit disk-space use.
  • Reparse points Reparse points are new file system objects in NTFS that can be applied to NTFS files or folders. A file or folder that contains a reparse point acquires additional behavior not present in the underlying file system. Reparse points are used by many of the new storage features in Windows 2000, including volume mount points.
  • Volume mount points Volume mount points are new to NTFS. Based on reparse points, volume mount points allow administrators to graft access to the root of one local volume onto the folder structure of another local volume.
  • Sparse files Sparse files allow programs to create very large files but consume disk space only as needed.
  • Distributed link tracking NTFS provides a link-tracking service that maintains the integrity of shortcuts to files as well as OLE links within compound documents.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

NTFS Partition Boot Sector

Next table describes the boot sector of a volume formatted with NTFS. When you format an NTFS volume, the format program allocates the first 16 sectors for the boot sector and the bootstrap code.

Byte Offset | Field Length | Field Name
0x00 | 3 bytes | Jump Instruction
0x03 | LONGLONG | OEM ID
0x0B | 25 bytes | BPB
0x24 | 48 bytes | Extended BPB
0x54 | 426 bytes | Bootstrap Code
0x01FE | WORD | End of Sector Marker

On NTFS volumes, the data fields that follow the BPB form an extended BPB. The data in these fields enables Ntldr (NT loader program) to find the master file table (MFT) during startup. On NTFS volumes, the MFT is not located in a predefined sector, as on FAT16 and FAT32 volumes. For this reason, the MFT can be moved if there is a bad sector in its normal location. However, if the data is corrupted, the MFT cannot be located, and Windows NT/2000 assumes that the volume has not been formatted.

The following example illustrates the boot sector of an NTFS volume formatted while running Windows 2000. The printout is formatted in three sections:

  • Bytes 0x00– 0x0A are the jump instruction and the OEM ID (shown in bold print).
  • Bytes 0x0B–0x53 are the BPB and the extended BPB.
  • The remaining code is the bootstrap code and the end of sector marker (shown in bold print).
Physical Sector: Cyl 0, Side 1, Sector 1

00000000: EB 52 90 4E 54 46 53 20 - 20 20 20 00 02 08 00 00 .R.NTFS ........
00000010: 00 00 00 00 00 F8 00 00 - 3F 00 FF 00 3F 00 00 00 ........?...?...
00000020: 00 00 00 00 80 00 80 00 - 4A F5 7F 00 00 00 00 00 ........J.......
00000030: 04 00 00 00 00 00 00 00 - 54 FF 07 00 00 00 00 00 ........T.......
00000040: F6 00 00 00 01 00 00 00 - 14 A5 1B 74 C9 1B 74 1C ...........t..t.
00000050: 00 00 00 00 FA 33 C0 8E - D0 BC 00 7C FB B8 C0 07 .....3.....|....
00000060: 8E D8 E8 16 00 B8 00 0D - 8E C0 33 DB C6 06 0E 00 ..........3.....
00000070: 10 E8 53 00 68 00 0D 68 - 6A 02 CB 8A 16 24 00 B4 ..S.h..hj....$..
00000080: 08 CD 13 73 05 B9 FF FF - 8A F1 66 0F B6 C6 40 66 ...s......f...@f
00000090: 0F B6 D1 80 E2 3F F7 E2 - 86 CD C0 ED 06 41 66 0F .....?.......Af.
000000A0: B7 C9 66 F7 E1 66 A3 20 - 00 C3 B4 41 BB AA 55 8A ..f..f. ...A..U.
000000B0: 16 24 00 CD 13 72 0F 81 - FB 55 AA 75 09 F6 C1 01 .$...r...U.u....
000000C0: 74 04 FE 06 14 00 C3 66 - 60 1E 06 66 A1 10 00 66 t......f`..f...f
000000D0: 03 06 1C 00 66 3B 06 20 - 00 0F 82 3A 00 1E 66 6A ....f;. ...:..fj
000000E0: 00 66 50 06 53 66 68 10 - 00 01 00 80 3E 14 00 00 .fP.Sfh.....>...
000000F0: 0F 85 0C 00 E8 B3 FF 80 - 3E 14 00 00 0F 84 61 00 ........>.....a.
00000100: B4 42 8A 16 24 00 16 1F - 8B F4 CD 13 66 58 5B 07 .B..$......fX[..
00000110: 66 58 66 58 1F EB 2D 66 - 33 D2 66 0F B7 0E 18 00 fXfX.-f3.f......
00000120: 66 F7 F1 FE C2 8A CA 66 - 8B D0 66 C1 EA 10 F7 36 f......f..f....6
00000130: 1A 00 86 D6 8A 16 24 00 - 8A E8 C0 E4 06 0A CC B8 ......$.........
00000140: 01 02 CD 13 0F 82 19 00 - 8C C0 05 20 00 8E C0 66 ........... ...f
00000150: FF 06 10 00 FF 0E 0E 00 - 0F 85 6F FF 07 1F 66 61 ..........o...fa
00000160: C3 A0 F8 01 E8 09 00 A0 - FB 01 E8 03 00 FB EB FE ................
00000170: B4 01 8B F0 AC 3C 00 74 - 09 B4 0E BB 07 00 CD 10 .....<.t........
00000180: EB F2 C3 0D 0A 41 20 64 - 69 73 6B 20 72 65 61 64 .....A disk read
00000190: 20 65 72 72 6F 72 20 6F - 63 63 75 72 72 65 64 00  error occurred.
000001A0: 0D 0A 4E 54 4C 44 52 20 - 69 73 20 6D 69 73 73 69 ..NTLDR is missi
000001B0: 6E 67 00 0D 0A 4E 54 4C - 44 52 20 69 73 20 63 6F ng...NTLDR is co
000001C0: 6D 70 72 65 73 73 65 64 - 00 0D 0A 50 72 65 73 73 mpressed...Press
000001D0: 20 43 74 72 6C 2B 41 6C - 74 2B 44 65 6C 20 74 6F  Ctrl+Alt+Del to
000001E0: 20 72 65 73 74 61 72 74 - 0D 0A 00 00 00 00 00 00  restart........
000001F0: 00 00 00 00 00 00 00 00 - 83 A0 B3 C9 00 00 55 AA ..............U.

The following table describes the fields in the BPB and the extended BPB on NTFS volumes. The fields starting at 0x0B, 0x0D, 0x15, 0x18, 0x1A, and 0x1C match those on FAT16 and FAT32 volumes. The sample values correspond to the data in this example.

Byte Offset | Field Length | Sample Value | Field Name
0x0B | WORD | 0x0002 | Bytes Per Sector
0x0D | BYTE | 0x08 | Sectors Per Cluster
0x0E | WORD | 0x0000 | Reserved Sectors
0x10 | 3 BYTES | 0x000000 | always 0
0x13 | WORD | 0x0000 | not used by NTFS
0x15 | BYTE | 0xF8 | Media Descriptor
0x16 | WORD | 0x0000 | always 0
0x18 | WORD | 0x3F00 | Sectors Per Track
0x1A | WORD | 0xFF00 | Number Of Heads
0x1C | DWORD | 0x3F000000 | Hidden Sectors
0x20 | DWORD | 0x00000000 | not used by NTFS
0x24 | DWORD | 0x80008000 | not used by NTFS
0x28 | LONGLONG | 0x4AF57F0000000000 | Total Sectors
0x30 | LONGLONG | 0x0400000000000000 | Logical Cluster Number for the file $MFT
0x38 | LONGLONG | 0x54FF070000000000 | Logical Cluster Number for the file $MFTMirr
0x40 | DWORD | 0xF6000000 | Clusters Per File Record Segment
0x44 | DWORD | 0x01000000 | Clusters Per Index Block
0x48 | LONGLONG | 0x14A51B74C91B741C | Volume Serial Number
0x50 | DWORD | 0x00000000 | Checksum

Protecting the Boot Sector

Because a normally functioning system relies on the boot sector to access a volume, it is highly recommended that you run disk scanning tools such as Chkdsk regularly, as well as back up all of your data files to protect against data loss if you lose access to a volume.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

NTFS Master File Table (MFT)

Each file on an NTFS volume is represented by a record in a special file called the master file table (MFT). NTFS reserves the first 16 records of the table for special information. The first record of this table describes the master file table itself, followed by a MFT mirror record. If the first MFT record is corrupted, NTFS reads the second record to find the MFT mirror file, whose first record is identical to the first record of the MFT. The locations of the data segments for both the MFT and MFT mirror file are recorded in the boot sector. A duplicate of the boot sector is located at the logical center of the disk.

The third record of the MFT is the log file, used for file recovery. The log file is discussed in detail later in this chapter. The seventeenth and following records of the master file table are for each file and directory (also viewed as a file by NTFS) on the volume.

Next provides a simplified illustration of the MFT structure:

The master file table allocates a certain amount of space for each file record. The attributes of a file are written to the allocated space in the MFT. Small files and directories (typically 1500 bytes or smaller), such as the file illustrated in next figure, can entirely be contained within the master file table record.

MFT Record for a Small File or Directory:

This design makes file access very fast. Consider, for example, the FAT file system, which uses a file allocation table to list the names and addresses of each file. FAT directory entries contain an index into the file allocation table. When you want to view a file, FAT first reads the file allocation table and assures that it exists. Then FAT retrieves the file by searching the chain of allocation units assigned to the file. With NTFS, as soon as you look up the file, it's there for you to use.

Directory records are housed within the master file table just like file records. Instead of data, directories contain index information. Small directory records reside entirely within the MFT structure. Large directories are organized into B-trees, having records with pointers to external clusters containing directory entries that could not be contained within the MFT structure.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

NTFS File Types

  • NTFS File Attributes
  • NTFS System Files
  • NTFS Multiple Data Streams
  • NTFS Compressed Files
  • NTFS Encrypted Files
  • NTFS Sparse Files

NTFS File Attributes

The NTFS file system views each file (or folder) as a set of file attributes. Elements such as the file's name, its security information, and even its data, are all file attributes. Each attribute is identified by an attribute type code and, optionally, an attribute name.

When a file's attributes can fit within the MFT file record, they are called resident attributes. For example, information such as filename and time stamp are always included in the MFT file record. When all of the information for a file is too large to fit in the MFT file record, some of its attributes are nonresident. The nonresident attributes are allocated one or more clusters of disk space elsewhere in the volume. NTFS creates the Attribute List attribute to describe the location of all of the attribute records.

Next table lists all of the file attributes currently defined by the NTFS file system. This list is extensible, meaning that other file attributes can be defined in the future.

Attribute Type | Description
Standard Information | Includes information such as timestamp and link count.
Attribute List | Lists the location of all attribute records that do not fit in the MFT record.
File Name | A repeatable attribute for both long and short file names. The long name of the file can be up to 255 Unicode characters. The short name is the 8.3, case-insensitive name for the file. Additional names, or hard links, required by POSIX can be included as additional file name attributes.
Security Descriptor | Describes who owns the file and who can access it.
Data | Contains file data. NTFS allows multiple data attributes per file. Each file typically has one unnamed data attribute. A file can also have one or more named data attributes, each using a particular syntax.
Object ID | A volume-unique file identifier. Used by the distributed link tracking service. Not all files have object identifiers.
Logged Tool Stream | Similar to a data stream, but operations are logged to the NTFS log file just like NTFS metadata changes. This is used by EFS.
Reparse Point | Used for volume mount points. They are also used by Installable File System (IFS) filter drivers to mark certain files as special to that driver.
Index Root | Used to implement folders and other indexes.
Index Allocation | Used to implement folders and other indexes.
Bitmap | Used to implement folders and other indexes.
Volume Information | Used only in the $Volume system file. Contains the volume version.
Volume Name | Used only in the $Volume system file. Contains the volume label.

NTFS System Files

NTFS includes several system files, all of which are hidden from view on the NTFS volume. A system file is one used by the file system to store its metadata and to implement the file system. System files are placed on the volume by the Format utility.

Metadata Stored in the Master File Table

System File | File Name | MFT Record | Purpose of the File
Master file table | $Mft | 0 | Contains one base file record for each file and folder on an NTFS volume. If the allocation information for a file or folder is too large to fit within a single record, other file records are allocated as well.
Master file table 2 | $MftMirr | 1 | A duplicate image of the first four records of the MFT. This file guarantees access to the MFT in case of a single-sector failure.
Log file | $LogFile | 2 | Contains a list of transaction steps used for NTFS recoverability. Log file size depends on the volume size and can be as large as 4 MB. It is used by Windows NT/2000 to restore consistency to NTFS after a system failure.
Volume | $Volume | 3 | Contains information about the volume, such as the volume label and the volume version.
Attribute definitions | $AttrDef | 4 | A table of attribute names, numbers, and descriptions.
Root file name index | $ | 5 | The root folder.
Cluster bitmap | $Bitmap | 6 | A representation of the volume showing which clusters are in use.
Boot sector | $Boot | 7 | Includes the BPB used to mount the volume and additional bootstrap loader code used if the volume is bootable.
Bad cluster file | $BadClus | 8 | Contains bad clusters for the volume.
Security file | $Secure | 9 | Contains unique security descriptors for all files within a volume.
Upcase table | $Upcase | 10 | Converts lowercase characters to matching Unicode uppercase characters.
NTFS extension file | $Extend | 11 | Used for various optional extensions such as quotas, reparse point data, and object identifiers.
 |  | 12–15 | Reserved for future use.

NTFS Multiple Data Streams

NTFS supports multiple data streams, where the stream name identifies a new data attribute on the file. A handle can be opened to each data stream. A data stream, then, is a unique set of file attributes. Streams have separate opportunistic locks, file locks, and sizes, but common permissions.

This feature enables you to manage data as a single unit. The following is an example of an alternate stream:

myfile.dat:stream2

A library of files might exist where the files are defined as alternate streams, as in the following example:

library:file1
       :file2
       :file3

A file can be associated with more than one application at a time, such as Microsoft® Word and Microsoft® WordPad. For instance, a file structure like the following illustrates file association, but not multiple files:

program:source_file
       :doc_file
       :object_file
       :executable_file

To create an alternate data stream, at the command prompt, you can type commands such as:

echo text>program:source_file
more <program:source_file

Important

When you copy an NTFS file to a FAT volume, such as a floppy disk, data streams and other attributes not supported by FAT are lost.

NTFS Compressed Files

Windows NT/2000 supports compression on individual files, folders, and entire NTFS volumes. Files compressed on an NTFS volume can be read and written by any Windows-based application without first being decompressed by another program. Decompression occurs automatically when the file is read. The file is compressed again when it is closed or saved. Compressed files and folders have an attribute of C when viewed in Windows Explorer.

Only NTFS can read the compressed form of the data. When an application such as Microsoft® Word or an operating system command such as copy requests access to the file, the compression filter driver decompresses the file before making it available. For example, if you copy a compressed file from another Windows NT/2000–based computer to a compressed folder on your hard disk, the file is decompressed when read, copied, and then recompressed when saved.

This compression algorithm is similar to that used by the Windows 98 application DriveSpace 3, with one important difference — the limited functionality compresses the entire primary volume or logical volume. NTFS allows for the compression of an entire volume, of one or more folders within a volume, or even one or more files within a folder of an NTFS volume.

The compression algorithms in NTFS are designed to support cluster sizes of up to 4 KB. When the cluster size is greater than 4 KB on an NTFS volume, none of the NTFS compression functions are available.

Each NTFS data stream contains information that indicates whether any part of the stream is compressed. Individual compressed buffers are identified by “holes” following them in the information stored for that stream. If there is a hole, NTFS automatically decompresses the preceding buffer to fill the hole.

NTFS provides real-time access to a compressed file, decompressing the file when it is opened and compressing it when it is closed. When writing a compressed file, the system reserves disk space for the uncompressed size. The system gets back unused space as each individual compression buffer is compressed.

NTFS Encrypted Files (Windows 2000 only)

The Encrypting File System (EFS) provides the core file encryption technology used to store encrypted files on NTFS volumes. EFS keeps files safe from intruders who might gain unauthorized physical access to sensitive, stored data (for example, by stealing a portable computer or external disk drive).

EFS uses symmetric key encryption in conjunction with public key technology to protect files and ensure that only the owner of a file can access it. Users of EFS are issued a digital certificate with a public key and a private key pair. EFS uses the key set for the user who is logged on to the local computer where the private key is stored.

Users work with encrypted files and folders just as they do with any other files and folders. Encryption is transparent to the user who encrypted the file; the system automatically decrypts the file or folder when the user accesses. When the file is saved, encryption is reapplied. However, intruders who try to access the encrypted files or folders receive an "Access denied" message if they try to open, copy, move, or rename the encrypted file or folder.

To encrypt or decrypt a folder or file, set the encryption attribute for folders and files just as you set any other attribute. If you encrypt a folder, all files and subfolders created in the encrypted folder are automatically encrypted. It is recommended that you encrypt at the folder level.

NTFS Sparse Files (Windows 2000 only)

A sparse file has an attribute that causes the I/O subsystem to allocate only meaningful (nonzero) data. Nonzero data is allocated on disk, and non-meaningful data (large strings of data composed of zeros) is not. When a sparse file is read, allocated data is returned as it was stored; non-allocated data is returned, by default, as zeros.

NTFS deallocates sparse data streams and only maintains other data as allocated. When a program accesses a sparse file, the file system yields allocated data as actual data and deallocated data as zeros.

NTFS includes full sparse file support for both compressed and uncompressed files. NTFS handles read operations on sparse files by returning allocated data and sparse data. It is possible to read a sparse file as allocated data and a range of data without retrieving the entire data set, although NTFS returns the entire data set by default.

With the sparse file attribute set, the file system can deallocate data from anywhere in the file and, when an application calls, yield the zero data by range instead of storing and returning the actual data. File system application programming interfaces (APIs) allow for the file to be copied or backed as actual bits and sparse stream ranges. The net result is efficient file system storage and access. Next figure shows how data is stored with and without the sparse file attribute set.

Important

If you copy or move a sparse file to a FAT or a non-Windows 2000 NTFS volume, the file is built to its originally specified size. If the required space is not available, the operation does not complete.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

Data Integrity and Recoverability with NTFS

NTFS is a recoverable file system that guarantees the consistency of the volume by using standard transaction logging and recovery techniques. In the event of a disk failure, NTFS restores consistency by running a recovery procedure that accesses information stored in a log file. The NTFS recovery procedure is exact, guaranteeing that the volume is restored to a consistent state. Transaction logging requires a very small amount of overhead.

NTFS ensures the integrity of all NTFS volumes by automatically performing disk recovery operations the first time a program accesses an NTFS volume after the computer is restarted following a failure.

NTFS also uses a technique called cluster remapping to minimize the effects of a bad sector on an NTFS volume.

Important

If either the master boot record (MBR) or boot sector is corrupted, you might not be able to access data on the volume.

Recovering Data with NTFS

NTFS views each I/O operation that modifies a system file on the NTFS volume as a transaction, and manages each one as an integral unit. Once started, the transaction is either completed or, in the event of a disk failure, rolled back (such as when the NTFS volume is returned to the state it was in before the transaction was initiated).

To ensure that a transaction can be completed or rolled back, NTFS records the suboperations of a transaction in a log file before they are written to the disk. When a complete transaction is recorded in the log file, NTFS performs the suboperations of the transaction on the volume cache. After NTFS updates the cache, it commits the transaction by recording in the log file that the entire transaction is complete.

Once a transaction is committed, NTFS ensures that the entire transaction appears on the volume, even if the disk fails. During recovery operations, NTFS redoes each committed transaction found in the log file. Then NTFS locates the transactions in the log file that were not committed at the time of the system failure and undoes each transaction suboperation recorded in the log file. Incomplete modifications to the volume are prohibited.

NTFS uses the Log File service to log all redo and undo information for a transaction. NTFS uses the redo information to repeat the transaction. The undo information enables NTFS to undo transactions that are not complete or that have an error.

Important

NTFS uses transaction logging and recovery to guarantee that the volume structure is not corrupted. For this reason, all system files remain accessible after a system failure. However, user data can be lost because of a system failure or a bad sector.

Cluster Remapping

In the event of a bad-sector error, NTFS implements a recovery technique called cluster remapping. When Windows 2000 detects a bad-sector, NTFS dynamically remaps the cluster containing the bad sector and allocates a new cluster for the data. If the error occurred during a read, NTFS returns a read error to the calling program, and the data is lost. If the error occurs during a write, NTFS writes the data to the new cluster, and no data is lost.

NTFS puts the address of the cluster containing the bad sector in its bad cluster file so the bad sector is not reused.

Important

Cluster remapping is not a backup alternative. Once errors are detected, the disk should be monitored closely and replaced if the defect list grows. This type of error is displayed in the Event Log.

For more detailed information see resource kits on Microsoft's web site http://www.microsoft.com/windows/reskits/webresources/default.asp or Microsoft Developers Network (MSDN) http://msdn.microsoft.com


Data Recovery: Concepts

Understanding File Recovery Process

File recovery process can be briefly described as drive or folder scanning to find deleted entries in Root Folder (FAT) or Master File Table (NTFS) then for the particular deleted entry, defining clusters chain to be recovered and then copying contents of these clusters to the newly created file.

Different file systems maintain their own specific logical data structures, however basically each file system:

  • Has a list or catalog of file entries, so we can iterate through this list and entries, marked as deleted
  • Keeps for each entry a list of data clusters, so we can try to find out set of clusters composing the file

After finding out the proper file entry and assembling set of clusters, composing the file, read and copy these clusters to another location.

Step by Step with examples:

  • Disk Scanning
  • Define clusters chain for the deleted entry
  • Clusters chain recovery

However, not every deleted file can be recovered, there are some assumptions, for sure:

  • First, we assume that the file entry still exists (not overwritten with other data). The less the files have been created on the drive where the deleted file was resided, the more chances that space for the deleted file entry has not been used for other entries.
  • Second, we assume that the file entry is more or less safe to point to the proper place where file clusters are located. In some cases (it has been noticed in Windows XP, on large FAT32 volumes) operating system damages file entries right after deletion so that the first data cluster becomes invalid and further entry restoration is not possible.
  • Third, we assume that the file data clusters are safe (not overwritten with other data). The less the write operations have been performed on the drive where deleted file was resided, the more chances that the space occupied by data clusters of the deleted file has not been used for other data storage.

As general advices after data loss:

1. DO NOT WRITE ANYTHING ONTO THE DRIVE CONTAINING YOUR IMPORTANT DATA THAT YOU HAVE JUST DELETED ACCIDENTALLY! Even data recovery software installation could spoil your sensitive data. If the data is really important to you and you do not have another logical drive to install software to, take the whole hard drive out of the computer and plug it into another computer where data recovery software has been already installed or use recovery software that does not require installation, for example recovery software which is capable to run from bootable floppy.

2. DO NOT TRY TO SAVE ONTO THE SAME DRIVE DATA THAT YOU FOUND AND TRYING TO RECOVER! When saving recovered data onto the same drive where sensitive data is located, you can intrude in process of recovering by overwriting FAT/MFT records for this and other deleted entries. It's better to save data onto another logical, removable, network or floppy drive.


Data Recovery: Concepts

Disk scan for deleted entries

Disk Scanning is a process of low-level enumeration of all entries in the Root Folderson FAT12, FAT16, FAT32 or in Master File Table (MFT) on NTFS, NTFS5. The goal is to find and display deleted entries.

In spite of different file/folder entry structure for the different file systems, all of them contain basic file attributes like name, size, creation and modification date/time, file attributes, existing/deleted status, etc...

Given that a drive contains root file table and any file table (MFT, root folder of the drive, regular folder, or even deleted folder) has location, size and predefined structure, we can scan it from the beginning to the end checking each entry, if it's deleted or not and then display information for all found deleted entries.

Note

Deleted entries are marked differently depending on the file system. For example, in FAT any deleted entry, file or folder has been marked with ASCII symbol 229 (OxE5) that becomes first symbol of the entry. On NTFS deleted entry has a special attribute in file header that points whether the file has been deleted or not.

Example of scanning folder on FAT16:

1. Existing folder MyFolder entry (long entry and short entry)
0003EE20   41 4D 00 79 00 46 00 6F  00 6C 00 0F 00 09 64 00   AM.y.F.o.l....d.
0003EE30   65 00 72 00 00 00 FF FF  FF FF 00 00 FF FF FF FF   e.r...yyyy..yyyy
0003EE40   4D 59 46 4F 4C 44 45 52  20 20 20 10 00 4A C4 93   MYFOLDER   ..JA“
0003EE50   56 2B 56 2B 00 00 C5 93  56 2B 02 00 00 00 00 00   V+V+..A“V+......

2. Deleted file MyFile.txt entry (long entry and short entry)
0003EE60   E5 4D 00 79 00 46 00 69  00 6C 00 0F 00 BA 65 00   aM.y.F.i.l...?e.
0003EE70   2E 00 74 00 78 00 74 00  00 00 00 00 FF FF FF FF   ..t.x.t.....yyyy
0003EE80   E5 59 46 49 4C 45 20 20  54 58 54 20 00 C3 D6 93   aYFILE  TXT .AO“
0003EE90   56 2B 56 2B 00 00 EE 93  56 2B 03 00 33 B7 01 00   V+V+..i“V+..3·..

4. Existing file Setuplog.txt entry (the only short entry)
0003EEA0   53 45 54 55 50 4C 4F 47  54 58 54 20 18 8C F7 93   SETUPLOGTXT .??“
0003EEB0   56 2B 56 2B 00 00 03 14  47 2B 07 00 8D 33 03 00   V+V+....G+..?3..
0003EEC0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
0003EED0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

This folder contains 3 entries, one of them is deleted. First entry is an existing folder MyFolder. Second one is a deleted file MyFile.txt Third one is an existing file Setuplog.txt.

First symbol of the deleted file entry is marked with E5 symbol, so Disk Scanner can assume that this entry has been deleted.

Example of scanning folder on NTFS5 (Windows 2000):

For our drive we have input parameters:

  • Total Sectors 610406
  • Cluster size 512 bytes
  • One Sector per Cluster
  • MFT starts from offset 0x4000, non-fragmented
  • MFT record size 1024 bytes
  • MFT Size 1968 records

Thus we can iterate through all 1968 MFT records, starting from the absolute offset 0x4000 on the volume looking for the deleted entries. We are interested in MFT entry 57 having offset 0x4000 + 57 * 1024 = 74752 = 0x12400 because it contains our recently deleted file "My Presentation.ppt"

Below MFT record number 57 is displayed:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00012400   46 49 4C 45 2A 00 03 00  9C 74 21 03 00 00 00 00   FILE*...?t!.....
00012410   47 00 02 00 30 00 00 00  D8 01 00 00 00 04 00 00   G...0...O.......
00012420   00 00 00 00 00 00 00 00  05 00 03 00 00 00 00 00   ................
00012430   10 00 00 00 60 00 00 00  00 00 00 00 00 00 00 00   ....`...........
00012440   48 00 00 00 18 00 00 00  20 53 DD A3 18 F1 C1 01   H....... SY?.nA.
00012450   00 30 2B D8 48 E9 C0 01  C0 BF 20 A0 18 F1 C1 01   .0+OHeA.A?  .nA.
00012460   20 53 DD A3 18 F1 C1 01  20 00 00 00 00 00 00 00    SY?.nA. .......
00012470   00 00 00 00 00 00 00 00  00 00 00 00 02 01 00 00   ................
00012480   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00012490   30 00 00 00 78 00 00 00  00 00 00 00 00 00 03 00   0...x...........
000124A0   5A 00 00 00 18 00 01 00  05 00 00 00 00 00 05 00   Z...............
000124B0   20 53 DD A3 18 F1 C1 01  20 53 DD A3 18 F1 C1 01    SY?.nA. SY?.nA.
000124C0   20 53 DD A3 18 F1 C1 01  20 53 DD A3 18 F1 C1 01    SY?.nA. SY?.nA.
000124D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000124E0   20 00 00 00 00 00 00 00  0C 02 4D 00 59 00 50 00    .........M.Y.P.
000124F0   52 00 45 00 53 00 7E 00  31 00 2E 00 50 00 50 00   R.E.S.~.1...P.P.
00012500   54 00 69 00 6F 00 6E 00  30 00 00 00 80 00 00 00   T.i.o.n.0...ˆ...
00012510   00 00 00 00 00 00 02 00  68 00 00 00 18 00 01 00   ........h.......
00012520   05 00 00 00 00 00 05 00  20 53 DD A3 18 F1 C1 01   ........ SY?.nA.
00012530   20 53 DD A3 18 F1 C1 01  20 53 DD A3 18 F1 C1 01    SY?.nA. SY?.nA.
00012540   20 53 DD A3 18 F1 C1 01  00 00 00 00 00 00 00 00    SY?.nA.........
00012550   00 00 00 00 00 00 00 00  20 00 00 00 00 00 00 00   ........ .......
00012560   13 01 4D 00 79 00 20 00  50 00 72 00 65 00 73 00   ..M.y. .P.r.e.s.
00012570   65 00 6E 00 74 00 61 00  74 00 69 00 6F 00 6E 00   e.n.t.a.t.i.o.n.
00012580   2E 00 70 00 70 00 74 00  80 00 00 00 48 00 00 00   ..p.p.t.ˆ...H...
00012590   01 00 00 00 00 00 04 00  00 00 00 00 00 00 00 00   ................
000125A0   6D 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00   m.......@.......
000125B0   00 DC 00 00 00 00 00 00  00 DC 00 00 00 00 00 00   .U.......U......
000125C0   00 DC 00 00 00 00 00 00  31 6E EB C4 04 00 00 00   .U......1neA....
000125D0   FF FF FF FF 82 79 47 11  00 00 00 00 00 00 00 00   yyyy‚yG.........
000125E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000125F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 03 00   ................
...............
00012600   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................

MFT Record has pre-defined structure. It has a set of attributes defining any file of folder parameters.

MFT Record begins with standard File Record Header (first bold section, offset 0x00):

  • "FILE" identifier (4 bytes)
  • Offset to update sequence (2 bytes)
  • Size of update sequence (2 bytes)
  • $LogFile Sequence Number (LSN) (8 bytes)
  • Sequence Number (2 bytes)
  • Reference Count (2 bytes)
  • Offset to Update Sequence Array (2 bytes)
  • Flags (2 bytes)
  • Real size of the FILE record (4 bytes)
  • Allocated size of the FILE record (4 bytes)
  • File reference to the base FILE record (8 bytes)
  • Next Attribute Id (2 bytes)

The most important information for us in this block is a file state: deleted or in-use. If Flags(in red color) field has bit 1 set, it means that file is in-use. In our example it is zero, i.e. file is deleted.

Starting from 0x48, we have Standard Information Attribute (second bold section):

  • File Creation Time (8 bytes)
  • File Last Modification Time (8 bytes)
  • File Last Modification Time for File Record (8 bytes)
  • File Access Time for File Record (8 bytes)
  • DOS File Permissions (4 bytes) 0x20 in our case Archive Attribute

Following standard attribute header, we have File Name Attribute belonging to DOS name space, short file names, (third bold section, offset 0xA8) and again following standard attribute header, we have File Name Attribute belonging to Win32 name space, long file names, (third bold section, offset 0x120):

  • File Reference to the Parent Directory (8 bytes)
  • File Modification Times (32 bytes)
  • Allocated Size of the File (8 bytes)
  • Real Size of the File (8 bytes)
  • Flags (8 bytes)
  • Length of File Name (1 byte)
  • File Name Space (1 byte)
  • File Name (Length of File Name * 2 bytes)

In our case from this section we can extract file name, "My Presentation.ppt", File Creation and Modification times, and Parent Directory Record number.

Starting from offset 0x188, there is a non-resident Data attribute (green section).

  • Attribute Type (4 bytes) (e.g. 0x80)
  • Length including header (4 bytes)
  • Non-resident flag (1 byte)
  • Name length (1 byte)
  • Offset to the Name (2 bytes)
  • Flags (2 bytes)
  • Attribute Id (2 bytes)
  • Starting VCN (8 bytes)
  • Last VCN (8 bytes)
  • Offset to the Data Runs (2 bytes)
  • Compression Unit Size (2 bytes)
  • Padding (4 bytes)
  • Allocated size of the attribute (8 bytes)
  • Real size of the attribute (8 bytes)
  • Initialized data size of the stream (8 bytes)
  • Data Runs ...

In this section we are interested in Compression Unit size (zero in our case means non-compressed), Allocated and Real size of attribute that is equal to our file size (0xDC00 = 56320 bytes), and Data Runs (see the next topic).


Data Recovery: Concepts

Define clusters chain for the deleted entry

To define clusters chain we need to scan drive, going through one by one all file (NTFS) clusters or free (FAT) clusters belonging (presumably) to the file until we reach the file size equals to the total size of the selected clusters. If the file is fragmented, clusters chain will be composed of several extents in case of NTFS or we take clusters bypassing occupied ones in case of FAT.

Location of these clusters can vary depending on file system. For example, file deleted on FAT volume has its first cluster in its Root entry, the other clusters can be found in File Allocation Table. On NTFS each file has _DATA_ attribute that describes "data runs". Disassembling data runs to "extents" for each extent we have start cluster offset and number of clusters in extent, so enumerating extents, we can compose file's cluster chain.

You can try to define clusters chain manually, using low-level disk editors, however it's much simpler to use data recovery tools, like Active@ UNDELETE.

Example of defining clusters chain on FAT16

Lets continue examine an example for deleted file MyFile.txt from the previous topic.

The folder, we scanned before contains a record for this file:

0003EE60   E5 4D 00 79 00 46 00 69  00 6C 00 0F 00 BA 65 00   aM.y.F.i.l...?e.
0003EE70   2E 00 74 00 78 00 74 00  00 00 00 00 FF FF FF FF   ..t.x.t.....yyyy
0003EE80   E5 59 46 49 4C 45 20 20  54 58 54 20 00 C3 D6 93   aYFILE  TXT .AO“
0003EE90   56 2B 56 2B 00 00 EE 93  56 2B 03 00 33 B7 01 00   V+V+..i“V+..3·..

We can calculate size of the deleted file based on root entry structure. Last four bytes are 33 B7 01 00 and converting them to decimal value (changing bytes order), we get 112435 bytes. Previous 2 bytes (03 00) are the number of the first cluster of the deleted file. Repeating for them the conversion operation, we get number 03 - this is the start cluster of the file.

What we can see in the File Allocation Table at this moment?

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00000200   F8 FF FF FF FF FF 00 00  00 00 00 00 00 00 08 00   oyyyyy..........
00000210   09 00 0A 00 0B 00 0C 00  0D 00 FF FF 00 00 00 00   ..........yy....
00000220   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................

Zeros! And it is good in our case - it means that these clusters are free, i.e. most likely our file was not overwritten by other file's data. Now we have chain of clusters 3, 4, 5, 6 and ready to recover it.

Some explanations:

  • we started looking from offset 6 because each cluster entry in FAT16 takes 2 bytes, our file starts from 3rd cluster, i.e. 3*2=6.
  • we considered 4 clusters because cluster size on our drive is 32 Kb, our file size is 112, 435 bytes, i.e. 3clusters*32Kb = 96Kb plus a little bit more.
  • we assumed that this file was not fragmented, i.e. all clusters were located consecuently. We need 4 clusters, we found 4 free consecutive clusters, so this assumption sounds reasonable, although in real life it may be not true.

Note

There are a lot of cases where the file's data can not be successfully recovered, because clusters chain can not be defined. Most of them occur when you write another data (files, folders) on the same drive where deleted file located. You'll see these warnings while recovering data using, for example Active@ File Recovery.

Example of defining clusters chain on NTFS

When recovering on NTFS part of DATA attribute called Data Runs give us location about file clusters. In most cases DATA attribute is stored inside MFT record, so if we found MFT record for the deleted file, most likely we'll be able to determine cluster's chain.

In example below DATA attribute is marked with a green color. Data Runs inside, marked as Bold.

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00012580   2E 00 70 00 70 00 74 00  80 00 00 00 48 00 00 00   ..p.p.t.€...H...
00012590   01 00 00 00 00 00 04 00  00 00 00 00 00 00 00 00   ................
000125A0   6D 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00   m.......@.......
000125B0   00 DC 00 00 00 00 00 00  00 DC 00 00 00 00 00 00   .U.......U......
000125C0   00 DC 00 00 00 00 00 00  31 6E EB C4 04 00 00 00   .U......1neA....
000125D0   FF FF FF FF 82 79 47 11  00 00 00 00 00 00 00 00   yyyy‚yG.........

Data Runs need to be decrypted. First byte (0x31) shows how many bytes are allocated for the length of the run (0x1 in our case) and for the first cluster offset (0x3 in our case). Next, we take one byte (0x6E) that points to the length of the run. Next, we pick up 3 bytes pointing to the start cluster offset (0xEBC404). Changing bytes order we get first cluster of the file 312555 (equals 0x04C4EB). Starting from this cluster we need to pick up 110 clusters (equals 0x6E). Next byte (0x00) tells us that no more data runs exist. Our file is not fragmented, so we have the only one data run.

Lets check, isn't there enough information about the file data?
Cluster size is 512 bytes.
We have 110 clusters, 110*512 = 56320 bytes
Our file size was defined as 56320 bytes, so we have enough information now to recover the file clusters.

Important

1. DO NOT WRITE ANYTHING ONTO THE DRIVE CONTAINING YOUR IMPORTANT DATA THAT YOU HAVE JUST DELETED ACCIDENTALLY! Even data recovery software installation could spoil your sensitive data. If the data is really important to you, and you do not have another logical drive to install software to, take whole hard drive out of the computer and plug into another computer where data recovery software has been already installed.

2. DO NOT TRY TO SAVE ONTO THE SAME DRIVE DATA THAT YOU FOUND AND TRYING TO RECOVER! While saving recovered data onto the same drive where sensitive data was located, you can intrude in process of recovering by overwriting FAT records for this and other deleted entries. It's better to save data onto another logical, removable, network or floppy drive.


Data Recovery: Concepts

Clusters chain recovery for the deleted entry

After clusters chain is defined, automatically or manually, the only task left is to read and save contents of the defined clusters to another place verifying their contents.

We have a chain of clusters; we can calculate each cluster offset from the beginning of the drive, using standard formulas. After that we copy amount of data equals to the cluster size, starting from the calculated offset into the newly created file. For the last one we copy not all cluster, but reminder from the file size minus number of copied clusters multiplied by cluster size.

Formulas for calculating cluster offset could vary depending on file system.

To calculate, for example, offset of the cluster for FAT we need to know:

  • Boot sector size
  • Number of FAT supported copies
  • Size of one copy of FAT
  • Size of main root folder
  • Number of sectors per cluster
  • Number of bytes per sector

On the NTFS, we have linear space so we can calculate cluster offset simply as cluster number multiplied by cluster size.

Example of recovery clusters chain on FAT16

Lets continue examine an example for deleted file MyFile.txt from the previous topics.

By now we have chain of clusters 3, 4, 5, 6ready for recovering. Our cluster consists of 64 sectors, sector size is 512 bytes, so cluster size is: 64*512 = 32,768 bytes = 32 Kb First data sector is 535 (we have 1 boot sector, plus 2 copies of FAT by 251 sectors each, plus root folder 32 sectors, total 534 occupied by system data sectors). Clusters 0 and 1 do not exist, so first data cluster is 2. Cluster number 3 is next to cluster 2, i.e. is located 64 sectors behind the first data sector (535). i.e. 535 + 64 = 599 sector, equal offset of 306,668 byte from the beginning of the drive (0x4AE00).

With a help of low-level disk editor on the disk we can see our data starting with offset 0x4AE00, or 3 cluster, or 599 sector:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
0004AE00   47 55 49 20 6D 6F 64 65  20 53 65 74 75 70 20 68   GUI mode Setup h
0004AE10   61 73 20 73 74 61 72 74  65 64 2E 0D 0A 43 3A 5C   as started...C:\
0004AE20   57 49 4E 4E 54 5C 44 72  69 76 65 72 20 43 61 63   WINNT\Driver Cac

All we need to do is just copy 112,435 bytes starting from this place because clusters chain is consecutive. If it was not - we would need to re-calculate offset of each found cluster, and copy 3 times by 64*512 = 32768 bytes starting from each cluster offset, and then from the last cluster copy reminder: 14,131 bytes that is calculated as 112,435 bytes - (3 * 32768 bytes).

Example of recovery clusters chain on NTFS

In our example we just need to pick up 110 clusters starting from the cluster 312555.
Cluster size is 512 byte, so the offset of the first cluster would be 512 * 312555 = 160028160 = 0x0989D600

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

0989D600   D0 CF 11 E0 A1 B1 1A E1  00 00 00 00 00 00 00 00   ÐÏ.à¡±.á........
0989D610   00 00 00 00 00 00 00 00  3E 00 03 00 FE FF 09 00   ........>...þÿ..
0989D620   06 00 00 00 00 00 00 00  00 00 00 00 01 00 00 00   ................
0989D630   69 00 00 00 00 00 00 00  00 10 00 00 6B 00 00 00   i...........k...
0989D640   01 00 00 00 FE FF FF FF  00 00 00 00 6A 00 00 00   ....þÿÿÿ....j...
0989D650   FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

Here is our data. What's left to do is just reading from this point 110 clusters (56320 bytes) and then copy them to another location. Data recovery is complete now.

Important

DO NOT SAVE ONTO THE SAME DRIVE DATA THAT YOU FOUND AND TRYING TO RECOVER! While saving recovered data onto the same drive where sensitive data was located, you can intrude in process of recovering by overwriting FAT records for this and other deleted entries. It's better to save data onto another logical, removable, network or floppy drive.


Data Recovery: Concepts

Understanding Partition Recovery Process

System Boot Process

In some cases, the first indication of a problem with hard drive data is a refusal of the machine to perform a bootstrap startup. For the machine to be able to start properly, the following conditions must apply:

  • Master Boot Record (MBR) exists and is safe
  • Partition Table exists and contains at least one active partition

If the above is in place, executable code in the MBR selects an active partition and passes control there, so it can start loading the standard files (COMMAND.COM, NTLDR, ... ) depending on the file system type on that partition.

If these files are missing or corrupted it will be impossible for the OS to boot - if you have ever seen the famous "NTLDR is missing ..." error, you understand the situation.

When using Active@ File Recovery, the recovery software accesses the damaged drive at a low level, bypassing the standard system boot process (this is the same as if you instructed the computer to boot from another hard drive). Once the computer is running in this recovery environment, it will help you to see all other files and directories on the drive and allow you to copy data to a safe place on another drive.

Partition Visibility

A more serious situation exists if your computer will start and cannot see a drive partition or physical drive (see Note below). For the partition or physical drive to be visible to the Operating System the following conditions must apply:

  • Partition/Drive can be found via Partition Table
  • Partition/Drive boot sector is safe

If the above conditions are true, the OS can read the partition or physical drive parameters and display the drive in the list of the available drives.

If the file system is damaged (Root, FAT area on FAT12/FAT16/FAT32, or system MFT records on NTFS) the drive's content might not be displayed and we might see errors like "MFT is corrupted", or "Drive is invalid" ... If this is the case it is less likely that you will be able to restore your data. Do not despair, as there may be some tricks or tips to display some of the residual entries that are still safe, allowing you to recover your data to another location.

Partition recovery describes two things:

  1. Physical partition recovery. The goal is to identify the problem and write information to the proper place on the hard drive so that the partition becomes visible to the OS again. This can be done using manual Disk Editors along with proper guidelines or using recovery software, designed specifically for this purpose.

    Active@ Partition Recovery software implements this approach.

  2. Virtual partition recovery. The goal is to determine the critical parameters of the deleted/damaged/overwritten partition and render it open to scanning in order to display its content. This approach can be applied in some cases when physical partition recovery is not possible (for example, partition boot sector is dead) and is commonly used by recovery software. This process is almost impossible to implement it manually.

    Active@ File Recovery, Active@ UNERASER for DOS software both implement this approach.

Note

If your computer has two operating systems and you choose to start in Windows 95/98 or ME, these operating systems cannot see partitions that are formatted for NTFS. This is normal operation for these operating systems. To view NTFS partitions, you must be in a Windows NT/2000/XP environment.

Other Partition Recovery Topics

These topics related to the recovery of partitions apply to any file system:

  • MBR is damaged
  • Partition is deleted or Partition Table is damaged
  • Partition Boot Sector is damaged
  • Missing or Corrupted System Files

For these topics the following disk layout will be used:

The figure shows a system with two primary partitions (C:(NTFS) and H:(FAT)) and one extended partition having two logical drives (D: (FAT) and E:(NTFS))


Data Recovery: Concepts

MBR is damaged

The Master Boot Record (MBR) will be created when you create the first partition on the hard disk. It is very important data structure on the disk. The Master Boot Record contains the Partition Table for the disk and a small amount of executable code for the boot start. The location is always the first sector on the disk.

The first 446 (0x1BE) bytes are MBR itself, the next 64 bytes are the Partition Table, the last two bytes in the sector are a signature word for the sector and are always 0x55AA.

For our disk layout we have MBR:

Physical Sector: Cyl 0, Side 0, Sector 1
000000000   33 C0 8E D0 BC 00 7C FB  50 07 50 1F FC BE 1B 7C   3AZ??.|uP.P.u?.|
000000010   BF 1B 06 50 57 B9 E5 01  F3 A4 CB BE BE 07 B1 04   ?..PW?a.o¤E??.±.
000000020   38 2C 7C 09 75 15 83 C6  10 E2 F5 CD 18 8B 14 8B   8,|.u.??.aoI.‹.‹
000000030   EE 83 C6 10 49 74 16 38  2C 74 F6 BE 10 07 4E AC   i??.It.8,to?..N¬
000000040   3C 00 74 FA BB 07 00 B4  0E CD 10 EB F2 89 46 25   <.tu»..?.I.eo‰F%
000000050   96 8A 46 04 B4 06 3C 0E  74 11 B4 0B 3C 0C 74 05   –SF.?.<.t.?.<.t.
000000060   3A C4 75 2B 40 C6 46 25  06 75 24 BB AA 55 50 B4   :Au+@?F%.u$»?UP?
000000070   41 CD 13 58 72 16 81 FB  55 AA 75 10 F6 C1 01 74   AI.Xr.?uU?u.oA.t
000000080   0B 8A E0 88 56 24 C7 06  A1 06 EB 1E 88 66 04 BF   .Sa?V$C.?.e.?f.?
000000090   0A 00 B8 01 02 8B DC 33  C9 83 FF 05 7F 03 8B 4E   ..?..‹U3E?y..‹N
0000000A0   25 03 4E 02 CD 13 72 29  BE 46 07 81 3E FE 7D 55   %.N.I.r)?F.?>?}U
0000000B0   AA 74 5A 83 EF 05 7F DA  85 F6 75 83 BE 27 07 EB   ?tZ?i.U…ou??'.e
0000000C0   8A 98 91 52 99 03 46 08  13 56 0A E8 12 00 5A EB   S?‘R™.F..V.e..Ze
0000000D0   D5 4F 74 E4 33 C0 CD 13  EB B8 00 00 00 00 00 00   OOta3AI.e?......
0000000E0   56 33 F6 56 56 52 50 06  53 51 BE 10 00 56 8B F4   V3oVVRP.SQ?..V‹o
0000000F0   50 52 B8 00 42 8A 56 24  CD 13 5A 58 8D 64 10 72   PR?.BSV$I.ZX?d.r
000000100   0A 40 75 01 42 80 C7 02  E2 F7 F8 5E C3 EB 74 49   .@u.BˆC.a?o^AetI
000000110   6E 76 61 6C 69 64 20 70  61 72 74 69 74 69 6F 6E   nvalid partition
000000120   20 74 61 62 6C 65 00 45  72 72 6F 72 20 6C 6F 61    table.Error loa
000000130   64 69 6E 67 20 6F 70 65  72 61 74 69 6E 67 20 73   ding operating s
000000140   79 73 74 65 6D 00 4D 69  73 73 69 6E 67 20 6F 70   ystem.Missing op
000000150   65 72 61 74 69 6E 67 20  73 79 73 74 65 6D 00 00   erating system..
000000160   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000170   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000180   00 00 00 8B FC 1E 57 8B  F5 CB 00 00 00 00 00 00   ...‹u.W‹oE......
000000190   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
0000001A0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
0000001B0   00 00 00 00 00 00 00 00  A6 34 1F BA 00 00 80 01   ........¦4.?..ˆ.
0000001C0   01 00 07 FE 7F 3E 3F 00  00 00 40 32 4E 00 00 00   ...?>?...@2N...
0000001D0   41 3F 06 FE 7F 64 7F 32  4E 00 A6 50 09 00 00 00   A?.?d2N.¦P....
0000001E0   41 65 0F FE BF 4A 25 83  57 00 66 61 38 00 00 00   Ae.??J%?W.fa8...
0000001F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA   ..............U?

What will happen if the first sector has been damaged (by virus, for example)?

Lets overwrite the first 16 bytes with zeros.

000000000   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000010   BF 1B 06 50 57 B9 E5 01  F3 A4 CB BE BE 07 B1 04   ?..PW?a.o¤E??.±.

When we try to boot after hardware testing procedures, we see just blank screen without any messages. It means the piece of code at the beginning of the MBR could not be executed properly. That’s why even error messages could not be displayed. However, if we boot from the floppy, we can see FAT partition, files on it and we are able to perform standard operations like file copy, program execution... It happens because in our example only part of the MBR has been damaged which does not allow the system to boot properly. However, the partition table is safe and we can access our drives when we boot from the operating system installed on the other drive.

What will happen if sector signature (last word 0x55AA) has been removed or damaged?

Lets write zeros to the location of sector signature.

Physical Sector: Cyl 0, Side 0, Sector 1
0000001E0   41 65 0F FE BF 4A 25 83  57 00 66 61 38 00 00 00   Ae.??J%?W.fa8...
0000001F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................

When we try to boot now, we see an error message like "Operating System not found".

Thus the first thing if computer does not boot is to run Disk Viewer and check the first physical sector on HDD, whether it looks like valid MBR or not:

  • check, may be it's filled up with zeros or any other single character
  • check whether error messages (like you can see above "Invalid partition table"...) are present or not
  • check whether disk signature (0x55AA) is present or not

The simplest way to repair or re-create MBR is to run Microsoft's standard utility called FDISK with a parameter /MBR, like

    A:\> FDISK.EXE  /MBR

FDISK is a standard utility included in MS-DOS, Windows 95, 98, ME.

If you have Windows NT / 2000 / XP, you can boot from startup floppy disks or CD-ROM, choose repair option during setup, and run Recovery Console. When you are logged on, you can run FIXMBR command to fix MBR.

Also you can use third party MBR recovery software or if you've created MBR backup, restore it from there (Active@ Partition Recovery has such capabilities).

What will happen if the first sector is bad/unreadable?

Most likely we'll get the same black screen, which we got when trying to boot. When you try to read it using Disk Viewer/Editor you should get an error message saying that sector is unreadable. In this case recovery software is unable to help you to bring HDD back to the working condition, i.e. physical partition recovery is not possible. The only thing that can be done is to scan and search for partitions (i.e. perform virtual partition recovery), and in case if something is found - display them and give the user an opportunity to save important data to another location. Software, like Active@ File Recovery, Active@ UNERASER for DOS will help you here.


Data Recovery: Concepts

Partition is deleted or Partition Table is damaged

The information about primary partitions and extended partition is contained in the Partition Table, a 64-byte data structure, located in the same sector as the Master Boot Record (cylinder 0, head 0, sector 1). The Partition Table conforms to a standard layout, which is independent of the operating system. The last two bytes in the sector are a signature word for the sector and are always 0x55AA.

For our disk layout we have Partition Table:

 Physical Sector: Cyl 0, Side 0, Sector 1
0000001B0                                              80 01   ..............€.
0000001C0   01 00 07 FE 7F 3E 3F  00 00 00 40 32 4E 00 00 00   ...?>?...@2N...
0000001D0   41 3F 06 FE 7F 64 7F 32  4E 00 A6 50 09 00 00 00   A?.?d2N.¦P....
0000001E0   41 65 0F FE BF 4A 25 83  57 00 66 61 38 00 00 00   Ae.??J%?W.fa8...
0000001F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA   ..............U?

We can see three existing and one empty entries:

  • Partition 1, offset 0x01BE (446)
  • Partition 2, offset 0x01CE (462)
  • Partition 3, offset 0x01DE (478)
  • Partition 4 - empty, offset 0x01EE (494)

Each Partition Table entry is 16 bytes long, making a maximum of four entries available. Each partition entry has fields for Boot Indicator (BYTE), Starting Head (BYTE), Starting Sector (6 bits), Starting Cylinder (10 bits), System ID (BYTE), Ending Head (BYTE), Ending Sector (6 bits), Ending Cylinder (10 bits), Relative Sector (DWORD), Total Sectors (DWORD).

Thus the MBR loader can assume the location and size of partitions. MBR loader looks for the "active" partition, i.e. partition that has Boot Indicator equals 0x80 (the first one in our case) and passes control to the partition boot sector for further loading.

Lets consider the situations which cause computer to hang up while booting or data loss.

1. What will happen if no partition has been set to the Active state (Boot Indicator=0x80)?

Lets remove Boot Indicator from the first partition:

0000001B0                                            00 01  ................
0000001C0 01 00 07 FE 7F 3E 3F  00 00 00 40 32 4E 00 00 00  ...?>?...@2N...

When we try to boot now, we see an error message like "Operating System not found". It means that the loader cannot determine which partition is system and active to pass control to.

2. What will happen if partition has been set to the Active state (Boot Indicator=0x80) but there are no system files on that partition?

(it could happen if we had used for example FDISK and selected not the proper active partition).

Loader will try to boot from there, fails, try to boot again from other devices like floppy, and if fails to boot again, we'll see an error message like "Non-System Disk or Disk Error".

3. What will happen if partition entry has been deleted?

If it has been deleted, next two partitions will move one line up in the partition table.

Physical Sector: Cyl 0, Side 0, Sector 1
0000001B0                                              80 00   ..............€.
0000001C0   41 3F 06 FE 7F 64 7F 32  4E 00 A6 50 09 00 00 00   A?.?d2N.¦P....
0000001D0   41 65 0F FE BF 4A 25 83  57 00 66 61 38 00 00 00   Ae.??J%?W.fa8...
0000001E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
0000001F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA   ..............U?

If we try to boot now, the previous second (FAT) partition becomes the first and the loader will try to boot from it. And if it's not a system partition, we'll get the same error messages.

4. What will happen if partition entry has been damaged?

Let's write zeros to the location of the first partition entry.

Physical Sector: Cyl 0, Side 0, Sector 1
0000001B0                                              80 00   ..............€.
0000001C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
0000001D0   41 3F 06 FE 7F 64 7F 32  4E 00 A6 50 09 00 00 00   A?.?d2N.¦P....
0000001E0   41 65 0F FE BF 4A 25 83  57 00 66 61 38 00 00 00   Ae.??J%?W.fa8...
0000001F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA   ..............U?

If we try to boot now, the MBR loader will try to read and interpret zeros (or other garbage) as partition parameters and we'll get an error message like "Missing Operating System".

Thus, the second step in partition recovery is to run Disk Viewer and to make sure that the proper partition exists in the partition table and has been set as active.

How can recovery software help you in the above-mentioned scenarios?

  1. Discover and suggest you to choose the partition to be active (even FDISK does so).
  2. Discover and suggest you to choose the partition to be active.
  3. Perform a free disk space scan to look for partition boot sector or remaining of the deleted partition information in order to try to reconstruct Partition Table entry for the deleted partition.
  4. Perform all disk space scan to look for partition boot sector or remaining of the damaged partition information in order to try to reconstruct Partition Table entry for the damaged partition entry.

Why partition boot sector is so important?

Because if recovery software finds it, all necessary parameters to reconstruct partition entry in the Partition Table are there. (see Partition Boot Sector topic for details).

What would happen if partition entry had been deleted then recreated with other parameters and re-formatted?

In this case, instead of the original partition entry we would have a new one and everything would work fine except that later on we could recall that we had some important data on the original partition. If you've created MBR, Partition Table, Volume Sectors backup (for example, Active@ Partition Recovery and Active@ UNERASER can do it) before, you can virtually restore it back and look for your data (in case if it has not been overwritten with new data yet). Some advanced recovery tools also have an ability to scan disk surface and try to reconstruct the previously deleted partition information from the pieces of left information (i.e. perform virtual partition recovery). However it is not guaranteed that you can recover something.


Data Recovery: Concepts

Partition Boot Sector is damaged

The Partition Boot Sector contains information, which the file system uses to access the volume. On personal computers, the Master Boot Record uses the Partition Boot Sector on the system partition to load the operating system kernel files. Partition Boot Sector is the first sector of the Partition.

For our first NTFS partition we have boot sector:

Physical Sector: Cyl 0, Side 1, Sector 1
000000000   EB 5B 90 4E 54 46 53 20  20 20 20 00 02 01 00 00   e[?NTFS    .....
000000010   00 00 00 00 00 F8 00 00  3F 00 FF 00 3F 00 00 00   .....o..?.y.?...
000000020   00 00 00 00 80 00 80 00  3F 32 4E 00 00 00 00 00   ....€.€.?2N.....
000000030   5B 43 01 00 00 00 00 00  1F 19 27 00 00 00 00 00   [C........'.....
000000040   02 00 00 00 08 00 00 00  10 EC 46 C4 00 47 C4 0C   .........iFA.GA.
000000050   00 00 00 00 00 00 00 00  00 00 00 00 00 FA 33 C0   .............u3A
000000060   8E D0 BC 00 7C FB B8 C0  07 8E D8 C7 06 54 00 00   Z??.|u?A.ZOC.T..
000000070   00 C7 06 56 00 00 00 C7  06 5B 00 10 00 B8 00 0D   .C.V...C.[...?..
000000080   8E C0 2B DB E8 07 00 68  00 0D 68 66 02 CB 50 53   ZA+Ue..h..hf.EPS
000000090   51 52 06 66 A1 54 00 66  03 06 1C 00 66 33 D2 66   QR.f?T.f....f3Of
0000000A0   0F B7 0E 18 00 66 F7 F1  FE C2 88 16 5A 00 66 8B   .·...f?n?A?.Z.f‹
0000000B0   D0 66 C1 EA 10 F7 36 1A  00 88 16 25 00 A3 58 00   ?fAe.?6..?.%.?X.
0000000C0   A1 18 00 2A 06 5A 00 40  3B 06 5B 00 76 03 A1 5B   ?..*.Z.@;.[.v.?[
0000000D0   00 50 B4 02 8B 16 58 00  B1 06 D2 E6 0A 36 5A 00   .P?.‹.X.±.O?.6Z.
0000000E0   8B CA 86 E9 8A 36 25 00  B2 80 CD 13 58 72 2A 01   ‹E†eS6%.?€I.Xr*.
0000000F0   06 54 00 83 16 56 00 00  29 06 5B 00 76 0B C1 E0   .T.?.V..).[.v.Aa
000000100   05 8C C2 03 D0 8E C2 EB  8A 07 5A 59 5B 58 C3 BE   .?A.?ZAeS.ZY[XA?
000000110   59 01 EB 08 BE E3 01 EB  03 BE 39 01 E8 09 00 BE   Y.e.?a.e.?9.e..?
000000120   AD 01 E8 03 00 FB EB FE  AC 3C 00 74 09 B4 0E BB   .e..ue?¬<.t.?.»
000000130   07 00 CD 10 EB F2 C3 1D  00 41 20 64 69 73 6B 20   ..I.eoA..A disk
000000140   72 65 61 64 20 65 72 72  6F 72 20 6F 63 63 75 72   read error occur
000000150   72 65 64 2E 0D 0A 00 29  00 41 20 6B 65 72 6E 65   red....).A kerne
000000160   6C 20 66 69 6C 65 20 69  73 20 6D 69 73 73 69 6E   l file is missin
000000170   67 20 66 72 6F 6D 20 74  68 65 20 64 69 73 6B 2E   g from the disk.
000000180   0D 0A 00 25 00 41 20 6B  65 72 6E 65 6C 20 66 69   ...%.A kernel fi
000000190   6C 65 20 69 73 20 74 6F  6F 20 64 69 73 63 6F 6E   le is too discon
0000001A0   74 69 67 75 6F 75 73 2E  0D 0A 00 33 00 49 6E 73   tiguous....3.Ins
0000001B0   65 72 74 20 61 20 73 79  73 74 65 6D 20 64 69 73   ert a system dis
0000001C0   6B 65 74 74 65 20 61 6E  64 20 72 65 73 74 61 72   kette and restar
0000001D0   74 0D 0A 74 68 65 20 73  79 73 74 65 6D 2E 0D 0A   t..the system...
0000001E0   00 17 00 5C 4E 54 4C 44  52 20 69 73 20 63 6F 6D   ...\NTLDR is com
0000001F0   70 72 65 73 73 65 64 2E  0D 0A 00 00 00 00 55 AA   pressed.......U?

Offset       0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

The printout is formatted in three sections:

  • Bytes 0x00– 0x0A are the jump instruction and the OEM ID (shown in bold print).
  • Bytes 0x0B–0x53 are the BIOS Parameter Block (BPB) and the extended BPB.
    This block contains such essential parameters as:
    • Bytes Per Sector (WORD, offset 0x0B),
    • Sectors Per Cluster (BYTE, offset 0x0D),
    • Media Descriptor (BYTE, offset 0x15),
    • Sectors Per Track (WORD, offset 0x18),
    • Number of Heads (WORD, offset 0x1A),
    • Hidden Sectors (DWORD, offset 0x1C),
    • Total Sectors (LONGLONG, offset 0x28), etc...
  • The remaining code is the bootstrap code (that is necessary for the proper system boot) and the end of sector marker (shown in bold print).

This sector is so important on NTFS, for example, duplicate of the boot sector is located on the disk.

Boot Sector for FAT looks different, however its BPB contains parameters similar to the above mentioned. There is no extra copy of this sector stored anywhere, so recovery on FAT is as half as less successful than on NTFS.

What will happen if Partition Boot Sector is damaged or bad/unreadable?

Lets fill up with zeros several lines of Partition Boot Sector:

000000000   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000010   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000020   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000030   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000040   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000050   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000000060   8E D0 BC 00 7C FB B8 C0  07 8E D8 C7 06 54 00 00   Z??.|u?A.ZOC.T..

If we try to boot, we'll see "Non System Disk” or “Disk Error..". After we fail to load from it and from floppy, partition becomes unbootable.

Because a normally functioning system relies on the boot sector to access a volume, it is highly recommended that you run disk-scanning tools such as Chkdsk regularly, as well as back up all of your data files to protect against data loss in case you lose access to the volume.

Tools like Active@ Partition Recovery and Active@ UNERASER allow you to create backup of MBR, Partition Table and Volume Boot Sectors so that if for some reason it fails to boot, you can always restore your partition information and have an access to files/folders on that partition.

What to do if this sector is damaged?

  • If we do have backup of the whole disk or MBR/Boot Sectors we can try to restore it from there.
  • If we do not have backup, in case of NTFS we could try to locate a duplicate of Partition Boot Sector and get information from there.
  • If duplicate boot sector is not found, only virtual partition recovery might be possible if we can determine critical partition parameters such as Sectors per Cluster, etc..

How can we fix NTFS boot sector using standard Windows NT/2000/XP tools?

On NTFS copy of boot sector is stored at the middle or at the end of the Volume.

You can boot from startup floppy disks or CD-ROM, choose repair option during setup, and run Recovery Console. When you are logged on, you can run FIXBOOT command to try to fix boot sector.

How can recovery software help you in this situation?

  • It can backup MBR, Partition Table and Boot Sectors and restore them in case of damage
  • It can try to find out duplicate boot sector on the drive and re-create the original one or perform virtual data recovery based on found partition parameters
  • Some advanced techniques allow assuming drive parameters even if duplicate boot sector is not found (i.e. perform virtual partition recovery) and give the user virtual access to the data on the drive to be able to copy them to the safer location.


Data Recovery: Concepts

Missing or Corrupted System Files

For Operating System to boot properly, system files required to be safe.

In case of Windows 95 / 98 / ME, these files are msdos.sys, config.sys, autoexec.bat, system.ini, system.dat, user.dat, etc.

In case of Windows NT / 2000 / XP these files are: NTLDR, ntdetect.com, boot.ini, located at the root folder of the bootable volume, Registry files (i.e., SAM, SECURITY, SYSTEM and SOFTWARE), etc.

If these files have been deleted, corrupted, damaged by virus, Windows will be unable to boot. You'll see error messages like "NTLDR is missing ...".

So, the next step in recovery process is to check the existence and safety of system files (for sure, you won't able to check them all, but you must check at least NTLDR, ntdetect.com, boot.ini which cause most of problems).

To do it in Windows 95 / 98 / ME - you can boot in Command Prompt Mode, or from the bootable floppy and check system files in the command line or with a help of third party recovery software.

To do it in Windows NT / 2000 / XP, you can use Emergency Repair Process, Recovery Console or third party recovery software.

Emergency Repair Process

To proceed with Emergency Repair Process, you need Emergency Repair Disk (ERD). This disk is recommended to create after you install and customize Windows. To create it, use the "Backup" utility from System Tools. You can use the ERD to repair damaged boot sector, damaged MBR, repair or replace missing or damaged NT Loader (NTLDR) and ntdetect.com files.

If you do not have an ERD, the emergency repair process can attempt to locate your Windows installation and start repairing your system, but it may not be able to do so.

To run the process, boot from Windows bootable disks or CD, and choose Repair option when system suggests you to proceed with installation or repairing. Then press R to run Emergency Repair Process and choose Fast or Manual Repair option. Fast Repair is recommended for most users, Manual Repair - for Administrators and advanced users only.

If the emergency repair process is successful, your computer will automatically restart and you should have a working system

Recovery Console

Recovery Console is a command line utility similar to MS-DOS command line. You can list and display folder content, copy, delete, replace files, format drives and perform many other administrative tasks.

To run Recovery Console, boot from Windows bootable disks or CD and choose Repair option, when system suggests you to proceed with installation or repairing and then press C to run Recovery Console. You will be asked to which system you want to log on to and then for Administrator's password, and after you logged on - you can display drive's contents, check the existence and safety of critical files and, for example, copy them back if they have been accidentally deleted.

Recovery Software

Third party recovery software in most cases does not allow you to deal with system files due to the risk of further damage to the system, however you can use it to check for the existence and safety of these files, or to perform virtual partition recovery.


Active@ File Recovery: Knowledge Base

Knowledge Base

  • Recovery Tips
  • Troubleshooting
  • Frequently Asked Questions


Active@ File Recovery: Knowledge Base

Recovery Tips

DO NOT WRITE ANYTHING ONTO THE DRIVE CONTAINING YOUR IMPORTANT DATA THAT YOU HAVE JUST DELETED ACCIDENTALLY!
Even data recovery software installation could spoil your sensitive data. If the data is really important to you, and you do not have another logical drive to install software to, take whole hard drive out of the computer and plug into another computer where data recovery software has been already installed.

DO NOT SAVE ONTO THE SAME DRIVE DATA THAT YOU FOUND AND TRYING TO RECOVER!
While saving recovered data onto the same drive where sensitive data was located, you can intrude in process of recovering by overwriting table records for this and other deleted entries. It's better to save data onto another logical, removable, network or floppy drive.

CREATE DISK IMAGE IF YOU HAVE EXTRA HARD DRIVE, OR OTHER LOGICAL DRIVES ARE BIG ENOUGH!
Disk Image is a mirror of your logical drive that is stored in one file. This can be useful when you want to backup the contents of the whole drive, and restore it or work with it later. Before you start recovering the deleted files, it may be a good idea to create a Disk Image for this drive, if you have enough space at another drive. Why? Because if you do something wrong while recovering the files (for example, recovering them onto the same drive could destroy their contents), you still will be able to recover these deleted files and folders from the Disk Image that you have wisely created.


Active@ File Recovery: Knowledge Base

Troubleshooting

The following scenarios are provided from help service offered to actual customers.

What problem are you having?

I have purchased and copied software onto the floppy. When starting Active@ File Recovery, I get a message UNREGISTERED VERSION.

Possible Cause: You forgot to copy SETTINGS.INI. This file contains your registration key.

Solution 1: Look for SETTINGS.INI at the installation folder and copy it to the same place where you start Active@ File Recovery from.

Solution 2: Install software directly to the floppy disk. All necessary files will be copied there.


Active@ File Recovery: Knowledge Base

Frequently Asked Questions (FAQ)

I deleted a file. How long do I have before data recovery is no longer possible?

It is not possible to predict a time like this in hours or days. Microsoft Windows can overwrite a deleted file immediately if it selects the same data clusters.

To maximize recovery chances try not to write anything onto the drive where a deleted file is located before you start using recovery software.

How can I download the trial version of Active@ File Recovery utility?

You can do it from the www.file-recovery.net Web site. The trial version is a utility with full functionality of the final program. The only limitation is the maximum size of the file being restored.

I found that I have deleted very important document. It was deleted BEFORE Active@ File Recovery was installed on my computer. Is it possible to restore it

Yes, if the file has not already been written over (by some other files). If you have found that some important file is deleted, download and install Active@ File Recovery and search for this file. It may be a good idea to avoid excessive disk activity on this particular hard drive, not to make a lot of other file deletions, to avoid computer reboots, not to invoke large number of programs concurrently (which would cause the increased OS Paging/Swapping activity), etc. - all of this might overwrite or partially overwrite the deleted document and also will make finding a particular file more complicated.

The more free hard drive space you have on your computer, the greater the chances for a successful retrieval of deleted file contents. It is always a good idea to extract and install Active@ File Recovery to some OTHER hard drive - that does not contain important deleted file(s).

Does Active@ File Recovery work under Windows 2000 / XP?

Yes, it does.

Does Active@ File Recovery work under Windows 3.x

No. Support of 16-bit operation systems like Windows 3.1 is not implemented.

I have Netscape Navigator 4.6 as my default browser. Will I be able to install and use Active@ File Recovery?

Yes, to download and install software you need to have Internet Explorer or Netscape Navigator, or any other browser that supports file download. After software installation you do not need any Browsers.

Does Active@ File Recovery support localized (e.g. French, Spanish) files names

Yes, provided the OS and file system support localized file names.

Will Active@ File Recovery recover long file names?

Yes, provided the OS and file system support long file names.

What is a Disk Image? Why is it needed?

Disk Image is a mirror of your logical drive that is stored in one file. This can be useful when you want to backup the contents of the whole drive, and restore it or work with it later. Before you start recovering the deleted files, it may be a good idea to create a Disk Image for this drive, if you have enough space at another drive. Why? Because if you do something wrong while recovering the files (for example, recovering them onto the same drive could destroy their contents), you still will be able to recover these deleted files and folders from the Disk Image that you have wisely created.


Active@ File Recovery

Glossary of Terms

boot record

  • See boot sector.

boot sector

  • The boot sector continues the process of loading the operating system into computer memory. It can be either the MBR (see MBR, below) or the partition boot sector (see partition boot sector, below).

cluster

  • A group of disk sectors that contain file data. It is the smallest allocation unit for storing a file. For example, if the file size is 100 bytes and the cluster size is 4096 bytes, the file system reserves one cluster, or 4096 bytes for file data.

data striping

  • Spreading blocks of data from files across multiple disk drives. Quicker read and write performance is a result.

device node

  • In the Local System Devices list, a physical device containing logical drives. The first physical device is named 80h.

disk mirroring

  • Identical data is written to two disks simultaneously. Used when access to data at all times is critical.

FAT

  • File Allocation Table. An area that contains the records of every other file data and directory in a FAT-formatted hard disk drive. The operating system needs this information to access the files and define the data cluster's chain. There are FAT32, FAT16 and FAT versions.

file

  • A collection of data with a file name and file attributes, like size.. Almost all information stored in a computer must be in a file.

folder

  • An object that can contain a group of files. Folders are used to organize information. In DOS and UNIX, folders are called directories or root areas.

HDD

  • Hard disk drive.

log file

  • A file that lists all events that have occurred. For example, Active@ File Recovery writes a log file entry for every request made to the program and every event that happens as a result. You can see the log at the bottom of the main screen.

logical drive

  • A partition is a logical drive because it does not affect the physical hard disk other than the defined space that it occupies, yet it behaves like a separate disk drive.

MBR

  • The Master Boot Record (MBR) is a small program that is executed when the computer is first turned on. Typically, the MBR can be found on the first sector of a disk. The MBR first reads the disk's partition table to determine which partition is used to load the operating system. The MBR then transfers control to this partition's "boot sector" to continue the process. Loading the operating system is called "booting" the computer.

MFT

  • Master File Table. A file that contains the records of every other file and directory in an NTFS-formatted hard disk drive. The operating system needs this information to access the files.

NTFS

  • NT File System. NTFS was created to provide a more reliable operating system, compared to the FAT file system.

partition

  • A section of memory or hard disk isolated for a specific purpose. Each partition can behave like a separate disk drive.

partition boot sector

  • On NTFS or FAT file systems, the partition boot sector is a small program that is executed when the operating system tries to access a particular partition. On personal computers, the Master Boot Record uses the partition boot sector on the system partition to determine file system type, cluster size, etc. and to load the operating system kernel files. Partition boot sector is the first sector of the partition.

partition status

  • SuperScan gives each partition a rating depending on how likely it is to recover data on the partition. A status rating of 1 is very bad. A status rating of 8 is excellent.

physical device

  • A piece of hardware that is attached to your computer by screws or wires. A hard disk drive is a physical device. It is also referred to as a physical drive.

RAID-0

  • Provides data striping but no redundancy. This method provides quick performance but does not deliver fault tolerance. If one drive fails then all data in the array is lost.

RAID-1

  • Writes identical data to two separate disks. Level 1 provides quick read performance and the same write performance as single disks.

RAID-5

  • Provides data striping at the byte level and also stripe error correction information. This results in excellent performance and good fault tolerance. Level 5 is one of the most popular implementations of RAID.

root area (and root folder)

  • An object that can contain a group of files in a FAT file system. In other words, a directory or folder. The root folder is the top-level folder that has no parent and can have children. A logical drive can have only one root folder. Its name is usually ‘.’ (dot).

sector

  • The smallest unit that can be accessed on a disk. Tracks are concentric circles around the disk and the sectors are segments within each circle.

span array

  • A series of dynamic drives linked together to make one contiguous spanned volume.

templates

  • File types are recognized by specific patterns that may serve as a reference for file recovery. When a file header is damaged, the type of file may be determined by examining patterns in the damaged file and comparing these patterns to known file type templates. This same pattern-matching process can be applied to deleted or damaged partitions. Using FAT or NTFS templates, recovery software can assume that a particular sector is a FAT or NTFS boot sector because parts of it match a known pattern.

volume

  • A fixed amount of storage on a hard disk. A physical device may contain a number of volumes. It is also possible for a single volume to span a number of physical devices.


file recovery - where to buy

Active@ File Recovery: Where to Buy

Where to Buy

Active@ Data Recovery Services

Active@ Data Recovery Services is a division of LSoft Technologies Inc, software development company, designing disk utilities related to the recovery of lost data.

Our mission is to create a software framework for the data security of our clients. New powerful and unique security technologies have been created to serve this goal. As the latest technologies expand the power and reach of the Personal Computer for its users, our ambition is to remain committed to supporting these advances.

Contact Information
Postal Address : | LSoft Technologies Inc. 2550 Argentia Road, Suite 218 Mississauga, Ontario L5N 5R1 CANADA
Phone: | 1 (905) 812-8434
Fax: | 1 (416) 352-7561
Web Site : | www.file-recovery.net
Customer Service : | sales@file-recovery.net
Technical Support : | support@file-recovery.net

To order software:

  • On-line: visit our web site or click here
  • Off-line: send us money order by mail or fax us purchase order