<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Recovery Resources Freeware Software SNAP RAID How To Guides &#187; File Systems Explained</title>
	<atom:link href="http://www.dtidata.com/resourcecenter/category/file-systems-explained/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dtidata.com/resourcecenter</link>
	<description>Hard drive recovery data recovery resource center with how to guides for windows RAID Snap server file system repair NTFS partition recovery tools tips and tricks to recover data</description>
	<lastBuildDate>Mon, 08 Mar 2010 19:19:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>View It Now Software Tool</title>
		<link>http://www.dtidata.com/resourcecenter/2009/05/14/view-it-now-software-tool/</link>
		<comments>http://www.dtidata.com/resourcecenter/2009/05/14/view-it-now-software-tool/#comments</comments>
		<pubDate>Thu, 14 May 2009 15:38:16 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[View It Now]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=905</guid>
		<description><![CDATA[I am a pretty visual guy and because of that my problem solving skills are based on viewing.  When trying to recover data from a corrupt file system I like to use a hex editor and view the system areas of the drive to make sure that everything is intact.  There have been many times [...]]]></description>
			<content:encoded><![CDATA[<p>I am a pretty visual guy and because of that my problem solving skills are based on viewing.  When trying to recover data from a corrupt file system I like to use a hex editor and view the system areas of the drive to make sure that everything is intact.  There have been many times when I have trusted a tool to diagnose a problem, but because of some subtlety in the file system corruption the software led me in the wrong direction.  I believe many people are the same way. They like to see what the situation is at its lowest level and decide how best to solve the problem.</p>
<p>In the business of data recovery viewing, seeing, looking, putting an eye on, or however you want to describe it is the single most valuable tool for a technician.  There is nothing more powerful than a technician with a hex editor and a calculator trying to piece together a file system.  As John Keats said, &#8220;A thing of beauty, is a Joy forever!&#8221;.  In line with this philosophy DTI Data will offer a set of free tools to help the technician view a file system, a hard drive, or a single file in order to help them and their client solve a problem.  This set of tools will be called View It Now with the proper specific tag related to the software.  For instance, the first tool will be <a title="vin computer diagnostic" href="http://www.dtidata.com/computer_diagnostics_file_viewer/view_it_now_quick_start.htm">View It Now SNAP Appliance 4.x.</a> This tool will allow the technician to tree a SNAP 4.x file system.  Each tool will have a set functions that are unique to the file system, for instance the SNAP 4.x viewer will allow the end user to check the cylinder group alignment to make sure that the file system is not corrupted. We have also finished the NTFS version of View It Now!<a title="vin ntfs download" href="http://www.dtidata.com/free_data_recovery_software/vin-ntfs.zip"> Download it here</a>.</p>
<p>In addition to the reading and treeing the file system there will be tools such as surface scanners, block maps, raw file scanner, forensic tools, and many others.  We are hoping to give the technician a leg up on recovering a clients data so that their possibility of success is higher, and the chance of making an already bad situation worse far less likely.</p>
<p>The documentation for these tools will be published  in these blogs so you can refer to them at any time.  There will be a general set of documentation that will work for all tools.  Items such as configuring a river, mounting a file as a stream, scanning for a volume and many others.  There will also be functions that are specific to the tool and will be highlighted as such.  It is our hope that with the documentation as well as an open forum to make suggestions or ask questions the usefulness of the tool will increase as we update the software to reflect your input.</p>
<p>Hopefully these tools will be an asset to any technicians arsenal of software.  DTI Data looks forward to serving you.</p>
<p>If your disk is clicking or not seen by the BIOS, you will need<a title="hard drive recovery" href="http://www.dtidata.com"><strong> hard drive recovery</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2009/05/14/view-it-now-software-tool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>View It Now NTFS File System Viewer</title>
		<link>http://www.dtidata.com/resourcecenter/2009/05/01/view-it-now-ntfs-file-system-viewer/</link>
		<comments>http://www.dtidata.com/resourcecenter/2009/05/01/view-it-now-ntfs-file-system-viewer/#comments</comments>
		<pubDate>Fri, 01 May 2009 20:12:49 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[Data Recovery Software How To's]]></category>
		<category><![CDATA[NTFS Recovery]]></category>
		<category><![CDATA[View It Now]]></category>
		<category><![CDATA[View It Now NTFS]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=979</guid>
		<description><![CDATA[I have worked with Microsoft file systems since DOS 3.3.  From FAT12, to the current NTFS 5.0 Microsoft has always strived to make their file systems fast and reliable.  However, there has always been one major drawback.  Their file systems have always been too centralized.  What I mean by that is when storing the file system [...]]]></description>
			<content:encoded><![CDATA[<p>I have worked with Microsoft file systems since DOS 3.3.  From FAT12, to the current NTFS 5.0 Microsoft has always strived to make their file systems fast and reliable.  However, there has always been one major drawback.  Their file systems have always been too centralized.  What I mean by that is when storing the file system on the hard drive it is always in one place.  The FAT resides right after the OS Boot Record, The Master File Table in almost all cases resides at cluster 786432, or cluster 4.  The OS Boot Record always seems to reside at sector 63. The MBR is always at sector 0 although this is an industry standard and not a Microsoft standard per-se.</p>
<p>With all this being said this kind of design can easily lead to the file system being corrupted.  In other words  if a sector goes bad, or gets overwritten, or the data becomes corrupt, the entire file system may become unusable. As an example, the FAT file system uses a centrally located File Allocation Table which maps every cluster on the <strong>hard drive</strong> to its appropriate file.  With NTFS there is a Master File Table that is also centrally located that is even more susceptible to corruption and destruction.</p>
<p>In addition there are file system components such as an OS boot record that if corrupted or destroyed will give you the message &#8220;File System Not Found. Do you wish to format?&#8221;  The Master Boot Record, INDX Records, File Entry Records etc. etc. These components when destroyed or corrupted will cripple your file system and ultimately make <strong>hard drive recovery</strong> impossible.</p>
<p>With that in mind there are two options that I have added to the NTFS flavor of the View It Now series of software to help view the file system even when some of the components are corrupt or missing completely.  They are as follows.</p>
<p>Under the heading <strong>Volume Tools </strong>the option <strong>NTFS FS Functions </strong>is viewed under the drop down menu.  Mousing over that function the following is revealed.</p>
<p><strong>Build Virtual Volume</strong></p>
<p><strong> </strong>Clicking on the above function will display a dialog box that reveals three values for you to enter.</p>
<p>1. Sectors Per Cluster:  Valid values for this field are 1, 2, 4, 8, 16, 32, 64, and 128.</p>
<p>2. Total Sectors:  Valid value is from 1 to the total size of the river.</p>
<p>3. Volume Offset: Valid Value is from 0 to total sectors of the river.</p>
<p>Once you have entered the appropriate values for your partition just click on <em><strong>mount</strong></em> and the Volume will be displayed in the lower left hand list box of the main dialog box.  This volume is now usuable for the following function.</p>
<p><strong>Last Resort File System Build</strong></p>
<p>This particular function does not depend on much of the file system being intact in order to tree the river.  This fucntion takes a defined volume and scans it searching for valid MFT records.  Once an MFT record has passed my filtering process it is added to a list of other records found. When the scan has finished or been interrupted by the end user a tree is formed and displayed just like any other river.  This will then give you the chance to view the file names and see if in fact your file is there.</p>
<p>In addition, after the scan is completed and the records treed you can <strong>Export File List To Text File</strong>.  That file can then be imported into a spread sheet to do searches and sorts on all the fields.</p>
<p><a href="http://www.dtidata.com/free_data_recovery_software/vin-ntfs.zip">Download View It Now NTFS File System Viewer</a></p>
<p>If the hard drive is clicking or not seen by the BIOS, you will need <strong><a title="hard drive recovery" href="http://www.dtidata.com">hard drive recovery</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2009/05/01/view-it-now-ntfs-file-system-viewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hard Drive Recovery and Remote Diagnostics&#8230; Old School gone retro&#8230;</title>
		<link>http://www.dtidata.com/resourcecenter/2009/04/29/hard-drive-recovery-and-remote-diagnostics-old-school-gone-retro/</link>
		<comments>http://www.dtidata.com/resourcecenter/2009/04/29/hard-drive-recovery-and-remote-diagnostics-old-school-gone-retro/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 15:51:04 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[The Black Art of Data Recovery]]></category>
		<category><![CDATA[Data Recovery Software How To's]]></category>
		<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[hard drve recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=898</guid>
		<description><![CDATA[When I first started writing hard drive recovery software, many, many, years ago Microsoft file systems were pretty straight forward.  It was a simple FAT, with some file entry tables scattered throughout the drive with a few key system components.   In addition, the file system was designed to be fairly virtual.  In other words, if [...]]]></description>
			<content:encoded><![CDATA[<p>When I first started writing <strong>hard drive recovery</strong> software, many, many, years ago Microsoft file systems were pretty straight forward.  It was a simple FAT, with some file entry tables scattered throughout the drive with a few key system components.   In addition, the file system was designed to be fairly virtual.  In other words, if a sector of the drive went bad, you could reset a pointer and set it to another sector with the same data.  In the old days we would remap drives by hand all the time using the old Norton DOS hex editor and a calculator.  We would do this because drives we very expensive back then.  I remember buying an eight hundred megabyte SCSI drive for a little over $1000.00.  So, if you developed bad sectors on a drive, you didn&#8217;t toss the drive, you remapped the sectors and used the drive till it dropped.  I miss those days sometimes, not the expensive drives but the simplicity of the computer and the operating system.</p>
<p>Well, as time went on drives got cheaper and the way to recover data from a corrupt file system changed.  The developers started writing software that moved data from the damaged file system, to a new <em>hard drive</em>.  This was easier on the developer and there was a very small chance that the client using the <strong>hard drive recovery</strong> software would destroy the data on the host drive.  This has worked very well&#8230; until now.</p>
<p>The end user of today stores more data on their <em>hard drives</em> than you can shake a gigabyte at.  They will store pictures, music, video, email files, games, and databases of all sorts.  All of these things use enormous amounts of disk space, so, if the drive develops a few bad sectors then trying to transport 300 GB worth of pictures and movies becomes a big deal and can actually exacerbate the problem on a damaged hard drive.   Even if it is not bad sectors, but the file system becomes corrupt, trying to move all that data to another drive just becomes too cumbersome.</p>
<p>In addition to a damaged drive, the operating systems have become so complex that configuring the thing takes four weeks.  Along with that you have loaded and configured your virsus scanner, malware scanner, port scanner, firewall and a thousand other things to make sure that no one breaks into your computer and swipes your bank information which is also stored on your hard disk. To wipe and reload an operating system, reconfigure all your protection, reload all your software and download all the latest releases could take weeks.  Who wants to do that?</p>
<p>All of this being said what is the answer to a file system that cannot be accessed.  DTI has a simple solution.  We went old school.  In this world of complex operating systems, file systems, software, virus scanners, on and on and on DTI offers a better solution.  Let one of our highly trained technicians remote into your personal computer and diagnose your file system problem.  Instead of having some piece of <strong>hard drive recovery</strong> software guess at what is wrong, let a trained tech in there to ferret out the real problem and possibly get your file system back up and running in less than ten minutes.  In addition to that many times the technician will stop a problem from getting worse and saving you the agonizing possibility of losing all of your data.</p>
<p>Old school for DTI Data has a new wrinkle and can save you money, time, and more importantly your data.  Give us a call and let us recover your data. To schedule a <a title="remote data recovery" href="http://www.dtidata.com/remote_data_recovery/"><strong>remote data recovery</strong></a> using <strong><em>Recover It Now</em></strong> call Toll Free 1-866-438-6932 ext. 236 or direct 1-727-345-9665 ext. 236.</p>
<p>If your hard drive is clicking or unable to boot, then you need physical <a title="hard drive recovery" href="http://www.dtidata.com"><strong>hard drive recovery</strong></a>. Call 866-438-6932 to speak with a technician.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2009/04/29/hard-drive-recovery-and-remote-diagnostics-old-school-gone-retro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View It Now for SNAP OS 4.X</title>
		<link>http://www.dtidata.com/resourcecenter/2009/03/04/view-it-now-for-snap-os-4x/</link>
		<comments>http://www.dtidata.com/resourcecenter/2009/03/04/view-it-now-for-snap-os-4x/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 19:28:21 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>
		<category><![CDATA[Freeware Data Recovery]]></category>
		<category><![CDATA[SNAP OS Explained]]></category>
		<category><![CDATA[SNAP Recovery]]></category>
		<category><![CDATA[View It Now]]></category>
		<category><![CDATA[View It Now SNAP]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=924</guid>
		<description><![CDATA[The original SNAP NAS devices were developed by SNAP Appliance.  The operating system that was used was a flavor of BSD in concert with the file system UFS.  Although the file system looks very similar to the original UFS there were some subtle changes made.  View It Now takes those changes into consideration when searching [...]]]></description>
			<content:encoded><![CDATA[<p>The original SNAP NAS devices were developed by SNAP Appliance.  The operating system that was used was a flavor of BSD in concert with the file system UFS.  Although the file system looks very similar to the original UFS there were some subtle changes made.  View It Now takes those changes into consideration when searching and building a virtual drive.  Although the majority of View It Now makes the mechanics of the file system transparent to the technician there are some things that still need to be addressed in a &#8216;native mode&#8217; manner.  The following are a list of options/functions that are specific to the SNAP OS 4.x version of View It Now.</p>
<p><strong>Verify Cylinder Groups</strong></p>
<p>The SNAP OS file system is very similar to many Linux/Unix type file systems.  The file system is spread across the entire drive with many little sub-groups that maintain a microcosm of the entire file system.  Some file systems call these groups &#8216;<em>Allocation Groups</em>&#8216;, others call them &#8216;<em>Block Groups</em>&#8216;, and this file system uses the label &#8216;<em>Cylinder Groups</em>&#8216;.</p>
<p>The reason that groups are used is to allow the file system to manage the hard drive in such a way as to keep wide seeks to a minimum.  For instance, if you have a database that is spread across an entire drive due to fragmentation you get the heads moving up and down across the drive which causes unnecessary heat, wear, and time to read or write data.  If the data is kept in a smaller area then the drive will have shorter seeks, hopefully contiguous reads, and a more stable file system.</p>
<p>All of this being said each cylinder group has its own set of inodes, a data set area, a block bitmap and other system data.  The report takes a look at some of the system information to try and determine if the cylinder groups are in alignment.  To execute the report use the following steps.</p>
<ul>
<li>1. Make sure that a <em>volume</em> is mounted. Refer to View It Now documentation to see how to mount a volume.</li>
<li>2. Move the mouse to the &#8216;<strong>Volume Tools</strong>&#8216; item on the menu bar and click. You will be presented with a drop-down menu.</li>
<li>3. From the drop-down menu select the item labeled &#8216;<strong>Verify Cylinder Groups</strong>&#8216; and click on it. The testing will begin.</li>
<li>4. To monitor the progress of the test look in the &#8216;<strong>Search Information</strong>&#8216; group box. The &#8216;<em>Block</em>&#8216; label will indicate which cylinder group is being tested, and how many total cylinder groups are in this particular volume.</li>
<li>5. Once the test is finished a dialog box will appear indication how many cylinder groups did not pass the test.</li>
</ul>
<p>The comments below are for users to ask questions and request product updates.</p>
<p><strong><a title="view it now quick start guide" href="http://www.dtidata.com/computer_diagnostics_file_viewer/view_it_now_quick_start.htm">View It Now Quick Start Guide</a></strong></p>
<p><a title="snap view it now download" href="http://www.dtidata.com/free_data_recovery_software/VIN-SNAP.exe">DOWNLOAD VIEW IT NOW SNAP OS HERE </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2009/03/04/view-it-now-for-snap-os-4x/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Recovering Folder Relationships Using DOS Clustering Design</title>
		<link>http://www.dtidata.com/resourcecenter/2008/11/18/recovering-folder-relationships-using-dos-clustering-design/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/11/18/recovering-folder-relationships-using-dos-clustering-design/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 19:35:41 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[How To's]]></category>
		<category><![CDATA[FAT 32 File System]]></category>
		<category><![CDATA[FAT 32 File System Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=740</guid>
		<description><![CDATA[    In my last installment I described what a file entry record would look like if it were in fact a cluster holding file entry data. I went over the fact that the first two entries of the folder cluster would be a period followed by ten spaces, and the next entry would be two [...]]]></description>
			<content:encoded><![CDATA[<p>    In my <a title="fat 32 recover folders using software logic" href="http://www.dtidata.com/resourcecenter/2008/11/12/using-fat32-file-entry-record-recover-folders-software-logic/" target="_blank">last installment </a>I described what a file entry record would look like if it were in fact a cluster holding file entry data. I went over the fact that the first two entries of the folder cluster would be a period followed by ten spaces, and the next entry would be two periods followed by 9 spaces. This data may seem innocuous, however they do have meaning and can help us in determining how the folders are related to each other.</p>
<p style="text-align: left;">   The file entry record has several components that are used to extract the related stored data.  One of these components is the starting cluster number of where the data might be found.  Logic is then used to with the  <strong>F</strong>ile <strong>A</strong>llocation <strong>T</strong>able (FAT) map to chain the clusters together.  Lets say for instance that the starting storage cluster for file <strong>&#8220;foobar&#8221;</strong> is 1000h.  Lets also say that the size of a cluster is 64k.  Finally, lets assume, for illustration purposes that the file is 640k.  With these facts in hand we can say that<strong> foobar</strong> will occupy ten clusters. If the file had been saved only once and not edited we can make a pretty educated guess that the file is not fragmented. So the following statement may be true <strong>&#8220;Foobar is stored in clusters 1000h &#8211; 1009h&#8221;</strong>.<br />
The FAT would look like this</p>
<table border="2" cellspacing="2" cellpadding="2" width="100%" bordercolor="#336699">
<tbody>
<tr>
<td>1000</td>
<td>1001</td>
<td>1002</td>
<td>1003</td>
<td>1004</td>
<td>1005</td>
<td>1006</td>
<td>1007</td>
<td>1008</td>
<td>1009</td>
</tr>
</tbody>
</table>
<table border="2" cellspacing="2" cellpadding="2" width="100%" bordercolor="#336699">
<tbody>
<tr>
<td>1001</td>
<td>1002</td>
<td>1003</td>
<td>1004</td>
<td>1005</td>
<td>1006</td>
<td>1007</td>
<td>1008</td>
<td>1009</td>
<td>0FFF</td>
</tr>
</tbody>
</table>
<p>    The top table shows the actual cluster number 1000h -1009h. The bottom table shows the value in each one of the FAT cells. The value in the FAT cell points to the next cluster, which in turn points to the next cluster so on and so forth. Finally the final FAT cell has the value 0FFFh which indicates the end of the cluster chain. This method is called a <strong>&#8220;one way linked list&#8221;</strong> as it links the clusters forward only, and not reverse.<br />
    Now, this is a FAT representation of a file that is not fragmented. The following set of tables for the same file, but this time the file is fragmented.</p>
<table border="2" cellspacing="2" cellpadding="2" width="100%" bordercolor="#336699">
<tbody>
<tr>
<td>1000</td>
<td>1001</td>
<td>1002</td>
<td>1003</td>
<td>1004</td>
<td>1005</td>
<td>1006</td>
<td>1007</td>
<td>1008</td>
<td>1009</td>
<td>100A</td>
<td>100B</td>
<td>100C</td>
<td>100D</td>
<td>100E</td>
<td>100F</td>
</tr>
</tbody>
</table>
<table border="2" cellspacing="2" cellpadding="2" width="100%" bordercolor="#336699">
<tbody>
<tr>
<td>1001</td>
<td>1002</td>
<td>1003</td>
<td>1004</td>
<td>100B</td>
<td><strong>0000</strong></td>
<td><strong>0000</strong></td>
<td><strong>0000</strong></td>
<td><strong>0000</strong></td>
<td><strong>0000</strong></td>
<td><strong>0000</strong></td>
<td>100C</td>
<td>100D</td>
<td>100E</td>
<td>100F</td>
<td>0FFF</td>
</tr>
</tbody>
</table>
<p>    Now, as you can see from the above table the cluster chain looks basically the same until we get to cell 1004h. Instead of the cell containing the value <strong>1005</strong> which would of course point to the next cell, it has the value <strong>100B</strong>. This means to look at cell <strong>100B</strong> to see if we are at the end of our chain, or if we in fact continue the chain. In our example we see that the chain does continue until it reaches the end of the linked-list in cell number <strong>100F</strong>. This is an example of a <strong><em>fragmented</em></strong> file as it is divided into two fragments. The first fragment is from cell 1000 to 1004, and the second fragment is from cell 100B to cell 100F.<br />
    With all of this being said one can see how important it is to keep the FAT cluster map intact. When a drive is formatted for FAT the entire FAT table is destroyed and zeroed out. In the above fragmented file we can see that with the FAT destroyed there is no way to easily recover the data. The simple logic of a FAT recovery is to get the starting cluster from the File Entry record as well as the file size and then read each cluster contiguously until the file size is satisfied. In other words to recover <strong>foobar</strong>we would read cluster 1000h since that is the starting cluster and continue for ten clusters since the size of each cluster is 64k and the file size is 640k. Doing this will lead us to cluster 1009h. Looking at our two examples we can see that in the unfragmented file we would get all of the data, however, in the fragmented file we would only get the first five clusters and the rest would be zeroes or garbage.<br />
    I have made several references to the starting cluster number which is found in the File Entry record and then used with the FAT to get all the data for a particular file. In my next installment I will explain the mechanincs of getting the starting cluster from the File Entry record. Until next time&#8230;</p>
<p>Related Articles:</p>
<ul>
<li>Part 1 <a title="fat 32 file entry data" href="http://www.dtidata.com/resourcecenter/2008/10/21/recovering-fat32-with-file-entry-record-data-only/" target="_blank"><strong>Recovering FAT 32 With File Entry Data</strong></a></li>
<li>Part 2 <a title="recovering fat32 with file system markers" href="http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/" target="_blank"><strong>Recovering FAT 32 With File System Markers</strong></a></li>
<li>Part 3 <strong><a title="fat 32 on disk layout c structure" href="http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/" target="_blank">FAT32 Recover File Entry Table On-Disk Layout Using a C Structure</a></strong></li>
<li>Part 4<strong><a title="Using FAT32 File Entry Record For Recovering Folders Using Software Logic" href="http://www.dtidata.com/resourcecenter/2008/11/12/using-fat32-file-entry-record-recover-folders-software-logic/">Using FAT32 File Entry Record For Recovering Folders Using Software Logic</a></strong></li>
<li><a title="freeware data recovery" href="http://www.dtidata.com/free_data_recovery_software/"><strong>Freeware Data Recovery</strong></a></li>
<li><strong><a title="hard drive recovery" href="http://www.dtidata.com">Hard Drive Recovery</a><br />
</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/11/18/recovering-folder-relationships-using-dos-clustering-design/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using FAT32 File Entry Record For Recovering Folders Using Software Logic</title>
		<link>http://www.dtidata.com/resourcecenter/2008/11/12/using-fat32-file-entry-record-recover-folders-software-logic/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/11/12/using-fat32-file-entry-record-recover-folders-software-logic/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 18:32:39 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[Software How To's]]></category>
		<category><![CDATA[Data Recovery Software How To's]]></category>
		<category><![CDATA[FAT 32 File System]]></category>
		<category><![CDATA[FAT 32 File System Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=711</guid>
		<description><![CDATA[  In my last installment I described the file entry record and its on-disk format.  I used a &#8216;C&#8217; structure to denote the different fields of the record and defined which five are most important to us when trying to recover a FAT32 file system where all the main file system components have been destroyed or [...]]]></description>
			<content:encoded><![CDATA[<p>  In my <a title="on disk layout fat 32" href="http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/" target="_blank">last installment </a>I described the file entry record and its on-disk format.  I used a &#8216;C&#8217; structure to denote the different fields of the record and defined which five are most important to us when trying to recover a FAT32 file system where all the main file system components have been destroyed or corrupted.  In this installment I will describe what is unique about the file entry record for a folder entry and how we can use that as a filter for the software logic.</p>
<p>  The first two elements of the file entry record are the file name which is eight bytes, and the file extension which is 3 bytes.  For the beginning of every folder the first file entry record has the file name &#8220;.          &#8220;, that is, a period, followed by ten spaces.  In other words the first eleven bytes of the beginning of a sector that stores the beginning of a folder are static and are always the same.  Now this fact is important in as much as we can look for this particular attribute in a sector and when we find it there is a very good possibility that we are looking at the beginning of a folder.  With the being said it is always better to try and refine a filter in order to make sure that you have in fact found the beginning of a folder.  Oddly enough, the second file entry record had the file name &#8220;..         &#8220;, that is, TWO periods followed by nine spaces. </p>
<p>   Each file entry record is a static thirty-two bytes long.  That being said we can now assert this.  If bytes zero through seven of a sector are a period followed by ten spaces and bytes thirty-two through forty-two of the same sector is two periods followed by nine spaces then there is a high probability that we have found the beginning of a folder.</p>
<p>   The pseudo logic for this might look like:<br />
<hr size="3" /><span style="font-family: Times New Roman;"><strong><small>    while(1)<br />
    {<br />
        if(ReadSector FAILS) break;<br />
        if(FileEntry Record Zero equals &#8220;.          &#8220;  &amp;&amp; FileEntry Record One equals &#8220;..         &#8220;)<br />
        {<br />
            We have a valid folder<br />
        }<br />
    }</small></strong></span><br />
<hr size="3" />
<p>     The chances of a sector slipping by that may not be a folder entry is very slim.  This is good in as much as it can be difficult to define a filter that will give you the most optimal results without flooding you with a set of worthless data.</p>
<p>     In my next installment I will explain what this &#8216;.&#8217; and &#8216;..&#8217; mean.  If there are some old DOS command line users out there I am sure you are well aware of what I am talking about.  Until next time&#8230;</p>
<p>Related Articles:</p>
<ul>
<li>Part 1 <a title="fat 32 file entry data" href="http://www.dtidata.com/resourcecenter/2008/10/21/recovering-fat32-with-file-entry-record-data-only/" target="_blank"><strong>Recovering FAT 32 With File Entry Data</strong></a></li>
<li>Part 2 <a title="recovering fat32 with file system markers" href="http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/" target="_blank"><strong>Recovering FAT 32 With File System Markers</strong></a></li>
<li>Part 3 <strong><a title="fat 32 on disk layout c structure" href="http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/" target="_blank">FAT32 Recover File Entry Table On-Disk Layout Using a C Structure</a></strong></li>
<li><a title="freeware data recovery" href="http://www.dtidata.com/free_data_recovery_software/"><strong>Freeware Data Recovery</strong></a></li>
<li><strong><a title="hard drive recovery" href="http://www.dtidata.com">Hard Drive Recovery</a><br />
</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/11/12/using-fat32-file-entry-record-recover-folders-software-logic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FAT32 Recover File Entry Table On-Disk Layout Using a C Structure</title>
		<link>http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 19:19:49 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[FAT 32 File System Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=684</guid>
		<description><![CDATA[In my last installment Recovering FAT 32 With File System Markers,  I offered a brief outline of a case that destroyed a FAT32 file systems major components.  This was done by formatting the drive using an operating system that is not native to the file system.  In other words, a Mac was [...]]]></description>
			<content:encoded><![CDATA[<p>In my last installment <strong><a title="recovering fat32 with file system markers" href="http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/" target="_blank">Recovering FAT 32 With File System Markers</a></strong>,  I offered a brief outline of a case that destroyed a <em>FAT32 file systems</em> major components.  This was done by formatting the drive using an operating system that is not native to the file system.  In other words, a Mac was used to format the drive when the original formatting used was Microsoft.  In addition I concluded that a way to recover the data on the drive was to use the file entry record that is created for each file, and folder, in the fil system. In this article I will explain the on-disk format of the file entry record and some of the mechanics used to relate clusters.</p>
<p>Since a small program will be offered at the end of this sequence of articles the on-disk explanation will use &#8216;C&#8217; notation and a defined record data type using structures.  The following is the structure I use in my software to denote a file entry record.</p>
<p><strong>#pragma pack(1)<br />
typedef struct<br />
{<br />
UCHAR  FE_Name[8];<br />
UCHAR  FE_Extension[3];<br />
UCHAR  FE_Attribute;<br />
UCHAR  FE_NTReserved;<br />
UCHAR  FE_TimeCreatedTenth;<br />
USHORT FE_TimeCreated;<br />
USHORT FE_DateCreated;<br />
USHORT FE_DateLastAccess;<br />
USHORT FE_StartClusterHI;<br />
USHORT FE_TimeLastWrite;<br />
USHORT FE_DateLastWrite;<br />
USHORT FE_StartClusterLO;<br />
UINT     FE_FileSize;<br />
}FILE_ENTRY, *PFILE_ENTRY;<br />
#define SZ_FILE_ENTRY  sizeof(FILE_ENTRY)<br />
#define FILE_ENTRY_NULL (PFILE_ENTRY)0</strong></p>
<p>This file entry record format has been in use since the inception of DOS FAT File System.  There may have been some fields that were at one time referred to as reserved but the size and basic design of the record has always remained the same.  The following is a description of the fields used to recover the original folder heierarchy.</p>
<p>1. FE_Name[8] &#8212; This is from the old 8.3 notation and the first eight characters of the file name.  In later articles I will cover the long file name logic and how we can use that to enhance our search routines.  It is important to note that if the file name is less than eight characters the rest of the name is space filled (0&#215;20)</p>
<p>2. FE_Extension &#8212; The second part of the 8.3 notation that has the same rule set as the FE_Name field. When displayed the data in this field is after the period &#8216;,&#8217;.</p>
<p>3. FE_StartClusterHI &#8212; Stored here is the binary high short value of the starting cluster of the file, and or folder.</p>
<p>4. FE_StartClusterLO &#8212; Stored here is the binary low short value of the starting cluster of the file, and or folder</p>
<p>5. FE_FileSize &#8212; Lastly the file size.  If this file entry record defines a folder then this value is zero (0&#215;00). In addition you can see that the file size is an unsigned int, so the largest file size that can be stored is 4,294,967,295 bytes, or 4GB.</p>
<p>Now the time of file creation and last update are important as well but the five fields that I have outlined are necessary to recover the folders.</p>
<p>In my next installment I will outline the attributes of the file entry record that can define a folder entry.</p>
<p>Related Articles:</p>
<ul>
<li>Part 1 <a title="fat 32 file entry data" href="http://www.dtidata.com/resourcecenter/2008/10/21/recovering-fat32-with-file-entry-record-data-only/" target="_blank"><strong>Recovering FAT 32 With File Entry Data</strong></a></li>
<li>Part 2 <a title="recovering fat32 with file system markers" href="http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/" target="_blank"><strong>Recovering FAT  32 With File System Markers</strong></a></li>
<li><a title="freeware data recovery" href="http://www.dtidata.com/free_data_recovery_software/"><strong>Freeware Data Recovery</strong></a></li>
<li><strong><a title="hard drive recovery" href="http://www.dtidata.com">Hard Drive Recovery</a><br />
</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/10/30/fat32-recovery-file-entry-table-on-disk-layout-c-structure/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Recovering FAT32 With File System Markers</title>
		<link>http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 16:13:35 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Software How To's]]></category>
		<category><![CDATA[Data Recovery Solutions]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[FAT 32 File System]]></category>
		<category><![CDATA[FAT 32 File System Recovery]]></category>
		<category><![CDATA[FAT 32 Recovery]]></category>
		<category><![CDATA[File System How Tos]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=651</guid>
		<description><![CDATA[In my last installment, Recovering FAT 32 with File Entry Records, I talked about USB and Fire Wire devices and how they are susceptible to damage.  In addition I spoke about the file system used to store data on these devices as being FAT32 in order for the manufacturer to optimize their marketing base. [...]]]></description>
			<content:encoded><![CDATA[<p>In my last installment, <a href="http://www.dtidata.com/resourcecenter/2008/10/21/recovering-fat32-with-file-entry-record-data-only/" target="blank">Recovering FAT 32 with File Entry Records</a>, I talked about USB and Fire Wire devices and how they are susceptible to damage.  In addition I spoke about the file system used to store data on these devices as being <strong>FAT32</strong> in order for the manufacturer to optimize their marketing base.  Finally, I spoke about the fact that if the device is formatted by a non-native operating system (non windows) how could the data be recovered if in fact certain critical components were destroyed or masked.  As an example I am using a live case for this particular instance. This clients drive lost the MBR, OS Boot Records, and FAT markers by formatting their MyBook usng a Mac.  These are major system components with critical data that is necessary to align the drive.  What can we now use to bring this FAT file system back into a state where we can recover the data.</p>
<p>In the <strong>FAT file system</strong> the index records for each file and folder are not stored in one static area.  As an example of an alternate technique, if you were to format a drive using Windows XP then, of course,  the default file system would be NTFS.  One of the characteristics of NTFS is that it uses a Master File Table to store all the information about each file and folder.  The MFT is stored almost exclusively in the same place every time a drive is formatted.  Normally the MFT will start at cluster 786432 (LBA 6291456 assuming a 4K cluster) and will extend contiguously for several thousand records.  In other words, the entire index for your file system is stored in an area approximately 150MB to 200MB in size. If this area were zeroed out it would destroy all of the information as to where your files are stored and in most cases hamstring the end-users ability to recover their data, especially if the data is fragmented.  One may think that 200 MB of data is a lot of data to zero out, but I can assure you with Windows XP optimized for disk I/O and hard drives using a blazing fast DMA the destruction of the MFT would almost be transparent.  You would never know it happened until it was too late.</p>
<p>That being said, conversely the FAT file system stores their folder and file information in clusters using a file entry record. As the file system matures the clusters that are used move farther down the drive since data is now occupying the clusters closer to the beginning of the drive.  The FAT chaining system is used for folders that have more files than can be stored in a single cluster.  It is easy to see that the folder information can be scattered across the drive.  Although this plays havoc with hard drives and access speeds it makes it difficult to destroy the file system.  This cluster scattering was not by design and to this day is considered a drawback to the file system, however, it does make <strong>data recovery</strong> much easier when major file system components are lost.</p>
<p>So now that we know that file entry records are used to index the file system for FAT the problem arises as to how best to identify a file entry record from the billions of other bytes on the hard drive.  In my next installment I will outline a file entry record and reveal the attributes that allow us to filter a folder storing file names from all of the other data.</p>
<p>Related Resources:</p>
<p><a href="http://www.dtidata.com/resourcecenter/2008/10/21/recovering-fat32-with-file-entry-record-data-only/" target="blank">Recovering FAT 32 with File Entry Records</a> &#8211; the first part of this series.</p>
<p><a title="external hard drive recovery" href="http://www.dtidata.com/usb_external_hard_drive_data_recovery.htm"><strong>External Hard Drive Recovery</strong></a></p>
<p><a title="hard drive recovery" href="http://www.dtidata.com"><strong>Hard Drive Recovery</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/10/24/recovering-fat32-with-file-system-markers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How platter swelling affects a hard drive</title>
		<link>http://www.dtidata.com/resourcecenter/2008/10/08/how-platter-swelling-affects-a-hard-drive/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/10/08/how-platter-swelling-affects-a-hard-drive/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 21:10:32 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[Hard Drive How To's]]></category>
		<category><![CDATA[Hard Disk Drives]]></category>
		<category><![CDATA[Hard Drive Platters]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=276</guid>
		<description><![CDATA[  Okay, I know this is not about how to read bad parity in a drive in order to find a the stale drive in an RAID five.  This is an important subject, however, I also think it is important to know why heat and a swelling platter can cause hard drive damage.
  In its [...]]]></description>
			<content:encoded><![CDATA[<p>  Okay, I know this is not about how to read bad parity in a drive in order to find a the stale drive in an RAID five.  This is an important subject, however, I also think it is important to know why heat and a swelling platter can cause <strong>hard drive damage</strong>.</p>
<p>  In its simplest explanation a <strong>hard drive works </strong>much like the old phonograph record players.  The record would be placed on a spindle and a needle that is on the end of a tone arm would be placed on the record.  The needle reads the recorded music from the record and transfers that data to the amplifying device.  Now that being said how is a hard drive like a phonograph record? </p>
<p>  A <strong>hard drive has a platter </strong>or set of platters that are similar to the vinyl record.  These platters are mounted on a spindle. There is also a &#8216;tone arm&#8217; only on a <strong>hard drive </strong>it is called an actuator arm.  At the end of the actuator arm is a set of heads which are comparable to the phonograph needle.  This is a basic description of a hard drive, however, there is one huge difference in functionality.</p>
<p>  On a phonograph record the needle sits ON the record.  With a hard drive the needle floats on a cushion of air over the platters.  Since this is the technology used then it is important that the heads remain at a constant distance from the platters.  When a head reads a hard drive it doesn&#8217;t send a single beam to the hard drive to read it.  The signal looks like a cone and the farther the head gets from the drive the wider the cone is.  Conversely, the closer the to the platter the more compressed the cone is. </p>
<p>  With this being said, each track on a <strong>hard drive </strong>is basically equidistant from each other.  So, if the head is the correct distance from the platter then the head will read only that track.  However, if the head is too far away it will read multiple tracks, this is called over-scan.  If the heads are too close only part of the track will be read, this is called under-scan.  As an example imagine a paint sprayer and you are spraying a picket fence.  Each slat on the picket fence is a different color.  Now, if you hold the paint gun (head) too far away from the fence (platter) it will spray the neighboring slats (tracks).  On the other hand, if the paint gun is too close you only spray part of the slat.</p>
<p>  With these facts here is why platter swelling is bad.  A platter is not completely flat.  Microscopically there are many flaws in a platter, however, because the heads float on a cushion of air the imperfections do not affect the physics of the read.  If, however, the platter swells then the imperfections become accentuated and the cushion of air can no longer compensate.  In many cases the platter imperfection can become so large that it exceeds the distance of the air cushion and actually touches the head.  This is called a head crash and can scratch the platter, damage the head and wreak all kinds havoc with a <strong>hard drive</strong>.</p>
<p>  If your computer is in a room that exceeds eighty degrees then that could cause platter swelling.  If your tower is inside of a desk and the air flow is restricted that will cause platter swelling.  If there is dust in your tower then that restricts airflow and can cause platter swelling. </p>
<p>  So keep your tower dust free, keep your computer room cool, and keep the tower in an area with good air flow.</p>
<p>  Well, now that I got that off of my  technical chest hopefully next time I will cover the the mechanics of finding a stale drive in your RAID five.</p>
<p>  Until next time&#8230;<br />
For more info on <a href="http://www.dtidata.com"><strong>hard drive recovery</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/10/08/how-platter-swelling-affects-a-hard-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recovering from Accidental FDISK using Free Software</title>
		<link>http://www.dtidata.com/resourcecenter/2008/09/04/recovering-from-accidental-fdisk-using-free-software/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/09/04/recovering-from-accidental-fdisk-using-free-software/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 19:14:12 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[How To's]]></category>
		<category><![CDATA[Fdisk]]></category>
		<category><![CDATA[Hard Drive How To's]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=268</guid>
		<description><![CDATA[  Like many of us I have accidentally used &#8216;fdisk&#8217; to partition a drive that I had never intended to.  Whether it be adding a new drive, repartitioning and formatting a USB device, or just trying to reload the operating system there has been more than one occasion where I have chosen the [...]]]></description>
			<content:encoded><![CDATA[<p>  Like many of us I have accidentally used &#8216;fdisk&#8217; to partition a drive that I had never intended to.  Whether it be adding a new drive, repartitioning and formatting a USB device, or just trying to reload the operating system there has been more than one occasion where I have chosen the wrong drive and seemingly destroyed all my data on my drive. </p>
<p>  In these next few installments I will reveal what actually happens when using the Windows XP fdisk to partition a disk.  What data components get destroyed, how those components can be replaced, and what is really important to the operating system when trying to mount a file system.</p>
<p>  The tool we will use is &#8216;Free Partition Recovery&#8217; with a few enhancements for this particular problem.  This tool is extremely powerful and can make matters worse if not used in a safe and proper manner.  However, I will take you step by step on how to do the recovery of your fdisked drive. </p>
<p>  Next installment I will discuss exactly what happens to a file system when &#8216;fdisk&#8217; is used and the stop gaps Microsoft has put in to help us in the recovery of their file system.  Hopefully with this knowledge we will be enlightened and begging to chant the mantra &#8220;Microsoft&#8230; Microsoft&#8230; Microsoft&#8230;&#8221;&#8230;</p>
<p>  Until next time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/09/04/recovering-from-accidental-fdisk-using-free-software/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Use Bad Block Frequency to determine RAID 5 stale drive</title>
		<link>http://www.dtidata.com/resourcecenter/2008/08/11/use-bad-block-frequency-to-determine-raid-5-stale-drive/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/08/11/use-bad-block-frequency-to-determine-raid-5-stale-drive/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 19:05:45 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[How To's]]></category>
		<category><![CDATA[RAID Recovery Explained]]></category>
		<category><![CDATA[RAID Diagnostics]]></category>
		<category><![CDATA[raid recovery software]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=266</guid>
		<description><![CDATA[  We have been discussing the love affair I have with stale drives in a RAID five array and how best to determine if in fact one exists.  I explained how the NTFS file system data is normally laid out and the fact the old and new data, as well as how long [...]]]></description>
			<content:encoded><![CDATA[<p>  We have been discussing the love affair I have with stale drives in a RAID five array and how best to determine if in fact one exists.  I explained how the NTFS file system data is normally laid out and the fact the old and new data, as well as how long the drive may have been in the array play a significant role in finding the correct stale drive.</p>
<p>  The next step in our &#8220;Search for the Stale Drive&#8221; is to use the <a title="RAID Diagnostic Toolkit" href="http://www.dtidata.com/raid-data-recovery.htm" target="_blank"><strong>RAID Diagnostic Toolkit</strong> </a>to scan all the drives.  From the menu bar &#8220;Configuration&#8221; option select &#8220;Populate Stream List&#8221;.  This function will scan the current system you are working on for all hard drives including ones tied to a USB device.  These devices will be listed in the &#8220;Stream List&#8221;.  If you are working from images then from the same &#8220;Configuration&#8221; option on the menu bar select &#8220;Add File To Stream List&#8221;.  A standard Microsoft Windows file selection dialog box will appear.  You may then use that to add your images to the &#8220;Stream List&#8221;.</p>
<p>  Once all the streams have been placed in the &#8220;Stream List&#8221; list box, double click on each one that is part of your RAID five.  As you double click each stream object will be placed into the &#8220;<strong>RAID Configuration</strong>&#8221; list box.  Please be sure to place the streams in order in the &#8220;RAID Configuration&#8221; list box as it will help in determining which drive is stale. </p>
<p>  I can offer this clue.  In a stacked set of drives that have been residing in a cage several things happen.  The outside drives remain the coolest for two reasons.  First, they have unrestricted air flow across at least one side of the drive, and two, dust has a more difficult time collecting and obstructing air flow.  This fact alone is one of the main reasons why the interior drives seem to fail before the outside drives do as the inside drives have restricted air flow.</p>
<p>  Another thing that happens is the interior drives have heat coming not only generated by them, but they have heat from the drives that are next to them.  This can exacerbate an already poor air flow problem and cause an early fault for the hardware.</p>
<p>  As a brief aside the reason why heat is bad for hard drive is multi fold but there are two main points.  First, each hard drive has a motor and that motor has some type of lubricant.  If in fact the drive gets hot the lubricant can lose its viscosity and the spindle can begin to slow and cause a head crash.  Secondly, heat will swell components of a hard drive, in this particular case I am referring to the platters.</p>
<p>  Next time I will discuss how platter swelling can cause a head crash, and what to look for once the parity scan is executed.</p>
<p>  Until next time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/08/11/use-bad-block-frequency-to-determine-raid-5-stale-drive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Analyzing RAID parity</title>
		<link>http://www.dtidata.com/resourcecenter/2008/07/23/analyzing-raid-parity/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/07/23/analyzing-raid-parity/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 17:38:25 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[RAID Recovery Explained]]></category>
		<category><![CDATA[SNAP Server File System]]></category>
		<category><![CDATA[SNAP OS Explained]]></category>
		<category><![CDATA[SNAP Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=244</guid>
		<description><![CDATA[Last time I discussed how to find the RAID data offset for a SNAP OS 4.x RAID handler.  To put it briefly it was just a simple matter of finding Cylinder Group zero on the first drive in the array and back tracking 48 sectors.  Once the RAID data offset is established we [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I discussed how to find the RAID data offset for a SNAP OS 4.x RAID handler.  To put it briefly it was just a simple matter of finding Cylinder Group zero on the first drive in the array and back tracking 48 sectors.  Once the RAID data offset is established we can plug those numbers into our <a title="RAID Diagnostic Toolkit" href="http://www.dtidata.com/raid-data-recovery.htm" target="_blank">RAID Diagnostic Toolkit</a> and begin analyzing the parity.</p>
<p>The main objective of the parity check is to make sure that:</p>
<p>1. We do not have a stale drive in the array</p>
<p>2. We do not have a drive in the array that does not belong</p>
<p>3. All RAID data offsets are correct.</p>
<p>Lets take each item from one to three and explore their impact.  Item one basically means that there is a drive in the array that has not been functioning for a certain period of time.  Normally an alarm goes off, an email may be sent, there is some sort of notification that a drive has dropped out of the array and now the RAID is running in a degraded state.  When the technician who is administering the array does not get a warning it is usually because there has been some type of hardware malfunction that, although the drive is out of the array, the RAID BIOS does not sound the alarm.  A second reason is that the alarm stops working.  The little speaker on the RAID card that sends this terrible shrill through the server room is malfunctioning and nobody hears it.  Another reason might be that the original RAID administrator may have shut off all alarm notification flags during configuration and never turned them back on.  There are a lot of other reasons but the fact of the matter is that a RAID administrator may have a RAID that has been degraded for a year and not even be aware of it.</p>
<p>Item two is rare, however, it happens enough to where you need to be concerned if you are trying to recover your RAID.  This item also is not very common in the SNAP line of servers as it is in DELL.  There are times when a RAID is configured as &#8216;X&#8217; drives, and one hot swap.  The RAID admin who is now working for the company you are trying to recover the data for sends the RAID he tells you it has four drives when it is really three drives and one hot swap.  He may not know the original configuration.  He may not know how to get into the RAID BIOS to look to see how it was configured.  There could be a hundred and one reasons as to why you get a hot swap drive sent to you along with the rest of the array.  The point is, be aware that it can happen.</p>
<p>As a side note, DELL has configure many of their RAID models to have two mirrored drives for the OS, and 3 to X drives as a RAID 5.  I have received all the drives from a client with them &#8217;swearing&#8217; that all of these drives are in the array.  Once I have analyzed the parity, and look at the drives through a hex editor I come to the realization that I have two RAIDS on my hands, not one.  Once again, be aware that the client may not know their exact configuration.</p>
<p>Finally item three.  Sometimes, not often, actually this was the first time with a SNAP server, the RAID data offsets are staggered.  In my next installment I will explain what happened with this particular job, and why it happened.  Until next time.</p>
<p>Click here to <strong><a title="RAID Diagnostic Toolkit" href="http://www.dtidata.com/raid-data-recovery.htm" target="_blank">Download the RAID Diagnostic Toolkit</a></strong>. Be sure to read the instructions on the page as well as follow the links to the instructions with screenshots. You may also visit our page: <strong><a title="raid configuration parity check" href="http://www.dtidata.com/resourcecenter/2008/05/08/raid-configuration-parity-check/" target="_blank">RAID Configuration and Parity Check</a></strong> for more information. Find out more about <a title="raid data recovery" href="http://www.dtidata.com"><strong>RAID Data Recovery</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/07/23/analyzing-raid-parity/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Finding SNAP OS 4.x RAID Data Offset</title>
		<link>http://www.dtidata.com/resourcecenter/2008/07/21/finding-snap-os-4x-raid-data-offset/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/07/21/finding-snap-os-4x-raid-data-offset/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 20:04:36 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>
		<category><![CDATA[RAID Recovery Explained]]></category>
		<category><![CDATA[SNAP Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=228</guid>
		<description><![CDATA[If you are in this business long enough you will see everything, or will you?  Two weeks ago I received a SNAP RAID OS 4.x for recovery.  I have done a lot of these and I am pretty familiar with the data offsets, how the drives are setup, and where to begin the virtual RAID [...]]]></description>
			<content:encoded><![CDATA[<p>If you are in this business long enough you will see everything, or will you?  Two weeks ago I received a SNAP RAID OS 4.x for recovery.  I have done a lot of these and I am pretty familiar with the data offsets, how the drives are setup, and where to begin the virtual RAID for my software.  Having said that, these are the steps I normally take, and the results from those steps.</p>
<p>First thing I do is to make images of all four drives.  These were four identical Seagate Barracuda ST380011A hard drives, so I made sure I had at least 320GB of space on one of my partitions on my server and, using WinHex dumped the images.  Once I had done this I put the clients original drives in their bin hopefully not to use them again.</p>
<p>Next step is to use WinHex and eyeball the beginning of the RAID data.  With SNAP OS this is a simple matter of looking for the first cylinder group on the first drive then subtracting forty eight sectors from that.  The assumption is that the block size is 8192 bytes, or sixteen sectors.  If we were to look sixteen sectors before the first cylinder group you would see the file system superblock.  If we skip back another 16 sectors you see another super block.  Finally, another sixteen sectors and there should be a null sector.  Sometimes I see data in there but that is usually because the drive has somehow been corrupted.</p>
<p>So, once again, to find the beginning of the RAID data segment you find the first cylinder group and subtract forty eight sectors from that.  The sector offset derived from that formula is the beginning of the RAID data segment of each drive.  They will be the same on all four drives or at least I thought that until this particular recovery.</p>
<p>Next step will be to check the drive parity which, in this case, was unusual. This step will be in the next blog titled &#8220;<strong><a title="Analyzing RAID parity" href="http://www.dtidata.com/resourcecenter/2008/07/23/analyzing-raid-parity/" target="_blank">Analyzing RAID parity</a></strong>&#8220;.</p>
<p>For more info on<a title="raid date recovery" href="http://www.dtidata.com" target="_blank"> RAID Data Recovery </a>or <a title="SNAP server data recovery" href="http://www.dtidata.com/snap_server_recovery.htm" target="_blank">SNAP Data Recovery</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/07/21/finding-snap-os-4x-raid-data-offset/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RAID Configuration and Parity Check</title>
		<link>http://www.dtidata.com/resourcecenter/2008/05/08/raid-configuration-parity-check/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/05/08/raid-configuration-parity-check/#comments</comments>
		<pubDate>Thu, 08 May 2008 15:24:14 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[RAID Recovery Explained]]></category>
		<category><![CDATA[RAID Diagnostics]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/?p=209</guid>
		<description><![CDATA[The function set for the inaugural offering of RAID Diagnostic Toolkit is very basic. This post will explain how to choose a set of &#8217;streams&#8217; to build a &#8216;RAID set&#8217;. Initially the software does not have any options for stripe size, raid type, meta data offsets, so on and so forth. For the &#8216;parity check&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">The function set for the inaugural offering of <a href="http://www.dtidata.com/raid-data-recovery.htm" target="blank">RAID Diagnostic Toolkit</a> is very basic. This post will explain how to choose a set of &#8217;streams&#8217; to build a &#8216;RAID set&#8217;. Initially the software does not have any options for stripe size, raid type, meta data offsets, so on and so forth. For the &#8216;parity check&#8217; function which this current version of this software offers, the assumptions will be a RAID 5, with a 64K stripe size, with no meta data. In future releases of the software these, and many other options will be added in order to make a more robust diagnostic tool.</p>
<p style="text-align: left;">First we must populate the RAID with streams. There are basically two types of streams that we will use, the first is a physical data stream or &#8216;hard drive&#8217;. The second is an image data stream or &#8216;file&#8217;. Figure A depicts populating the &#8217;stream list&#8217; with physical streams. As you can see the &#8216;Populate Stream List&#8217; menu item is highlighted. Clicking on this will poll all hard drives on the local machine and display them as shown in Figure B.</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-215 aligncenter" src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/04/fig-a1.bmp" alt="Figure A" /></p>
<p style="text-align: center;">Figure A</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-218" src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/04/figure-b.bmp" alt="Figure B" /></p>
<p style="text-align: center;">Figure B</p>
<p style="text-align: left;">The best way to test an array is to make images of the hard drives and then use the images for testing. From the &#8216;Configuration&#8217; menu option click on &#8220;Add File Stream To List&#8221;. A standard Windows file selection dialog box will appear. Go to the proper folder and choose the image that you would like to add to your stream list. Click on the file, and then open and the file will be added to your stream list. You are now free to add this item into your RAID Configuration list.</p>
<p style="text-align: left;">In order to add an item from the stream list into the RAID Configuration simply double-click on the stream list item and it will be added into the RAID Configuration list of items as depicted in Figure C.</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-219 aligncenter" src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/04/figure-c.bmp" alt="" /></p>
<p style="text-align: center;">Figure C</p>
<p style="text-align: left;">Next, in order to start the parity test click on the menu item &#8220;Diagnostics&#8221;. Doing so will reveal the menu item &#8220;Raid Five Parity Check&#8221;. Click on that menu item and the diagnostic will begin. This function will check the RAID five on a stripe by stripe basis and <a href="http://www.dtidata.com/resourcecenter/2008/02/19/snap-server-data-recovery-3-spanned-raid-5-drive-set-definition/">validate the parity using XOR mathematics</a>.</p>
<p style="text-align: left;">In the lower left hand corner of the software is a small status/information window that offers real time data of the parity scan. this window contains five items which describe the state of the diagnostic.</p>
<p style="text-align: left;">Type:    The configured RAID/River type</p>
<p style="text-align: left;">Ident:    Identifier give to the RAID/River type</p>
<p style="text-align: left;">Block:   The block, currenty being scanned by the software</p>
<p style="text-align: left;">Time:    Time remaining till the scan has completed.</p>
<p style="text-align: left;">Errors: The total blocks that a parity error has been found.</p>
<p style="text-align: left;">Two of the five items are most pertinent for this particular function. They are the &#8220;Errors&#8221; item and the  &#8220;Block&#8221; item.  If the &#8220;Error&#8221; item is ten to fifteen percent of the array then the array stripe is probably corrupt and you may have a stale drive in the array. For all practical purposes however, there should be less that or a total of three or four total errors for the entire array. A healthy array will have no errors and if even only one appears that could mean either the hardware is starting to fail, or worse, the firmware and or its accompanying memory me be buggy.  Either scenario could spell disaster for your array and should be <a href="http://www.dtidata.com/raid_data_recovery.htm">looked at immediately</a>. View Figure D as an example.</p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/04/figure-d.bmp"><img class="alignnone size-medium wp-image-220 aligncenter" src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/04/figure-d.bmp" alt="" /></a></p>
<p style="text-align: center;">Figure D</p>
<p style="text-align: center;">
<p style="text-align: left;">Finally, if you wish to interrupt the diagnostic just click on the &#8220;Configuration&#8221; menu item, and then the &#8220;Interrupt Processing&#8221; item and all processing will stop.</p>
<p style="text-align: left;">That&#8217;s it! Of course you must always bear in mind that even if the RAID does not pass the parity test there may still be data to recover. Alternatively if it does pass, this does not necessarily mean that the RAID is good for a rebuild. There will be other functions added to the software that will help you better determine if a rebuild is advisable.</p>
<p style="text-align: left;">Dick Correa</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/05/08/raid-configuration-parity-check/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>MFT Data Recovery</title>
		<link>http://www.dtidata.com/resourcecenter/2008/04/21/data-recovery-master-file-table-recovery/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/04/21/data-recovery-master-file-table-recovery/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 20:47:36 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[Data Recovery Software How To's]]></category>
		<category><![CDATA[File Systems Explained]]></category>
		<category><![CDATA[Software How To's]]></category>
		<category><![CDATA[Data recovery tutorial]]></category>
		<category><![CDATA[File Recovery]]></category>
		<category><![CDATA[MFT Data Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2008/04/21/data-recovery-master-file-table-recovery/</guid>
		<description><![CDATA[Over the years I have recovered many hard drives configured with NTFS.  One of the leading reasons that data recovery is performed on these hard drives is an anamoly developed in the Master File Table.  This area of the drive is the single most important set of data stored on your system.  [...]]]></description>
			<content:encoded><![CDATA[<p>Over the years I have recovered many<strong> hard drives</strong> configured with NTFS.  One of the leading reasons that data recovery is performed on these hard drives is an anamoly developed in the Master File Table.  This area of the drive is the single most important set of data stored on your system.  The Master File Table houses all attributes, as well as cluster placement for every file on your system.  It contains security attributes, file name attributes, date and time signatures, and a mini FAT called a run list that points to every cluster where a  particular file is stored.</p>
<p>In addition to the infomation stored in the Master File Table it has been my experience that if a previous copy of the Master File Table had been saved off into a file onto a remote site I could have easily imported that file and used it to recover the data.  In other words, it is rarely the occasion that an entire file system gets totally wiped out.  It is usually some small piece of information either corrupted or omitted from the Master File Table that causes the problem.  Even a restore disk used on a hard drive that totally destroys all remnants of a file system cannot keep a backup copy of the Master File Table from recovering some data.</p>
<p>How, you may ask can this be?  Well grasshopper, read on and see.  Imagine a book.  A reference book preferably.  Now, let us define the attributes of a reference  book.  Lets see, there is a forward where the author may offer a few remarks so we know how intelligent he is.  There is a table of contents that give you a general idea of what is in the book and where it is located. There is the body of the book, the actual information.  Last but not least, an index.  A detailed description, with page numbers that tell you exactly where the data is that you are looking for. For illustration purposes we can  say that the index of the book is the Master File Table, and the body of the book is the data on your hard drive.  If the index of the book is ripped out of the back, how would it be possible to find the information you are looking for?  I suppose you could wade through the entire book and possibly, after several hours of searching, find the answers you are looking for.  I have done that with some of my older books where the back, and the front of the book have disappeared.   A book may have 200, 300, 400, maybe even 500 pages to look through, and if the information is important enough it is worth the look.  However, wouldn&#8217;t it have been easier if I would have just photo copied the index and placed that in a nice safe place.  Then, when the book gets old, and I lose the index, I have this nice copy that I have kept to help me find my information.</p>
<p>Leafing through a 500 page book may be time consuming but it is feasible, however, apply that same logic of the index and the book to a hard drive.  Who wants to scan through 234,000,000 sectors looking for data.  If the data is fragmented then the data is probably lost.  Wouldn&#8217;t have been nice to have a copy of the Master File Table to use and find all of your old tax returns, or doctoral thesis, or the only pictures of your grandsons birth?  I would say, &#8220;Yeah!! It would&#8217;ve been nice!&#8221;.</p>
<p>Please don&#8217;t get the wrong idea.  This is not the same as entire backup, on another set of media.  There are holes to this system.  First, if the drive actually goes bad, then it will be difficult if not impossible to get the data back.  Secondly, any thing that writes to the data portion of the drive will make the Master File Table useless. However, it takes a long time to destroy a 250 GB  hard drives data area.  Lastly, I have not been able to find a piece of software that just dumps the Master File Table to a remote site.  Looks like someone should write one?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/04/21/data-recovery-master-file-table-recovery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>SNAP RAID Recovery Part II Drive Set Definition</title>
		<link>http://www.dtidata.com/resourcecenter/2008/02/19/snap-server-data-recovery-3-spanned-raid-5-drive-set-definition/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/02/19/snap-server-data-recovery-3-spanned-raid-5-drive-set-definition/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 17:11:48 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2008/02/19/snap-server-data-recovery-3-spanned-raid-5-arrays-part-ii/</guid>
		<description><![CDATA[One of the many attributes of a RAID 5 that make it popular is that if a drive goes down in the array the RAID will remain functional.  In such a case the following events should occur.  An alarm should sound.  An alarm that would wake the dead.  An alarm that would make raking your [...]]]></description>
			<content:encoded><![CDATA[<p>One of the many attributes of a RAID 5 that make it popular is that if a drive goes down in the array the RAID will remain functional.  In such a case the following events should occur.  An alarm should sound.  An alarm that would wake the dead.  An alarm that would make raking your fingernails across a chalkboard sound pleasurable by comparison. An alarm that by all known standards would be considered inhumane in most modern cultures.  This alarm will sound incessantly, unwavering in its pursuit to be heard until the technician hits it with a keyboard, kicks the server plug out, or kills a chicken and offers a sacrifice to the alarm gods.  In other words, you can’t miss this alarm, and if you do, see the reference to ‘wake the dead’.  </p>
<p>Secondly, an email will be sent, advising you that the four years worth of data that you thought was being backed up, but you discovered two days ago wasn’t,  is now in peril of being lost into the never never land of lost bits and socks that inexplicably disappear from the dryer.  Yes, your job, your home, your marriage, all will be lost unless you heed the email warning and immediately shut down the server, to the chagrin of 427 end users who are reading about American Idol. HAH! Welcome to the party pal! (Quote circa 1976:  Bruce Willis: Die Hard)</p>
<p>Keep in mind that although there are many RAID cards, as well as on-board RAID interfaces that perform these functions, your particular RAID firmware, as well as its current configuration may not.</p>
<p>The reason that a RAID 5 can have a drive go down and still run is the mathematics of XORing (eXclusive ORing) the data.  This method for keeping the data relatively safe in a RAID 5 is called parity. It is a manipulation of bits in each byte of data.  For the unwashed a byte is eight bits. <br />
       <br />
In order to under stand XORing it is imperative that you understand the XOR truth table.  Figure 1 is the truth table for eXclusive ORing.</p>
<p>                                                                                                                                                                                 <br />
                                                                                     <a title="figure-1.jpg" href="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-1.jpg"><img src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-1.jpg" alt="figure-1.jpg" /></a></p>
<p>                                                                                           Figure 1<br />
        Figure 2 is an example of XORing and how it relates to a four drive RAID 5 and the parity.<br />
       </p>
<p><a title="figure-2.jpg" href="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-2.jpg"><img src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-2.jpg" alt="figure-2.jpg" width="637" height="91" /></a></p>
<p>                                                                                           Figure 2</p>
<p>The data is arranged thusly:<br />
‘R’ is the ASCII letter<br />
52h is the ASCII hexadecimal value of ‘R’<br />
0101 0010 is the ASCII binary representation of the letter.<br />
As you can see each letter has is set up the same way.</p>
<p>For illustration purposes the following can be assumed.  Each line is considered a single byte of a stripe as conveyed by Figure 3.  If we take the ‘R’, and the ‘F’, and the ‘T’, and XOR them together, we get the value in D4, where each bit, of each byte is individually XORed across the stripe. </p>
<p> <a title="figure-3.jpg" href="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-3.jpg"><img src="http://www.dtidata.com/resourcecenter/wp-content/uploads/2008/02/figure-3.jpg" alt="figure-3.jpg" width="637" height="32" /></a></p>
<p>                                                                                         Figure 3</p>
<p align="center"><strong>Using Figure 4 as a base, and the truth tables we can see the following:</strong></p>
<p align="center"> </p>
<table border="1" cellspacing="1" cellpadding="4" align="center">
<tbody>
<tr>
<th width="20"> </th>
<th width="8">1</th>
<th width="33"> </th>
<th width="8">2</th>
<th width="9"> </th>
<th width="8"> </th>
<th width="33"> </th>
<th width="8">3</th>
<th width="9"> </th>
<th width="9">4</th>
</tr>
<tr>
<td height="5">
<p align="right">L1:</p>
</td>
<td height="5">0</td>
<td height="5">
<p align="center">XOR</p>
</td>
<td height="5">0</td>
<td height="5">=</td>
<td height="5">0</td>
<td height="5">
<p align="center">XOR</p>
</td>
<td height="5">0</td>
<td height="5">=</td>
<td height="5">0</td>
</tr>
<tr>
<td>
<p align="right">L2:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>
<p align="right">L3:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L4:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L5:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L6:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L7:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L8:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
</tbody>
</table>
<p align="center">Figure 4</p>
<p align="center"> <strong>Now, lets say we lose D2 (drive two) in the array.  The following is how the RAID card firmware handles it.</strong></p>
<table border="1" cellspacing="1" cellpadding="4" align="center">
<tbody>
<tr>
<th width="20"> </th>
<th width="8">1</th>
<th width="33"> </th>
<th width="8">3</th>
<th width="9"> </th>
<th width="8"> </th>
<th width="33"> </th>
<th width="8">4</th>
<th width="9"> </th>
<th width="9">2</th>
</tr>
<tr>
<td>
<p align="right">L1:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L2:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>
<p align="right">L3:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L4:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L5:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
</tr>
<tr>
<td>
<p align="right">L6:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>1</td>
<td>=</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>
<p align="right">L7:</p>
</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>1</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>1</td>
</tr>
<tr>
<td>
<p align="right">L8:</p>
</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>0</td>
<td>
<p align="center">XOR</p>
</td>
<td>0</td>
<td>=</td>
<td>1</td>
</tr>
</tbody>
</table>
<p align="center">Figure 5</p>
<p>We have built drive 2 on the fly.  We do not need to know the data since we can use the XOR truth table and the remaining three drives data to calculate the value of drive two. In the above example the process was illustrated for one byte across one stripe on a four drive array.  All of these calculations are done in an instant on a stripe by stripe basis.  The full stripe is recalculated for every write, and if a drive is out of the array for every read of the down drive.  With all these calculations you would think it would slow down the processing. To a degree, it does, however, bus I/O is infinitely slower than any XOR math a CPU may have to perform.  A way to emphasize this point is imagine you are standing on a bridge.  Below you is a river.  Each byte of data is a boat that passes under the bridge.  The boat travels from the hard drive, down the river, to memory, and to the CPU.  As one boat passes, you wait for the next boat.  The next boat will not pass for one hundred years.  The CPU is in a perpetual wait state.  It is always waiting for data to process.  So, if you want to speed up your PC, by high speed I/O smart boards that can RAID, on a high speed bus. </p>
<p>To be continued&#8230;</p>
<p>Learn more about <a title="raid date recovery" href="http://www.dtidata.com">RAID Data Recovery</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/02/19/snap-server-data-recovery-3-spanned-raid-5-drive-set-definition/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SNAP Server Data Recovery 3 Spanned RAID 5 Arrays</title>
		<link>http://www.dtidata.com/resourcecenter/2008/02/08/snap-server-data-recovery-3-spanned-raid-5-arrays/</link>
		<comments>http://www.dtidata.com/resourcecenter/2008/02/08/snap-server-data-recovery-3-spanned-raid-5-arrays/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 20:40:11 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2008/02/08/snap-server-data-recovery-3-spanned-raid-5-arrays/</guid>
		<description><![CDATA[Recently, it was my task to take sixteen drives, spanned across three RAID fives, and recover a set of hundreds of AVI files. These files were used for research and although not time sensitive, were critical to the conclusions of the research. 
We have been asked to do many similar jobs where the archive of a set [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, it was my task to take sixteen drives, spanned across three RAID fives, and recover a set of hundreds of AVI files. These files were used for research and although not time sensitive, were critical to the conclusions of the research. </p>
<p>We have been asked to do many similar jobs where the archive of a set of data has been compromised.  Many lawyers have databases of all of their scanned briefs as well as all documentation pertaining to a particular case. If that information is lost and the case reopened for appeal it could be devastating to not be able to review the documentation in a timely manner. I mention this because it took me over a month to complete this task, and although interesting, was very tedious.</p>
<p>What made this recovery interesting was that the drives were in two physical devices.  The first device was a four drive SNAP array that was used as the head. The other device was a twelve drive SNAP server that was broken up into two RAID fives.  The challenge for this recovery was that no one knew which drives were in which array, no one knew the drive order of any array, the configuration given to me by the SNAP server was in error, no one knew the stripe size of the array, and finally, the data recovery company who had the array before me, marked the drives out of order. In other words, I was handed 16 drives and told to figure out a triple spanned RAID five.</p>
<p>So here are the steps I took to solve this data recovery problem for my client.</p>
<p>Step one, I had to find out which drives went with each other.  I would have hoped that each RAID was equal in size.  In other words, I hoped the RAIDs would all be four drives for the head in one array, and eight drives each for the other two RAIDS, but this was not the case. In order to find which drives went with which array I had to know several things. </p>
<p>First, I had to know the SNAP layout for arrays.  Each drive in a SNAP array is basically broken up into two parts, the operating system, and the data area.  In order to find the size of each you must look at the master boot record (MBR) of each of the drives.  The MBR houses the partition table which is a listing of the active partitions.</p>
<p>SNAP partitions are divided into three basic areas, an operating system partition, a swap partition and a data partition.  SNAP Appliance designed their device so that if one of the drives went down the firmware would roll to the next drive to load the operating system, network interface, and RAID handler.  The important piece of information is what the standard offset to the data area is. The data area of each drive is used for the RAID 5.  I have found the data area sector offset for the Guardian OS series to be LBA sector 2216970.  This information may change from version to version, but all the Guardian operating systems I have worked with have been the same.</p>
<p>Now that we know the data area offset we can take the next step, which is to determine which drive sets comprise the three RAID sets.</p>
<p>To be continued&#8230;&#8230;..</p>
<p><strong><a target="_blank" href="http://www.dtidata.com" title="raid date recovery">RAID Data Recovery</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2008/02/08/snap-server-data-recovery-3-spanned-raid-5-arrays/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Black Art Of Data Recovery: BIOS &#8211; MBR &#8211; Part Two</title>
		<link>http://www.dtidata.com/resourcecenter/2007/06/22/black-art-data-recovery-mbr-bios-virus-part-2/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/06/22/black-art-data-recovery-mbr-bios-virus-part-2/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 16:08:39 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[The Black Art of Data Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/06/22/black-art-data-recovery-mbr-bios-virus-part-2/</guid>
		<description><![CDATA[Let&#8217;s take a look at some of the boot code of a pretty standard MBR. The first thing we want to do is a little house keeping, then relocate the code we loaded at 0000:7C1B to 0000:061B. Which is spelled out in the First Part of &#8211; The Black Art Of Data Recovery: BIOS, MBR, [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s take a look at some of the boot code of a pretty standard MBR. The first thing we want to do is a little house keeping, then relocate the code we loaded at 0000:7C1B to 0000:061B. Which is spelled out in the <a target="_blank" href="http://www.dtidata.com/resourcecenter/2007/06/13/data-recovery-bios-mbr-virus/" title="bios mbr virus part 1">First Part of &#8211; The Black Art Of Data Recovery: BIOS, MBR, Virus.</a></p>
<p>MOV SI,07C1B  ;set SI (source index) to 7C1B<br />
MOV DI,0061B ;set DI (destination index) to 061B<br />
PUSH AX            ;PUSH AX for segment for RETF to 0<br />
PUSH DI             ;PUSH DI for offset for RETF = 061B<br />
MOV CX,01E5   ;1E5 bytes to copy<br />
REP MOVSB      ;Copy the MBR<br />
RETF                   ;PULL 0000:061B off stack and JMP to MBR</p>
<pre></pre>
<p>Once we have the bootstrap code relocated we begin to scan the partition table for a bootable partition.The following figure is one record entry in a partition table. There can be a total of four entries in a partition table.</p>
<h2>Partition Record Layout</h2>
<table border="1" width="450" cellPadding="0" cellSpacing="0">
<tr>
<td bgColor="#c0c0c0" width="15%" vAlign="top" style="background: silver; width: 15%; border: black 1pt inset; padding: 3.75pt">
<p align="center" style="text-align: center"><strong><strong>Offset</strong></strong></p>
</td>
<td bgColor="#c0c0c0" width="15%" vAlign="top" style="background: silver; width: 15%; border: black 1pt inset; padding: 3.75pt">
<p align="center" style="text-align: center"><strong><strong>Size</strong></strong></p>
</td>
<td bgColor="#c0c0c0" width="100%" vAlign="top" style="background: silver; width: 100%; border: black 1pt inset; padding: 3.75pt">
<p align="center" style="text-align: center"><strong><strong>Description</strong></strong></p>
</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">00h</td>
<td style="border: black 1pt inset; padding: 3.75pt"><span></span>Byte</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Boot flag. 80h if partition is bootable, otherwise 0.</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">01h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Byte</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Starting head(0 to 254)</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">02h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Word</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Starting cylinder (0 to 1023) &amp; sector (1 to 63) number</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">04h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Byte</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt"><span></span>Partition type (07 NTFS, 06 FAT16, 0C FAT32)</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">05h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Byte</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Ending head number (0 to 254)</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">06h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Word</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Ending cylinder (0 to 1023) &amp; sector (1 to 63) number</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt">08h</td>
<td style="border: black 1pt inset; padding: 3.75pt">Dword</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt"><strong>relative sectors</strong> to start of partition</td>
</tr>
<tr>
<td style="border: black 1pt inset; padding: 3.75pt"><span></span>0Ch</td>
<td style="border: black 1pt inset; padding: 3.75pt">Dword</td>
<td width="100%" style="width: 100%; border: black 1pt inset; padding: 3.75pt">Total number of sectors in partition</td>
</tr>
</table>
<p>Once a bootable partition is found, the boot code pointed to by the <strong>relative sectors </strong>field of the partition record is read into memory location 0000:7C00 and then an RETF is executed and the boot code for the operating system takes over. This type of boot system is called two phase because the MBR does not load the operating system, it only loads a loader.In other words, the MBR is a preloader for the OS boot loader.</p>
<p>During the boot process and the parsing of the partition records many things can go wrong.If there is not a boot flag set then the system may just hang with a blinking cursor in the upper left hand corner. You may get the message &#8220;Invalid partition table&#8221;, if the boot flag is set to something other than zero.You may also get the message &#8220;Missing operating system&#8221; in the AA55 magic number is not present in the OS boot loader. These errors can be fixed by hand. The following is a step by step approach to fixing the boot flag, as well as the OS magic number.</p>
<h3>Repairing Boot Flag with WinHex</h3>
<p>Each technician has his own set of tools that he relies on.In my case many of my tools are custom written since I am a software engineer. However, there are some tools that are just so good they cannot be improved upon.WinHex from X-Ways Software is such a tool.It has two attributes that are essential to a technician, one, it is extremely flexible, and two, it is very reliable. So, that being said fire up your copy of WinHex, and if you don&#8217;t have a copy, the download one, and let the boot flag repairing begin.First of all, as depicted in Figure A, the boot flag is located at offset 446, or 1BEh.In this particular case the boot flag is set to 80h, which is bit seven set. This is a normal partition record, in a single partitioned hard drive.</p>
<p><strong>Figure A<br />
</strong><br />
<img width="475" src="http://www.dtidata.com/resourcecenter/mbr-a.gif" alt="master boot record" height="415" style="width: 475px; height: 415px" title="master boot record" /></p>
<p>In Figure B we can see what a multi partitioned drive looks like:<br />
<img width="475" src="http://www.dtidata.com/resourcecenter/mbr-b.jpg" alt="mbr table" height="415" style="width: 475px; height: 415px" title="mbr table" /><br />
Finally, in Figure C we can see what bad boot flag value looks like. The bad boot flag value in Figure C is the value 65h. In order to fix this problem merely change the value to either 80h if you want it bootable, or 00h if you just want it mounted.</p>
<p><strong>Figure C</strong></p>
<p><img width="475" src="http://www.dtidata.com/resourcecenter/mbr-c.jpg" alt="master boot table record" height="413" style="width: 475px; height: 413px" title="master boot table record" /></p>
<p>As you can see, that hard part is <span>knowing</span> where the boot flags are, and then knowing which values you can place in them in order to mount the volume. I have given them both to you. Learn more about <strong><a href="http://www.dtidata.com" title="data recovery">data recovery</a></strong>.</p>
<h3></h3>
<h3></h3>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/06/22/black-art-data-recovery-mbr-bios-virus-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Black Art of Data Recovery: BIOS, MBR, VIRUS</title>
		<link>http://www.dtidata.com/resourcecenter/2007/06/13/data-recovery-bios-mbr-virus/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/06/13/data-recovery-bios-mbr-virus/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 19:21:27 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[The Black Art of Data Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/06/13/data-recovery-bios-mbr-virus/</guid>
		<description><![CDATA[Virus programmers, although destructive, were at one time some of the most innovative programmers in the industry.  They exploited the very core of an operating system, and could do magic with the BIOS and MBR.  The virus writer of present is just some hack script writer who has no understanding of the true [...]]]></description>
			<content:encoded><![CDATA[<p>Virus programmers, although destructive, were at one time some of the most innovative programmers in the industry.  They exploited the very core of an operating system, and could do magic with the BIOS and MBR.  The virus writer of present is just some hack script writer who has no understanding of the true nature of the relationship between the BIOS, and the MBR.  These words try to shed some light on the boot up sequence, and the susceptibility we all share.</p>
<p>Over the years many things in the world of computers has changed. We have gone from command line, to GEM, to a windowed GUI type of operating system. A stick of memory used to be one hundred dollars for 1 MB, now its seventy five dollars for 1024 MB. A forty megabyte hard drive was $1000.00. Now you can get 750 gigabytes worth of hard drive for two hundred and fifty dollars. We have gone from 8 bit (XT), 16 bit (286) 32 bit (386), and finally 64 bit (EMT 64) central processing units.</p>
<p>With all of this obviously monumental progress, one of the most important functions of the computer has never changed. The boot sequence. Oh yes, it may have been enhanced, there may have been little items added here and there, but the focal point of the boot up process has never changed. Let’s take a quick look at the steps in booting a PC.</p>
<p>When you switch on your PC immediately the BIOS takes over. In its process it does what is called a POST (Power On Self Test). The POST is a set of diagnostics that will test the hardware of your computer. Examples would be memory, bus, CPU, ports, PCI bridge, and the like. Through the use of checksum, and data echoing the POST can tell if something is amiss in your hardware. If the POST finds something wrong, and considers it a fatal error, the boot process will be halted, and a series of beeps may be given. These beeps, depending upon the BIOS developer, will guide you in diagnosing your fatal error. The beeps are used because many times an error in the hardware will make it so the video cannot be used. The POST is much more comprehensive than is being presented here; however, this set of articles is about data recovery and not how to diagnose your POST process.</p>
<h2>Master Boot Record</h2>
<p>The BIOS has found a HDD that is in the list of bootable devices. The BIOS will then load the first sector of that HDD into memory. Just as a point reference a sector is defined as 512 bytes of data. So, once again, the sector is loaded into memory. You may ask yourself, “Self, where exactly in memory does the BIOS load the MBR?”. An excellent question! From nearly the beginning of the PC industry. From the dawn of the BIOS, it has been scribed by the ancients that the MBR will be loaded into memory location 0000:7C00. (<em>Drum Roll, cut to Yul Brenner laughing maniacally shouting “So let it be written, so let it be done!”. He was a good Ramses but Charlton Heston was a great Moses!)</em></p>
<p style="text-align: center"><img src="http://www.dtidata.com/resourcecenter/bios.jpg" alt="bios mbr virus" style="width: 419px; height: 285px" title="bios mbr virus" height="285" width="419" /></p>
<p>In addition, there are some BIOS’ that will perform a small test on the MBR to see if it is valid. The test is to make sure there is a 0&#215;55, and a 0xAA in bytes 510, and 511 respectively. If those bytes are not present, some BIOS will stop the boot process for that HDD and continue onto an alternative device. If all devices fail, then an appropriate error message will be displayed.</p>
<p>Boot Failure: System Halted is the choice of Award BIOS. If , however, the MBR is loaded and passes all of the BIOS testing INT 0&#215;19 is called and a jump to memory location 0000:7C00 is performed. There, control of the entire PC is passed to the MBR<em>. Awesome!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/06/13/data-recovery-bios-mbr-virus/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Black Art Of Data Recovery</title>
		<link>http://www.dtidata.com/resourcecenter/2007/05/25/black-art-data-recovery-overview/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/05/25/black-art-data-recovery-overview/#comments</comments>
		<pubDate>Fri, 25 May 2007 23:02:47 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[The Black Art of Data Recovery]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/05/25/black-art-data-recovery-overview/</guid>
		<description><![CDATA[Over the next several weeks we are going to take an in depth look at how data recovery in all of its phases is applied to the Microsoft NTFS file system. You may consider this a class in the data recovery of an NTFS file system as well as a mini course in hard drive [...]]]></description>
			<content:encoded><![CDATA[<p>Over the next several weeks we are going to take an in depth look at how <strong>data recovery</strong> in all of its phases is applied to the Microsoft NTFS file system. You may consider this a class in the <em>data recovery of an NTFS file system</em> as well as a mini course in hard drive design repair.</p>
<p>The knowledge that I will impart over the next several weeks is not for the faint of heart. Although I will use plain language, as well as diagrams where needed, the application of the information is meant for technicians and software engineers. However, everyone I am sure will come away with a better understanding of the NTFS file system.</p>
<p>The following are the topics that will be covered on a week by week basis. Hopefully, I will be able to maintain the weekly schedule, however if life and my work get in the way, some weeks I may have to skip until the following week.</p>
<p><strong>Week 1:</strong></p>
<p>Boot Up Sequence: This will include how the BIOS determines a boot device. Once a boot device is determined how the BIOS hands over the boot sequence to the Master Boot Record. The layout of the Master Boot Record and how the boot code determines the boot partition. What can go wrong during the boot sequence and some ways you can fix those problems.</p>
<p><strong>Week 2:</strong></p>
<p>Continuing the Boot Sequence: This will cover how the Master Boot Record hands over the booting of the operating system to the OS Boot Record. This will include the layout of the BIOS Parameter Block, and how its data elements relate to data storage. A brief explanation of the NTLDR. I will also cover the problems that can arise during the OS boot and how you can possibly repair the problem.</p>
<p><strong>Week 3:</strong></p>
<p>Data Storage Part I: Understanding how data is stored is critical if you want to have even a remote chance of file recovery. Discussion on clusters, why they are used, how they are allocated. How the operating system stores the data on the physical media. Logical and physical sector addressing arithmetic will be explained. Fragmentation, the enemy of data recovery will also be explored.</p>
<p><strong>Week 4:</strong></p>
<p>Data Storage Part II: Once we have covered how the data is stored, we will need to then understand how NTFS handles keeping track of file and folder placement. The Master File Table will be discussed in great detail. Where it is placed, many of the components of the record will be discussed and how they relate to what we see translated into the file explorer.</p>
<p><strong>Week 5:</strong></p>
<p>Data Storage Part III: This week will be totally dedicated to run lists. This component is the key to breaking down how the clusters are stored. The method that Microsoft uses to track clusters is very complicated so I want to give this subject a full week.</p>
<p><strong>Week 6:</strong></p>
<p>Data Storage Part IV: Now that we have all of the theory of the MFT, this week we will cover how to recover data using a damaged MFT.</p>
<p><strong>Week 7:</strong></p>
<p>Hard drive theory: This will be a brief overview of hard drive design from a data recovery specialist&#8217;s point of view. Sector mapping, system area design. Permanent Defect tables. Growing Defect tables. Bad sectors, and how that relates to performance. How the operating system reacts to a bad sector. S.M.A.R.T early warning technology.</p>
<p><strong>Week 8:</strong></p>
<p>JPEG File recovery: The JFIF file format and how that relates to raw data recovery. Data mining, file carving and techniques used to extract data from a totally destroyed file system.</p>
<p><strong>Week 9:</strong></p>
<p>MP3 File recovery: The MPEG III file format will be covered and how that relates to file recovery. How data mining and file carving techniques may be used to recover the file. The ID3 data tag format and how that can be used to recover a more complete MP3 file.</p>
<p><strong>Week 10:</strong></p>
<p>Scenario: Hard drive has been fdisked, how do I recover?</p>
<p><strong>Week 11:</strong></p>
<p>Scenario: Hard drive has been formatted, how do I recover?</p>
<p><strong>Week 12:</strong></p>
<p>Scenario: Files have been deleted, how do I recover?</p>
<p><strong>Week 13:</strong></p>
<p>Scenario: I used the restore function from the manufacturer, how do I recover?</p>
<p><strong>Week 14:</strong></p>
<p>Scenario: Multiple partitioned drive made into single partition, how do I recover second partition?</p>
<p><strong>Week 15:</strong></p>
<p>Scenario: USB hard drive cannot be addressed, how do I recover?</p>
<p><strong>Week 16:</strong></p>
<p>Scenario: I lost all of my Canon CR2 Raw format pictures, how do I Recover from the flash chip?</p>
<p><strong>Week 17:</strong></p>
<p>Scenario: Hard Drive has reached maximum capacity and file system as well as the operating system have become inoperable. How do I recover?</p>
<p><strong>Week 18:</strong></p>
<p>Scenario: Malware virus attack on the Master Boot Record, or the operating system boot record. How do I get my operating system online?</p>
<p><strong>Week 19:</strong></p>
<p>Scenario: Drive has been formatted, and the operating reloaded. How do I recover data from the drive?</p>
<p><strong>Week 20:</strong></p>
<p>Scenario: Deleted email from my Outlook Express mail handler. How do I recover the deleted emails?</p>
<p><strong>Week 21:</strong></p>
<p>Scenario: Outlook PST file has exceeded the two gigabyte limit. How do I recover my email file without damaging all of my data?</p>
<p><strong>Week 22:</strong></p>
<p>Scenario: Reloaded Windows over the top of an existing Windows setup and lost my access Documents and Settings folder. How do I gain access to the folder?</p>
<p><strong>Week 23:</strong></p>
<p>Scenario: Hard drive has exhibited symptoms of possible bad sectors. How do I safely recover my data without compromising the physical attributes of the hard drive?</p>
<p><strong>Week 24:</strong></p>
<p>The future of data storage and what is needed in order to safeguard the data on your system. I am going to cover a great deal of material in the next six months. As I reveal each secret hopefully that information will help you recover and safe guard your data. If you have any questions please feel free to call or drop me an email.</p>
<p>Dick Correa<br />
dickc AT dtidata.com<br />
(727)345-9665 Ext 203</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/05/25/black-art-data-recovery-overview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SNAP Data Recovery Through The OS Inode</title>
		<link>http://www.dtidata.com/resourcecenter/2007/05/21/snap-server-data-recovery-inode/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/05/21/snap-server-data-recovery-inode/#comments</comments>
		<pubDate>Mon, 21 May 2007 18:27:58 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/05/21/snap-server-data-recovery-inode/</guid>
		<description><![CDATA[This week is the final offering of our topic Recovering a single file from a SNAP Server Operating System. We have learned what a Super Block is, a cylinder group, and some of the important data elements in those data structures. We have learned how to find these data structures by using the data elements [...]]]></description>
			<content:encoded><![CDATA[<p>This week is the final offering of our topic Recovering a single file from a <em>SNAP Server Operating System</em>. We have learned what a <strong>Super Block </strong>is, a <strong>cylinder group</strong>, and some of the important data elements in those data structures. We have learned how to find these data structures by using the data elements of other structures. Finally, we have learned that the file system is broken into blocks and that these blocks are the storage cornerstone of <em>SNAP OS</em>. Putting all of these facts together we come down to the final data structure the inode. At the bottom of this article there are links to my other posts so you can read or print them all in order.</p>
<h2>Recovering a single file from a SNAP OS Part 3</h2>
<p>The inode is the final link in the chain of data storage.  It holds the map of the blocks where all of the data of each file and directory is stored. Let us dissect the inode and find its most important elements.</p>
<h2>The SNAP OS Inode</h2>
<p>Figure 1 is a raw hex representation of an inode. There are several data elements within the inode that define the date the file or directory was created, the last time it was updated, and the size of the file. For our purposes however, we are only concerned with one area of data elements and those are the direct and indirect block definitions. </p>
<p><img width="500" src="http://www.dtidata.com/resourcecenter/os1.jpg" alt="snap os hex" height="98" style="width: 500px; height: 98px" title="snap os hex" /></p>
<p><strong>Fig 1</strong></p>
<p>The direct block definitions are defined in the shaded green area, and there are a maximum of twelve direct data blocks. The term direct means that each one of the four byte numbers in the shaded green area point to an actual data storage block. In other words, if we take the first value of 0&#215;14A80E (1353742 decimal) and go view that data block, we will find the first values for our file 2003STEP.PDF. In figure 2 we can see the first few bytes of data from block 0&#215;14A80E.</p>
<p><img width="500" src="http://www.dtidata.com/resourcecenter/os2.jpg" alt="snap data block" height="114" style="width: 500px; height: 114px" title="snap data block" /></p>
<p><strong>Fig 2</strong></p>
<p>There are only twelve direct data blocks so if your file exceeds 96 k, then the file system will use a method defined as indirect blocks. There are three data elements of these blocks, they are:</p>
<ul>
<li><strong>Indirect Block</strong>: Points to a block that has a list of data blocks.</li>
<li><strong>Double Indirect Block</strong>: List of blocks that point to an Indirect block.</li>
<li><strong>Triple Indirect Block</strong>: List of blocks the point to Double Indirect blocks.</li>
</ul>
<p>From the above explanation you can see how deciphering a very large file can be extremely complicated. Once understood, this method works well and is very fast. Along with those facts, it is also very easy to program using recursion and a set of flags to let the recursive function know what is being processed. </p>
<p>Figure three is a listing of the 2003STEP.PDF direct blocks from its only indirect block.</p>
<p><img width="500" src="http://www.dtidata.com/resourcecenter/os3.jpg" alt="snap file recovery" height="114" style="width: 500px; height: 114px" title="snap file recovery" /></p>
<p><strong>Fig 3</strong></p>
<p>Well, that&#8217;s it!  By using the formulas and techniques I have outlined in my last three articles you can easily retrieve any file. I hope this helps those of you that have lost data due to hardware and or software failures on your <strong>SNAP Server</strong>.</p>
<p>If you have any questions, or if I can be of any help, please feel free to call me, or drop me an email.</p>
<p>(727)345-9665 Ext 203</p>
<p>dickc AT dtidata.com</p>
<h2>SNAP Server Data Recovery of a Single File</h2>
<p>Here are all the articles about SNAP Server Recovery of a single file:</p>
<ol>
<li><a target="_blank" href="http://www.dtidata.com/resourcecenter/2007/04/11/snap-raid-recovery/" title="SNAP server data recovery">SNAP Data Recovery </a>- the first post about the SNAP OS.</li>
<li><a target="_blank" href="http://www.dtidata.com/resourcecenter/2007/04/19/snap-server-data-recovery-single-file/" title="snap server file recovery">SNAP Server Data Recovery of a Single File</a> &#8211; A detailed post about recovering a lost file on the SNAP OS.</li>
<li><a target="_blank" href="http://www.dtidata.com/resourcecenter/2007/04/26/snap-os-file-data-recovery-super-block/" title="snap server recovery with super block">SNAP Server Data Recovery Using The Super Block</a> - the next article about SNAP file recovery.</li>
</ol>
<p>Our main page for <a href="http://www.dtidata.com/snap_server_recovery.htm" title="SNAP server data recovery main page"><strong>SNAP Server Data Recovery</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/05/21/snap-server-data-recovery-inode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SNAP OS Data Recovery Super Block</title>
		<link>http://www.dtidata.com/resourcecenter/2007/04/26/snap-os-file-data-recovery-super-block/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/04/26/snap-os-file-data-recovery-super-block/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 21:45:05 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/04/26/snap-os-file-data-recovery-super-block/</guid>
		<description><![CDATA[SNAP Operating System File Recovery Through The Super Block
Recovering a single file from a SNAP OS Part 2
Last week we discussed how to find the file name on a SNAP OS file system. Using a sector editor we searched the hard disk drive for the file name. Once we found the file name I broke down the [...]]]></description>
			<content:encoded><![CDATA[<h2>SNAP Operating System File Recovery Through The Super Block</h2>
<p>Recovering a single file from a SNAP OS Part 2</p>
<p>Last week we discussed how to find the file name on a <em>SNAP OS file system</em>. Using a sector editor we searched the hard disk drive for the file name. Once we found the file name I broke down the on disk data structure format for a directory/file entry.  Among the many elements of the structure the most important in determining where the data for the file is stored is the inode number. In this weeks installment we will discover how to use the on disk data structure called the <strong>super block</strong>. This is the key to the entire file system and is essential if we are to find the data related to this file name.</p>
<p>In order to find the super block, we must first understand how the SNAP OS positions itself on a drive. In windows the basic element of storage is a cluster. Standard cluster size for an NTFS drive is 4096 bytes, or eight (8) sectors. For SNAP OS the basic element of storage is a block. Standard block size for SNAP OS is 8192 bytes or sixteen 16 sectors. Using the block as a basis for storage, we then have groupings of blocks. These groupings of blocks are called cylinder groups. The on disk layout of a cylinder group is as follows.</p>
<p><strong>Cylinder Group On Disk Layout</strong></p>
<p>All blocks are relative to the beginning of the cylinder group.</p>
<ul>
<li><strong>Super Block</strong>: Block 0: This block houses a copy of the on-disk structure of the super block</li>
<li><strong>Cylinder Group</strong>: Block 1:  On-disk structure of the cylinder group</li>
<li><strong>Inodes: </strong>Block 2 – (2 + n)  Inode StorageEach inode is 128 bytes, therefore 4 inodes per sector, or 64 inodes per block.</li>
<li><strong>Data Blocks</strong>: Blocks (2 + n)  &#8211; (end of cylinder group)  All remaining blocks to the end of the cylinder group are data blocks.</li>
</ul>
<p><strong>Applying real world numbers</strong></p>
<p>In order to help illustrate how all of this works together, let&#8217;s take the 2003STEP.PDF example and apply it to our on disk definitions.</p>
<p>First of all, we must find the super block. The best way to do that, is to find the first cylinder group using the magic number I spoke of in my article &#8220;SNAP RAID Recovery Using SNAP OS&#8221;. The magic number for the cylinder group is 0&#215;550209.  So, using WinHex as my sector editor, I plug that value into the &#8220;Hex Search&#8221; field and run the search.  In this case the Cylinder Group is stored at sector 48.  Now, we know that the Cylinder Group data structure is stored in relative block 1, and we also know that a copy of the super block is stored in relative block 0. The size of the blocks is 8K, so, we can count back 16 sectors, or 8K and find a copy of the super block.  </p>
<p>So, a copy of the super block is stored at sector 32.  There are some data elements within the super block that will help us identify the exact placement of the inode we are looking for. These elements are as follows: <strong>(Remember the numbers are for this real life situation only, your numbers may differ because of disk size, formatting flags etc.)</strong></p>
<blockquote><p>Super Block Offset:               2</p>
<p>Cylinder Block Offset:          3</p>
<p>Inode Block Offset                4</p>
<p>Data Block Offset                  16</p></blockquote>
<p>The above numbers are relative to the beginning of the volume. Therefore we can find the beginning of the volume by using the Super Block offset.  The Super Block is stored on block two, or translated to sectors, sector 32. If we subtract 2 blocks, to find block zero, which is the beginning of the volume we will find the beginning of the drive.  This is important since many of the SNAP OS volumes I work on are RAID-ed. There is a great deal of extraneous data when dealing with RAIDs, however, using this formula, we can easily find the beginning of the drive on a destriped RAID set.</p>
<p>Secondly, and more importantly, we can determine the total inodes per cylinder group.  As defined before, we know that there are 64 inodes per block.   In our real world example we can see that the inode block starts at relative block 4, and the data block starts at relative block 16.  If we subtract 4 from 16 we know that there are 12 blocks of storage per cylinder group.   We know that there are 64 inodes per block, times12 blocks, or 768 inodes per cylinder group.  There is a data element in the super block that tells us the inodes per cylinder group.  If we take our previous calculation, and it matches the super block data element, then we know that our file system is aligned.  In this case they both match.</p>
<p>Now, if we know that we have 768 inodes per cylinder group, and the current inode we are looking for is 1015297, we can divide the inode we are looking for, by total inodes per cylinder group to find the cylinder group which house our inode. That value 1322.   We then do the mod of the same values to tell us which inode within the cylinder group is the one we are looking for.  That value is 1.  So, we can say in cylinder group, 1322, inode 1, we have the inode we are looking for.</p>
<p>Lastly, how do we find Cylinder Group 1322?  The size of the Cylinder Group is the size of the data group plus 64 sectors.  So, in my case, the data group was 1024 blocks, or 16,384 sectors.  You add 64 sectors to that and you have each cylinder at 16,448 sectors.  One note, every 16 cylinder groups is an adjustment of 1024 sectors.   So the 16th cylinder group is only 15,424 sectors.</p>
<p>That&#8217;s, it!  Now that we have a method for finding the inode, we can actually start pulling data off.  I will cover direct disk blocks and the formula for pulling data off of the drive in my next installment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/04/26/snap-os-file-data-recovery-super-block/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SNAP Server Data Recovery Of A Single File</title>
		<link>http://www.dtidata.com/resourcecenter/2007/04/19/snap-server-data-recovery-single-file/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/04/19/snap-server-data-recovery-single-file/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 19:41:11 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/04/19/snap-server-data-recovery-single-file/</guid>
		<description><![CDATA[Recovering a single file from a SNAP OS
As we know SNAP Appliance used a proprietary Unix File System (UFS) handler in order to run there Network Attached Storage (NAS) product. This particular OS ran a Berkley Software Distribution (BSD) flavor of UFS. Although there are many similarities to the original file system, there are also [...]]]></description>
			<content:encoded><![CDATA[<h2>Recovering a single file from a SNAP OS</h2>
<p>As we know SNAP Appliance used a proprietary Unix File System (UFS) handler in order to run there Network Attached Storage (NAS) product. This particular OS ran a Berkley Software Distribution (BSD) flavor of UFS. Although there are many similarities to the original file system, there are also enough changes to make file recovery extremely difficult. In the following paragraphs, and articles we will explore the arithmetic and methodology of recovering a single file from a UFS volume.</p>
<p>In order to recover the file we must use the on-disk data structures that give the OS its road map to the file name, inode, and finally data block placement. Normally I would start with the coarsest data structure, but in order to facilitate an understanding of the file hierarchy I will start from the smallest granularity. That data structure being the directory entry.</p>
<p>To illustrate the data elements and their use I chose a PDF file for recovery. The file name is “2003STEP.PDF”. Using you favorite sector editor, do a scan and search for the file name that you want to recover. The tool I use is a wonderful product called “WinHex”. Figure A is a capture of my sector search.</p>
<p><img width="495" src="http://www.dtidata.com/resourcecenter/dick1.jpg" alt="snap file recovery" height="171" style="width: 495px; height: 171px" title="snap file recovery" /></p>
<p><strong>Figure A</strong></p>
<p>There are many elements in a directory entry structure; however there are actually five key elements.</p>
<ol>
<li><strong>File Name:</strong> This is the actual name of the directory/file. In Figure A this is defined as “2003STEP.PDF”</li>
<li><strong>File Name length:</strong> This data element is self explanatory as it defines the length of the name. In Figure A the name length is defined as 0&#215;0C, or 12 in decimal.</li>
<li><strong>File Type:</strong> In this case we are only concerned about two types. First 0&#215;04 which is a directory entry and 0&#215;08, which is a standard file name entry. In Figure A this file entry is regular file name.</li>
<li><strong>Record length:</strong> This defines the entire length of this particular directory/file name record. In variable length records there is always a record length. In Figure A you can see the record length is 0&#215;00000028 in hex, or 40 in decimal.</li>
<li><strong>Inode number:</strong> The name, and name length are important, however the inode number holds the key to the data block placement. In Figure A this is defined as 0&#215;000F7E01, or 1015297 in decimal.</li>
</ol>
<p>Next installment I will describe the ‘cylinder group’ data structure and how we can use that to find our inode element.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/04/19/snap-server-data-recovery-single-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SNAP RAID Recovery using SNAP OS</title>
		<link>http://www.dtidata.com/resourcecenter/2007/04/11/snap-raid-recovery/</link>
		<comments>http://www.dtidata.com/resourcecenter/2007/04/11/snap-raid-recovery/#comments</comments>
		<pubDate>Wed, 11 Apr 2007 20:15:36 +0000</pubDate>
		<dc:creator>Dick Correa</dc:creator>
				<category><![CDATA[SNAP Server File System]]></category>

		<guid isPermaLink="false">http://www.dtidata.com/resourcecenter/2007/04/11/snap-raid-recovery/</guid>
		<description><![CDATA[SNAP Server NAS RAID Data Recovery
SNAP Appliance, now owned by Adaptec was one of the pioneers of the Network Attached Storage (NAS) technologies. Through the use of  the Berkeley Software Distribution (BSD) and the UNIX File System (UFS), SNAP developed a reliable and easy method for using a mass storage device through a shared network.  [...]]]></description>
			<content:encoded><![CDATA[<h4>SNAP Server NAS RAID Data Recovery</h4>
<p align="left">SNAP Appliance, now owned by Adaptec was one of the pioneers of the <strong>Network Attached Storage</strong> (NAS) technologies. Through the use of  the Berkeley Software Distribution (BSD) and the UNIX File System (UFS), SNAP developed a reliable and easy method for using a mass storage device through a shared network.  In order to do this SNAP used an abbreviated version of the file system in conjunction with a set of hard coded variables that allowed for a fast boot up, easier recovery facilities within the spectrum of the operating system, and a ROM based web interface that was closely tied to several of the standard UNIX/Linux/BSD recovery tools. However, that being said, when it came to catastrophic recovery this particular OS/FS marriage made it virtually impossible for any third party standard file system handler, or tool, to recover lost, or deleted data. The following is an outline of one of the basic data structures, the Super Block, and how it differs from the standard UFS file system. These differences are the &#8216;fly in the ointment&#8217; when it comes to using standard <strong>UFS data recovery</strong> tools. Read my article on <a target="_blank" href="http://www.dtidata.com/resourcecenter/2007/03/02/raid-data-recovery-sco-unix-1/" title="sco unix raid data recovery"><strong>SCO Unix RAID Data Recovery </strong></a>for more insight on the UFS. </p>
<p>On-disk file system data structures are the key to <strong>data recovery</strong>. The knowledge of how a file system resides on the disk is the only way to recover from catastrophic data loss. Using on-disk data structures and their relationship with each other will help a recovery expert piece together lost data on a file system that will not mount. In essence, the <em>data recovery</em> technician creates a virtual file system using key data elements from the on-disk structure. These data elements go through a mathematical and geometrical scrutiny. This evaluation of the data must be strict enough to allow for corrupt data parsing, but flexible enough to build the file system from a partial data structure.   In other words, a sort of &#8216;artificial intelligence&#8217; is used to compare, evaluate, and assign data values to key data elements through the use of file system structure placement.  A basic element of the file system in this particular case is the Super Block.</p>
<p>The Super Block is a broad spectrum definition of the entire file system.  Although not defining file placement, and block usage, the Super Block is the crux of on-disk data element placement that will lead the data recovery technician to file name, inode definition, and ultimately data block placement.   Data fields that reveal such values as total inodes, total data blocks, total cylinder groups, can be used to define a cohesive file system and in many cases rebuild a corrupted data structure.  The Super Block defines coarse data that can be used to calculate cylinder group definitions that inevitably lead to directory definitions, and a methodology to build a file tree.</p>
<p>The Super Block is defined across the disk in each cylinder group.  This fact alone can aide the trained data recovery technician in the alignment of the file system. Once aligned, it is a simple matter of back tracing directory name, inode definition, and data block in order to build a file tree. As an example the Super Block designates the primary inode block.   When parsing the first cylinder group inode 0, and 1 are undefined and the 128 byte data elements are zeroed.  However, inode 2 is defined, and can be traced to the root of the directory structure. Using recursion, one can easily define a full tree by using this single data element.</p>
<h4>SNAP UFS File System Data Recovery</h4>
<p>There are many more data elements that are an integral part of the SNAP UFS, however, the one basic element that is needed in order for third party UFS handlers to function is missing. Each on-disk data structure maintains an element that is unique to its particular type.  This element is defined as a &#8216;MAGIC NUMBER&#8217;. This magic number, however derived, is a tell tale element that can be used by the technician to find certain data structures. For whatever reason, SNAP decided to ignore the magic number and it is not stored on-disk. This may be an indication that the SNAP file system designers did not want to carry extra data elements that were superfluous to the functionality and definition of the file system. It is a good strategy for saving precious space in a ROM perhaps, but is not a sound strategy if one is trying to piece together a file system and has no idea where to start. I am not trying to second guess the <em>SNAP Appliance</em> designers, it is merely a fact of the on disk structure and must be dealt with.</p>
<p>If a software engineer wishes to design, code and implement a SNAP Appliance UFS recovery handler then the magic number must be taken into consideration. There are several other data elements of the super block structure that must have certain values. These values can be boundary tested, and used to find other data elements that have a more traditional on-disk data structure. In other words, if the super block cylinder group element points to a particular sector on the disk, that sector can be loaded and masked with a cylinder group on-disk structure. The structure can then be boundary tested and if the testing proves positive then the original super block placement may be correct. Of course, several other elements must be tested, but if the tests return in a positive manner, it is very likely that you may have found your super block without the use of a magic number.</p>
<p>In the final analysis it is up to the <strong>data recovery</strong> technician to evaluate each <em>SNAP Appliance</em>, and the possibility of recovery. However, with calculator in hand, and hex editor on screen, a well versed data recovery technician can find the super block, and in that, use that key to unlock his clients lot data.</p>
<p>If you have any questions pertaining to this article, or others I have wrote; please contact me at:</p>
<p><strong>Dick Correa</strong><br />
<strong><em>DTI Data<br />
Senior Systems Analyst / Senior Software Designer<br />
dickc AT dtidata.com</em></strong></p>
<hr SIZE="1" /><a target="_blank" href="http://www.dtidata.com/snap_server_recovery.htm" title="snap server recovery">SAN SNAP RAID Recovery </a>is our main page or you can find out more information about <a href="http://www.dtidata.com/" title="data recovery"><strong>data recovery</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dtidata.com/resourcecenter/2007/04/11/snap-raid-recovery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
