📄 fat文件系统原理(一).htm
字号:
href="http://www.sjhf.net/guestbook.asp"
target=_blank>留言簿</A> | <A
href="http://www.sjhf.net/bbs/index.asp"
target=_blank>进入论坛</A> | </TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<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=2#">设为首页</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=blue>顶</FONT> <FONT color=red>热</FONT> <FONT
color=green>荐</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> 转贴自:本站原创 点击数:1013 更新时间: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>
<P>
<P>一、硬盘的物理结构:</P>
<P><IMG height=210
src="FAT文件系统原理(一).files/2004420123027734.gif" width=364
border=0><BR>
硬盘存储数据是根据电、磁转换原理实现的。硬盘由一个或几个表面镀有磁性物质的金属或玻璃等物质盘片以及盘片两面所安装的磁头和相应的控制电路组成(图1),其中盘片和磁头密封在无尘的金属壳中。<BR>硬盘工作时,盘片以设计转速高速旋转,设置在盘片表面的磁头则在电路控制下径向移动到指定位置然后将数据存储或读取出来。当系统向硬盘写入数据时,磁头中“写数据”电流产生磁场使盘片表面磁性物质状态发生改变,并在写电流磁场消失后仍能保持,这样数据就存储下来了;当系统从硬盘中读数据时,磁头经过盘片指定区域,盘片表面磁场使磁头产生感应电流或线圈阻抗产生变化,经相关电路处理后还原成数据。因此只要能将盘片表面处理得更平滑、磁头设计得更精密以及尽量提高盘片旋转速度,就能造出容量更大、读写数据速度更快的硬盘。这是因为盘片表面处理越平、转速越快就能越使磁头离盘片表面越近,提高读、写灵敏度和速度;磁头设计越小越精密就能使磁头在盘片上占用空间越小,使磁头在一张盘片上建立更多的磁道以存储更多的数据。</P>
<P><FONT color=#c0c0c0></FONT>二、硬盘的逻辑结构。<BR>
硬盘由很多盘片(platter)组成,每个盘片的每个面都有一个读写磁头。如果有N个盘片。就有2N个面,对应2N个磁头(Heads),从0、1、2开始编号。每个盘片被划分成若干个同心圆磁道(逻辑上的,是不可见的。)每个盘片的划分规则通常是一样的。这样每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0、1、2……每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1、2、3……形成Cylinders×Heads×Sector个扇区。这三个参数即是硬盘的物理参数。我们下面的很多实践需要深刻理解这三个参数的意义。</P>
<P>三、磁盘引导原理。</P>
<P>3.1 MBR(master boot record)扇区:<BR>
计算机在按下power键以后,开始执行主板bios程序。进行完一系列检测和配置以后。开始按bios中设定的系统引导顺序引导系统。假定现在是硬盘。Bios执行完自己的程序后如何把执行权交给硬盘呢。交给硬盘后又执行存储在哪里的程序呢。其实,称为mbr的一段代码起着举足轻重的作用。MBR(master
boot
record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令。将系统的控制权交由mbr来执行。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H~偏移1BDH),随后的64个字节(偏移1BEH~偏移1FDH)为DPT(Disk
PartitionTable,硬盘分区表),最后的两个字节“55
AA”(偏移1FEH~偏移1FFH)是分区有效结束标志。<BR>
MBR不随操作系统的不同而不同,意即不同的操作系统可能会存在相同的MBR,即使不同,MBR也不会夹带操作系统的性质。具有公共引导的特性。<BR>我们来分析一段mbr。下面是用winhex查看的一块希捷120GB硬盘的mbr。<BR><IMG
height=633 src="FAT文件系统原理(一).files/2004420123027580.gif"
width=630 border=0><BR><FONT color=#c0c0c0><SPAN
style="FONT-WEIGHT: 700; BACKGROUND-COLOR: #ffff00"></SPAN></FONT></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -