📄 fat文件系统原理(二).htm
字号:
<TD height=4></TD></TR>
<TR>
<TD vAlign=center>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center
border=0>
<TBODY>
<TR vAlign=center>
<TD width=180><A title=数据恢复网 href="http://www.sjhf.net/"><IMG
height=60 src="FAT文件系统原理(二).files/logo.gif" width=180
border=0></A> </TD>
<TD width=500>
<DIV align=center>
<OBJECT
codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0
height=60 width=480
classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="movie" VALUE="images/banner.swf"><PARAM NAME="quality" VALUE="high">
<embed src='images/banner.swf'
pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
type='application/x-shockwave-flash' width='480'
height='60'></embed></OBJECT></DIV></TD>
<TD width=80>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%"
align=center border=0>
<TBODY>
<TR vAlign=center>
<TD align=middle><IMG height=16
src="FAT文件系统原理(二).files/home.gif" width=16
align=absMiddle></TD>
<TD align=middle><A
onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.sjhf.net')"
href="http://www.sjhf.net/Article_Show.asp?ArticleID=3#">设为首页</A></TD></TR>
<TR vAlign=center>
<TD align=middle><IMG height=17
src="FAT文件系统原理(二).files/email.gif" width=16
align=absMiddle></TD>
<TD align=middle><A
href="mailto:sjhf@sjhf.net">联系站长</A></TD></TR>
<TR vAlign=center>
<TD align=middle><IMG height=16
src="FAT文件系统原理(二).files/bookmark.gif" width=16
align=absMiddle></TD>
<TD align=middle><A
href="javascript:window.external.addFavorite('http://www.sjhf.net','数据恢复网')">加入收藏</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
<TR vAlign=center>
<TD class=nav_menu vAlign=center>
<SCRIPT language=JavaScript1.2 type=text/javascript>
<!--
stm_bm(['uueoehr',400,'','images/blank.gif',0,'','',0,0,0,0,0,1,0,0]);
stm_bp('p0',[0,4,0,0,2,2,0,0,100,'',-2,'',-2,90,0,0,'#000000','transparent','',3,0,0,'#000000']);
stm_ai('p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_aix('p0i1','p0i0',[0,'技术资料首页','','',-1,-1,0,'Article_Index.asp','_self','Article_Index.asp','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体','9pt 宋体']);
stm_aix('p0i2','p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_aix('p0i3','p0i0',[0,'逻辑修复资料','','',-1,-1,0,'Article_Class2.asp?ClassID=6','_self','Article_Class2.asp?ClassID=6','逻辑修复资料','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体','9pt 宋体']);
stm_bp('p1',[1,4,0,0,2,3,6,7,100,'progid:DXImageTransform.Microsoft.Fade(overlap=.5,enabled=0,Duration=0.43)',-2,'',-2,67,2,3,'#999999','#ffffff','',3,1,1,'#aca899']);
stm_aix('p1i0','p0i0',[0,'存储原理资料','','',-1,-1,0,'Article_Class2.asp?ClassID=1','_self','Article_Class2.asp?ClassID=1','存储原理资料','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);
stm_aix('p1i1','p0i0',[0,'数据恢复实例','','',-1,-1,0,'Article_Class2.asp?ClassID=2','_self','Article_Class2.asp?ClassID=2','数据恢复实例','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);
stm_aix('p1i2','p0i0',[0,'数据恢复工具教程','','',-1,-1,0,'Article_Class2.asp?ClassID=7','_self','Article_Class2.asp?ClassID=7','数据恢复工具教程','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);
stm_ep();
stm_aix('p0i2','p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_aix('p0i4','p0i0',[0,'磁盘物理修复','','',-1,-1,0,'Article_Class2.asp?ClassID=3','_self','Article_Class2.asp?ClassID=3','磁盘物理修复','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体','9pt 宋体']);
stm_bp('p1',[1,4,0,0,2,3,6,7,100,'progid:DXImageTransform.Microsoft.Fade(overlap=.5,enabled=0,Duration=0.43)',-2,'',-2,67,2,3,'#999999','#ffffff','',3,1,1,'#aca899']);
stm_aix('p1i0','p0i0',[0,'维修技术资料','','',-1,-1,0,'Article_Class2.asp?ClassID=8','_self','Article_Class2.asp?ClassID=8','维修技术资料','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);
stm_aix('p1i1','p0i0',[0,'维修工具教程','','',-1,-1,0,'Article_Class2.asp?ClassID=9','_self','Article_Class2.asp?ClassID=9','维修工具教程','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',0,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体']);
stm_ep();
stm_aix('p0i2','p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_aix('p0i5','p0i0',[0,'底层程序设计','','',-1,-1,0,'Article_Class2.asp?ClassID=5','_self','Article_Class2.asp?ClassID=5','底层程序设计','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体','9pt 宋体']);
stm_aix('p0i2','p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_aix('p0i6','p0i0',[0,'其他精彩资料','','',-1,-1,0,'Article_Class2.asp?ClassID=4','_self','Article_Class2.asp?ClassID=4','其他精彩资料','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#ff0000','#000000','#cc0000','9pt 宋体','9pt 宋体']);
stm_aix('p0i2','p0i0',[0,'|','','',-1,-1,0,'','_self','','','','',0,0,0,'','',0,0,0,0,1,'#f1f2ee',1,'#cccccc',1,'','',3,3,0,0,'#fffff7','#000000','#000000','#000000','9pt 宋体','9pt 宋体',0,0]);
stm_em();
//-->
</SCRIPT>
</TD></TR><!-- <tr Class="nav_main">
<td></td>
</tr>
<tr>
<td class="nav_bottom"></td>
</tr> --></TBODY></TABLE>
<TABLE class=txt_css cellSpacing=0 cellPadding=0 width=760 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR vAlign=center>
<TD>
<DIV align=right></DIV> 您现在的位置: <A
href="http://www.sjhf.net/">数据恢复网</A> >> <A
href="http://www.sjhf.net/Article_Index.asp">技术资料</A> >> <A
href="http://www.sjhf.net/Article_Class2.asp?ClassID=6&LayoutID=1">逻辑修复资料</A> >> <A
href="http://www.sjhf.net/Article_Class2.asp?ClassID=1">存储原理资料</A> >> 正文
</TD>
<TD align=right width=158>
<SCRIPT language=JavaScript type=text/JavaScript>
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate=new Date();
myweekday=mydate.getDay();
mymonth=mydate.getMonth()+1;
myday= mydate.getDate();
myyear= mydate.getYear();
year=(myyear > 200) ? myyear : 1900 + myyear;
if(myweekday == 0)
weekday=" 星期日 ";
else if(myweekday == 1)
weekday=" 星期一 ";
else if(myweekday == 2)
weekday=" 星期二 ";
else if(myweekday == 3)
weekday=" 星期三 ";
else if(myweekday == 4)
weekday=" 星期四 ";
else if(myweekday == 5)
weekday=" 星期五 ";
else if(myweekday == 6)
weekday=" 星期六 ";
document.write(year+"年"+mymonth+"月"+myday+"日 "+weekday);
</SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE class=border2 cellSpacing=0 cellPadding=0 width=760 align=center
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<TABLE class=border cellSpacing=0 cellPadding=2 width="100%" align=center
border=0>
<TBODY>
<TR>
<TD class=title>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD class=title_maintxt vAlign=center width="82%"> <IMG
height=14 src="FAT文件系统原理(二).files/arrow.gif" width=11
align=absMiddle> FAT文件系统原理(二) </TD>
<TD class=title_maintxt width="18%"> <FONT
color=red>热</FONT> <FONT
color=#009900>★★★</FONT> </TD></TR></TBODY></TABLE></TD></TR>
<TR vAlign=center align=middle>
<TD colSpan=2 height=40><FONT
size=4><STRONG>FAT文件系统原理(二)</STRONG></FONT> </TD></TR>
<TR class=tdbg_rightall align=middle>
<TD colSpan=2>[ 作者:<A
href="mailto:zymail@vip.sina.com">菜刀</A> 转贴自:本站原创 点击数:546 更新时间:2004-4-20 文章录入:admin
]</TD></TR>
<TR>
<TD colSpan=2>
<TABLE style="WORD-BREAK: break-all" cellSpacing=5 cellPadding=0
width=740 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top height=200>
<TABLE cellSpacing=0 cellPadding=10 align=left border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE>
<P>
<P>
<P>四、FAT分区原理。</P>
<P>先来一幅结构图:<BR> <IMG height=640
src="FAT文件系统原理(二).files/2004420123411734.gif" width=322
border=0><BR><FONT color=#c0c0c0><SPAN
style="FONT-WEIGHT: 700; BACKGROUND-COLOR: #ffff00"><BR></SPAN></FONT>
现在我们着重研究FAT格式分区内数据是如何存储的。FAT分区格式是MICROSOFT最早支持的分区格式,依据FAT表中每个簇链的所占位数(有关概念,后面会讲到)分为fat12、fat16、fat32三种格式"变种",但其基本存储方式是相似的。<BR>
仔细研究图7中的fat16和fat32分区的组成结构。下面依次解释DBR、FAT1、FAT2、根目录、数据区、剩余扇区的概念。提到的地址如无特别提示均为分区内部偏移。</P>
<P>4.1 关于DBR.</P>
<P> DBR区(DOS BOOT
RECORD)即操作系统引导记录区的意思,通常占用分区的第0扇区共512个字节(特殊情况也要占用其它保留扇区,我们先说第0扇)。在这512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOS
Parameter Block),扩展BPB,os引导程序,结束标志几部分组成。
以用的最多的FAT32为例说明分区DBR各字节的含义。见图8。<BR> <IMG
height=707 src="FAT文件系统原理(二).files/2004420123411580.gif"
width=569 border=0><BR><FONT color=#c0c0c0><SPAN
style="FONT-WEIGHT: 700; BACKGROUND-COLOR: #ffff00"></SPAN></FONT><BR>图8的对应解释见表3
</P>
<TABLE id=table3 style="POSITION: relative" width="47%"
border=1>
<TBODY>
<TR>
<TD align=middle colSpan=4><FONT
size=3> </FONT><FONT
size=3>表3
FAT32分区上DBR中各部分的位置划分 </FONT></TD></TR>
<TR>
<TD align=middle width="14%"><FONT size=3>字节位移</FONT></TD>
<TD align=middle width="30%"><FONT size=3>字段长度</FONT></TD>
<TD align=middle width="25%"><FONT size=3>字段名</FONT></TD>
<TD align=middle width="7%"><FONT
size=3>对应图8颜色</FONT></TD></TR>
<TR>
<TD align=middle width="14%"><FONT size=3>0x00</FONT></TD>
<TD align=middle width="30%"><FONT size=3>3个字节</FONT></TD>
<TD align=middle width="25%"><FONT size=3>跳转指令</FONT></TD>
<TD align=middle width="7%" bgColor=#0000ff> </TD></TR>
<TR>
<TD align=middle width="14%"><FONT size=3>0x03</FONT></TD>
<TD align=middle width="30%"><FONT size=3>8个字节</FONT></TD>
<TD align=middle width="25%"><FONT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -