祖國啲埖朵 | 2007-06-19 13:53 |
二十:十大硬盘故障解决办法
我们在使用硬盘的时候,常常会出现一些莫名其妙的问题。为了有效地保存硬盘中的数据,除了经常性地进行备份工作以外,还要学会在硬盘出现故障时如何救活硬盘,或者从坏的区域中提取出有用的数据,把损失降到最小程度。在这里我就收集了硬盘常出现的故障解决办法,供大家参考,希望对大家有所帮助:
一、系统不认硬盘
系统从硬盘无法启动,从A盘启动也无法进入C盘,使用CMOS中的自动监测功能也无法发现硬盘的存在。这种故障大都出现在连接电缆或IDE端口上,硬盘本身故障的可能性不大,可通过重新插接硬盘电缆或者改换IDE口及电缆等进行替换试验,就会很快发现故障的所在。如果新接上的硬盘也不被接受,一个常见的原因就是硬盘上的主从跳线,如果一条IDE硬盘线上接两个硬盘设备,就要分清楚主从关系。
二、CMOS引起的故障
CMOS中的硬盘类型正确与否直接影响硬盘的正常使用。现在的机器都支持“IDE Auto Detect”的功能,可自动检测硬盘的类型。当硬盘类型错误时,有时干脆无法启动系统,有时能够启动,但会发生读写错误。比如CMOS中的硬盘类型小于实际的硬盘容量,则硬盘后面的扇区将无法读写,如果是多分区状态则个别分区将丢失。还有一个重要的故障原因,由于目前的IDE都支持逻辑参数类型,硬盘可采用“Normal,LBA,Large”等,如果在一般的模式下安装了数据,而又在CMOS中改为其它的模式,则会发生硬盘的读写错误故障,因为其映射关系已经改变,将无法读取原来的正确硬盘位置。
三、主引导程序引起的启动故障
主引导程序位于硬盘的主引导扇区,主要用于检测硬盘分区的正确性,并确定活动分区,负责把引导权移交给活动分区的DOS或其他操作系统。此段程序损坏将无法从硬盘引导,但从软驱或光驱启动之后可对硬盘进行读写。修复此故障的方法较为简单,使用高版本DOS的FDISK最为方便,当带参数/mbr运行时,将直接更换(重写)硬盘的主引导程序。实际上硬盘的主引导扇区正是此程序建立的,FDISK.EXE之中包含有完整的硬盘主引导程序。虽然DOS版本不断更新,但硬盘的主引导程序一直没有变化,从DOS 3.x到Windos 95的DOS,只要找到一种DOS引导盘启动系统并运行此程序即可修复。
四、分区表错误引发的启动故障
分区表错误是硬盘的严重错误,不同的错误程度会造成不同的损失。如果是没有活动分区标志,则计算机无法启动。但从软驱或光驱引导系统后可对硬盘读写,可通过FDISK重置活动分区进行修复。
如果是某一分区类型错误,可造成某一分区的丢失。分区表的第四个字节为分区类型值,正常的可引导的大于32MB的基本DOS分区值为06,而扩展的DOS分区值是05。很多人利用此类型值实现单个分区的加密技术,恢复原来的正确类型值即可使该分区恢复正常。
分区表中还有其它数据用于记录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,可用的方法是用备份的分区表数据重新写回,或者从其它的相同类型的并且分区状况相同的硬盘上获取分区表数据。
恢复的工具可采用NU等工具软件,操作非常方便。当然也可采用DEBUG进行操作,但操作繁琐并且具有一定的风险。
五、分区有效标志错误的故障
在硬盘主引导扇区中还存在一个重要的部分,那就是其最后的两个字节:“55aa”,此字节为扇区的有效标志。当从硬盘、软盘或光盘启动时,将检测这两个字节,如果存在则认为有硬盘存在,否则将不承认硬盘。此处可用于整个硬盘的加密技术,可采用DEBUG方法进行恢复处理。另外,当DOS引导扇区无引导标志时,系统启动将显示为:“Mmissing Operating System”。方便的方法是使用下面的DOS系统通用的修复方法。
六、DOS引导系统引起的启动故障
DOS引导系统主要由DOS引导扇区和DOS系统文件组成。系统文件主要包括IO.SYS、MSDOS.SYS、COMMAND.COM,其中COMMAND.COM是DOS的外壳文件,可用其它的同类文件替换,但缺省状态下是DOS启动的必备文件。在Windows 95携带的DOS系统中,MSDOS.SYS是一个文本文件,是启动Windows必须的文件,但只启动DOS时可不用此文件。DOS引导出错时,可从软盘或光盘引导系统后使用SYS C:命令传送系统,即可修复故障,包括引导扇区及系统文件都可自动修复到正常状态。
七、FAT表引起的读写故障
FAT表记录着硬盘数据的存储地址,每一个文件都有一组FAT链指定其存放的簇地址。FAT表的损坏意味着文件内容的丢失。庆幸的是DOS系统本身提供了两个FAT表,如果目前使用的FAT表损坏,可用第二个进行覆盖修复。但由于不同规格的磁盘其FAT表的长度及第二个FAT表的地址也是不固定的,所以修复时必须正确查找其正确位置,一些工具软件如NU等本身具有这样的修复功能,使用也非常的方便。采用DEBUG也可实现这种操作,即采用其m命令把第二个FAT表移到第一个表处即可。如果第二个FAT表也损坏了,则也无法把硬盘恢复到原来的状态,但文件的数据仍然存放在硬盘的数据区中,可采用CHKDSK或SCANDISK命令进行修复,最终得到*.CHK文件,这便是丢失FAT链的扇区数据。如果是文本文件则可从中提取出完整的或部分的文件内容。
八、目录表损坏引起的引导故障
目录表记录着硬盘中文件的文件名等数据,其中最重要的一项是该文件的起始簇号。目录表由于没有自动备份功能,所以如果目录损坏将丢失大量的文件。一种减少损失的方法也是采用CHKDSK或SCANDISK程序恢复的方法,从硬盘中搜索出*.CHK文件,由于目录表损坏时仅是首簇号丢失,每一个*..CHK文件即是一个完整的文件,把其改为原来的名字即可恢复大多数文件。
九、误删除分区时数据的恢复
当用FDISK删除了硬盘分区之后,表面上是硬盘中的数据已经完全消失,在未格式化时进入硬盘会显示为无效驱动器。如果了解FDISK的工作原理,就会知道FDISK只是重新改写了硬盘的主引导扇区(0面0道1扇区)中的内容,具体说就是删除了硬盘分区表信息,而硬盘中的任何分区的数据均没有改变。可仿照上述的分区表错误的修复方法,即想办法恢复分区表数据即可恢复原来的分区及数据。如果已经对分区格式化,在先恢复分区后,可按下面的方法恢复分区数据。
十、误格式化硬盘数据的恢复
在DOS高版本状态下,formAT格式化操作在缺省状态下都建立了用于恢复格式化的磁盘信息,实际上是把磁盘的DOS引导扇区、FAT分区表及目录表的所有内容复制到了磁盘的最后几个扇区中(因为后面的扇区很少使用),而数据区中的内容根本没有改变。这样通过运行UNformAT命令即可恢复。另外DOS还提供了一个MIROR命令用于记录当前磁盘的信息,供格式化或删除之后的恢复使用,此方法也比较有效。
二十一:十分钟学会判断硬件故障问题
在电脑市场里最可怜的人要数那些将带有故障的电脑搬来搬去的人了。组装机与品牌机比起来虽然有她的长处,但没有良好的售后服务是她的致命短处。
大部分电脑故障是软件故障,因此在未确定是硬件故障前没必要将整台机器搬来搬去。即使是硬件故障,也没必要将整台机器搬去,只须将出故障的部件拿去即可。因此我们有必要了解硬件故障的诊断和测试方法,以后电脑出了故障不用将整台机器都搬去了(当然最好是不出故障!)。
故障及对策
如果想对电脑故障做全面的分析,那恐怕要写一本书,且那也并非易事。关于软件的故障在各类报刊上介绍过很多,因此这里只介绍硬件故障的症状,原因以及解决方法。
一、电脑启动过程
Ⅰ、首先来了解一下电脑的启动过程
1、贮存在ROM(只读存储器)中的Bootstrap Loader程序和自诊断程序移动到RAM(随机存储器)中。
2、随着Bootstrap Loader的运行,储存在辅助记忆装置中的操作系统将系统文件送到RAM中。
3、执行系统文件Io.sys和Msdos.sys。这时画面上出现"Starting Windowsn98……"的信息。
4、若有Config.sys则执行它。
5、执行系统文件的Command文件。
6、若有Autoexec.bat则执行它。
7、读取Windows的初始化文件"System.ini"和"Win.ini",再读取注册表文件。
8、启动结束,出现初始画面,运行操作系统。 这个过程中,在主板的ROM BIOS中监测硬件是否异常,包括硬件故障,接线情况,各类卡的安装等。如果发生错误,画面上什么也不出现,启动停止。这种情况下很可能是硬件故障。
Ⅱ、系统启动顺序
1、PC电源的ON--显示器,键盘,机箱上的灯闪烁。
2、检测显卡--画面上出现短暂的显卡信息。
3、检测内存--随着嘟嘟的声音画面上出现内存的容量信息。
4、执行BIOS--画面上出现简略的BIOS信息。
5、检测其他设备--出现其他设备的信息(CPU,HDD,MEM...)。
6、执行OS(操作系统)的初始化文件-Starting Windows 98等。
Ⅲ、在启动时主板中发出声音,通过这个声音可以判断是何种错误
根据主板形式的不同,声音的表示也有所不同.
AMI BIOS: 1短:内存刷新失败 2短:内存校验错误 3短:基本内存错误 4短:系统时钟错误 5短:CPU错误 6短:键盘错误 7短:实模式错误 8短:内存显示错误 9短:ROM BIOS校验错误 1长3短:内存错误
WARD BIOS: 1短:启动正常 2短:非致命错误 1长1短:显示错误 1长2短:键盘错误其他BIOS可查阅相关资料,这里不再详细介绍。
二、易混淆的软件故障必须明确地区分硬件故障和软件故障,否则费了很大的力气将电脑搬到电脑市场,店主告诉你是软件故障时你会是什么心情呢。特别是启动故障也有可能是软件故障造成的。下面我们就来看一看由软件故障造成的启动异常。
Ⅰ、CMOS Setup的错误 如果在CMOS Setup中的硬盘设置不正确的话,因为电脑无法识别硬盘,因此导致不能用硬盘中的操作系统(Windows)启动。出现画面但无法启动时应该检查CMOS Setup的内容。若要正确识别硬盘,可以使用CMOS Setup中的"IDE HDD Auto Detection"选项。
Ⅱ、系统文件的错误 Windows启动时需要Command, Io.sys, Msdos.sys, Drvspace.bin 四个文件。如果这些文件遭破坏,即使识别了硬盘也不能启动。这时可以使用"Sys"文件恢复这些文件。用启动盘启动后,键入"Sys c:"即可。
Ⅲ、初始化文件的错误 Windows在启动时要读取"Autoexec.bat","Config.sys","System.ini","Win.ini","User.dat","System.dat"六个文件。但在读取时若其中有错误的信息将发生启动失败。而这些文件是很难恢复的,因此要使用Windows重新设置等方法。但这不是硬件故障,用不着把电脑抱到电脑市场去。
Ⅳ、Windows的错误Windows初始画面出现后的故障大部分是软件的故障。程序间的冲突或驱动程序的问题等等。这样的问题可以用翻阅书籍等方法自行解决。
三、不是故障的硬件故障 虽然不是故障,但时常发生用户组装不正确或插口松脱等现象。这时可以自己打开电脑检查接线,插口等的错误。在新购硬盘,CD-ROM等EIDE设备时要注意将连接在中间的装置设置为"SlaveE",将连接在边上的装置设置为"Master",如果设置得不正确,有可能无法启动或使用相应装置时发生错误。
测试方法
下面我们来看一看硬件故障的基本测试方法。显示器没有任何图像出现时可以使用下面的方法测试出故障的部件。
一、首先准备一个工作台。
二、将主板从机箱拔出,再把主板上的所有部件拔出,只留下CPU和RAM.然后把主板放到工作台上。
三、将稳压电源连接在主板上。
四、将显卡插入AGP插槽。当然如果是PCI显卡则插入PCI插槽中。插入时要注意将显卡镀金的部分完全地插入插槽中。
五、连接显示器电源插口后将显卡与显示器连接起来。
六、打开显示器电源,再接通机箱电源开关。然后用金属棒接触主板的电源开关。主板的电源开关是与机箱电源开关连接的部分,一般标记为"PWR SW"或"POWER SE"。
七、如果画面上出现BIOS的版本信息,画面没有异常的话,说明CPU,主板,RAM,显卡,电源都正常.通常,经常易出现故障的部件是"显卡","主板","硬盘"这个顺序。
八、然后连接硬盘和软区进行检测。接着连接CD-ROM检测,然后是声卡。Modem等一个一个的连接进行检测。如果不出现画面就说明后连接的那个部件有故障或是有兼容性问题。只须处理那个出故障的部件即可。
九、机箱的问题 有时将主板安装到机箱时发生问题,导致启动失败。因此如果在上面的部件检查中没有任何问题的话,可以将主板安装到机箱上测试。如果在测试中没有任何的错误,则说明是CMOS Setup错误,驱动程序等的软件问题
二十二:挑战故障 硬盘故障软件(补)
笔者最开始修理硬盘时,常常是什么软件都乱用一通,结果经常搞得硬盘连原厂的DM工具甚至BIOS都不认。现在我接到要修的硬盘一定会确认两件事,一是里面的数据重不重要,二是BIOS能不能认。如果数据比硬盘值钱,我会让该用户花钱找专业人员;如果BIOS都不认该硬盘那我就没办法啦。然后再上网,找找有关型号的资料(故障原因、处理办法、原厂工具)。最后才开始动手。
我处理的流程是:
第一,先用原厂的工具,例如DM等先对硬盘进行“清零”、“低格”等处理。
这样做有以下好处:一是毕竟原厂的工具更安全,二是小问题DM都可能解决,三是有些硬盘修复软件会将硬盘搞得连原厂的工具都不认,到时才想起原厂的工具就太迟了。经上面处理过后再用其它软件,硬盘修复时间会大为缩短。因为有些软件、病毒或因不正常开关机而将硬盘的某些地方标上“坏”的标志,当这些坏簇连成一片时,直接用其它软件处理,其耗时可能超出你的想象。我曾遇到过一个硬盘,有10MB左右的坏簇是连在一起的,有上万个坏簇,而HDDREG、MHDD等一个小时才处理几百个,你算一算要花多长时间?用DM搞过后再用其它软件修复,这个区再也见不到坏簇,整个硬盘才几百个,修复起来快多了。
第二,用修复软件。HDDREG、MHDD、FB都很好找,也很好用。
HDDREG安装较烦,我用131版,是要安装在硬盘上。先从一些网站下载,安装时会让你再到官方网站下载一个新的安装程序,安装完后再制作一个软盘,然后就可以用它修复硬盘了。最好多复制几个软盘,因为软盘会经常读写,如果坏簇多、软盘读写次数会大大增加,很容易将软盘搞坏。该软件可以在Windows以及DOS下使用,你还可以决定从第几MB开始处理,不过不能决定在哪里结束。
MHDD、FB直接解压就可以用,但只可以在DOS下使用。你也可以将它俩COPY到软盘,总共才几百KB。在使用方面,FB、HDDREG都很容易使用,启动它们就会将电脑中的硬盘列出,你只要选定所要修的硬盘再回车它就自动完成。FB到结束时会自动将你的硬盘坏道隐藏,将好的进行分区,但最多挑出4块最大的给你用,询问你是否同意,你选“Y”,就相当于Fdisk一次,但重启电脑后还要格式化才可使用。(注意:当硬盘坏道较多较分散时你的硬盘容量会损失很大,我试过直接用它维修一个2.5GB和一个4.3GB的硬盘,结果一个只有1.8GB可用,一个只有800MB可用。)
MHDD的使用有点烦,但功能最多。启动时它会先将一些参数命令列出,然后就等你输入命令。按F2键是硬盘设定,按F4键是参数设定界面,默认全是OFF,即只扫描不修理,速度较快。你还可以设定从哪里开始从哪里结束。参数一般将REMAP(坏道映射)以及LOOP THE TEST/REPAIR(循环/修复,即修完一次再来一次,直到你叫停!)设为ON就可以了,再按F4键开始工作。中途还可以按键盘的箭头快进或后退。它工作时会有一个类似MS的SCANDISK的示意图给你看,很直观,使你对该硬盘的质量可以心中有数。
在使用这些软件前一定要先将BIOS的病毒功能、软硬盘写保护关闭。FB会损坏数据,MHDD与HDDREG则只会对坏区里的数据有损。它们之间还会“打架”,这个说OK,那个又说有错。上面几个软件很难说哪个最好。软件修复硬盘所费时间都很长,三两个小时是很平常的。如果硬盘不太重要且硬盘坏道较多时,我会在夜晚开机启动软件,然后关显示器,上床睡觉,明天早上醒来就差不多了。如果舍不得硬盘响几个钟头,可以每个把小时就退出(中途退出可以按“Ctrl+Break”组合键,但未完成的就退出,下次开机操作系统会报被修的硬盘有错,进行扫描,你大可不管按X键退出),并记住位置,关机,让它休息十来分钟再从停的地方继续修复,今天干不完还可以明天接着干(但FB好像没这功能)。如用FB分区觉得不满意可用DISKGENIUS或PQ等合并,但如果坏道多用DG会太烦,PQ也会报硬盘有错。如果容量损失不大,还是等FB自己弄好了。
附:
工作流程:
普通硬盘:DM(清零,低格)→FB,如可用容量超过50%就完工,否则再来:DM→HDDREG→MHDD→FB。HDDREG、MHDD在睡前开动,醒来“收货”。
重要硬盘:DM→HDDREG→MHDD→FB。用HDDREG、MHDD时最好每小时退出休息一下。
硬盘常见故障及其处理方法
1.电源引起的硬盘不能正常起动
计算机电源输出的电压分别是+5V和+12V。硬盘启动需要+12V电压和4A的电流,硬盘工作时的电流为1.1A。软盘的启动仅需+10V左右的电压和1.3A电流,而工作电流为0.5A。计算机电源的输出电压不足+12V,则硬盘就不能启动和工作。处理这类故障,就要使电源输出恢复到+12V电压。
2.主板电池电压不足引起的硬盘无法启动
这是主板上的充电电池失效引起主机参数紊乱而产生的故障。主板上的充电电池(一般是锂电池)是当主机关机时用来保存机器时钟、日期,软盘驱动器的个数、类型,硬盘个数、类型,显示器方式,内存容量,扩展容量等系统参数的。当开机上电自检时,BIOS自动检测CMOS中的参数表,如果不匹配,则出现死机。锂电池的工作电压为+3V~+6V。如果电池电压不足+3V或电池失效,则硬盘无法被识别。
3.硬盘参数错误导致的硬盘不能启动
硬盘参数有硬盘容量大小、磁头数、磁道数、扇区数等多种。不同厂家生产的硬盘,其参数值各不相同。如果硬盘参数值设置错误,则硬盘就启动不了。这时需要重新设置硬盘的磁头数、磁道数、扇区数等值。方法是:首先开机后待自检开始,按下DEL键,即可进入CMOS SETUP设置状态。然后,对COMS中的参数进行设置:选择STANDARD CMOS SETUP栏目中的TYPE项,填入正确的TYPE值。一般的主板都有硬盘自检测功能。进入CMOS SETUP设置菜单中,选择“IDE HDD AUTO DETECTION”即可。
4.硬盘0磁道被破坏引起的故障
DOS操作系统放在硬盘的0磁道上 如果硬盘的0磁道物理性损坏,硬盘便不工作。
一般采用的修复方法是:首先尽量把硬盘有用的文件、数据备份出来。由于硬盘0磁道的损坏,硬盘中的资料、文件已不能按正常备份方法备份,需用BIOS中断方法按扇区逐一备份;然后对整个硬盘做格式化,再用FDISK对硬盘重新分区,最后用formAT对硬盘作逻辑格式化,装上DOS操作系统和有关文件、数据即可。
若用上述方法修复无效,则先用KV300杀毒盘启动、杀毒,再用A:系统盘启动,运行SCANDISK扫描C盘,若在第一簇出现一个红色的“B”,表明零磁道损坏。然后用PCTOOLS 9.0中的DE(该软件能看到各个分区在硬盘的起始点),运行PCT90目录下的DE.EXE,报告现在运行在只读模式,选Op-tions菜单 →Configuration,按空格去掉Read Only前面的√,保存后退出。选主菜单Select→Drive;进入后在Drive type→Physical,按空格选定,再按TTab键切换到Druves项,选中harddisk,然后选OK回车。此后回到主菜单,打开Select菜单,这时会出现Partiton Table,选中之后出现硬盘分区表信息。该分区是从硬盘的0柱面开始的,那么,将分区的Beginning Cylinder的0改成1即可 保存后退出。重新启动,按Delete键进入CMOS设置,进行“IDE HDD AUTO DETECTIOND(也可以看到CYLS数变少)",保存后退出,此时再对硬盘重新分区,格式化,装上相应的软件即可。
二十三:硬盘的DOS管理结构(经典)
http://bbs.hackbase/viewthread.php?tid=2916440&sid=jkLpLI
1.磁道,扇区,柱面和磁头数
硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存储128×2的N次方(N=0.1.2.3)字节信息。在DOS中每扇区是128×2的2次方=512字节,盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道。硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合,磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参数,帮这些参数可以得到硬盘的容量,基计算公式为:
存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头
(2)盘片被划分为多个扇形区域即扇区
(3)同一盘片不同半径的同心圆为磁道
(4)不同盘片相同半径构成的圆柱面即柱面
(5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
(6)信息记录可表示为:××磁道(柱面),××磁头,××扇区
2.簇簇是DOS进行分配的最小单位
当创建一个很小的文件时,如是一个字节,则它在磁盘上并不是只占一个字节的空间,而是占有整个一簇。DOS视不同的存储介质(如软盘,硬盘),不同容量的硬盘,簇的大小也不一样。簇的大小可在称为磁盘
参数块(BPB)中获取。簇的概念仅适用于数据区。
本点:(1)簇是DOS进行分配的最小单位。
(2)不同的存储介质,不同容量的硬盘,不同的DOS版本,簇的大小也不一样。
(3)簇的概念仅适用于数据区。
3.扇区编号定义:绝对扇区与DOS扇区
由前面介绍可知,我们可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,或是说柱面/磁头/扇区与磁盘上每一个扇区有一一对应关系,通常DOS将柱面/磁头/扇区这样表示法称为绝对扇区表示法。但DOS不能直接使用绝对扇区进行磁盘上的信息管理,而是用所谓相对扇区或DOS扇区。相对扇区只是一个数字,如柱面140,磁头3,扇区4对应的相对扇区号为2757。该数字与绝对扇区柱面/磁头/扇区具有一一对应关系。当使用相对扇区编号时,DOS是从柱面0,磁头1,扇区1开始(注:柱面0,磁头0,扇区1没有DOS扇区编号,DOS下不能访问,只能调用BIOS访问),第一个DOS扇区编号为0,该磁道上剩余的扇区编号为1到16(设每磁道17个扇区),然后是磁头号为2,柱面为0的17个扇区,形成的DOS扇区号从17到33。直到该柱面的所有磁头。然后再移到柱面1,磁头1,扇区1继续进行DOS扇区的编号,即按扇区号,磁头号,柱面号(磁道号)增长的顺序连续地分配DOS扇区号。
公式:记DH--第一个DOS扇区的磁头号
DC--第一个DOS扇区的柱面号
DS--第一个DOS扇区的扇区号
NS--每磁道扇区数
NH--磁盘总的磁头数
则某扇区(柱面C,磁头H,扇区S)的相对扇区号RS为:
RS=NH×NS×(C-DC)+NS×(H-DH)+(S-DS)
若已知RS,DC,DH,DS,NS和NH则
S=(RS MOD NS)+DS
H=((RS DIV NS)MOD NH)+DH
C=((RS DIV NS)DIV NH)+DC
要点:(1)以柱面/磁头/扇区表示的为绝对扇区又称物理磁盘地址
(2)单一数字表示的为相对扇区或DOS扇区,又称逻辑扇区号
(3)相对扇区与绝对扇区的转换公式
4.DOS磁盘区域的划分
格式化好的硬盘,整个磁盘按所记录数据的作用不同可分为主引导记录(MBR:Main Boot Record),Dos引导记录(DBRos Boot Record),文件分配表(FAT:File Assign Table),根目录(BD:Boot Directory)和数据区。前5个重要信息在磁盘的外磁道上,原因是外圈周长总大于内圈周长,也即外圈存储密度要小些,可伤心性高些。
要点:(1)整个硬盘可分为MBR,DBR,FAT,BD和数据区。
(2)MBR,DBR,FAT,和BD位于磁盘外道。
5.MBR
MBR位于硬盘第一个物理扇区(绝对扇区)柱面0,磁头0,扇区1处。由于DOS是由柱面0,磁头1,扇区1开始,故MBR不属于DOS扇区,DOS不能直接访问。MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区。记录区就是记录有关分区信息的一张表。它从主引导记录偏移地址01BEH处连续存放,每个分区记录区占16个字节。
分区表的格式
分区表项的偏移 意义 占用字节数
00 引导指示符 1B
01 分区引导记录的磁头号 1B
02 分区引导记录的扇区和柱面号 2B
04 系统指示符 1B
05 分区结束磁头号 1B
06 分区结束扇区和柱面号 2B
08 分区前面的扇区数 4B
0C 分区中总的扇区数 4B
4个分区中只能有1个活跃分区,即C盘。标志符是80H在分区表的第一个字节处。若是00H则表示非活跃分区。例如:
80 01 01 00 0B FE 3F 81 3F 00 00 00 C3 DD 1F 00
00 00 01 82 05 FE BF 0C 02 DE 1F 00 0E 90 61 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
要点:(1)MBR位于硬盘第一个物理扇区柱面0,磁头0,扇区1处。不属于DOS扇区,
(2)主引导记录分为硬盘的主引导程序和硬盘分区表。
6.DBR
DBR位于柱面0,磁头1,扇区1,即逻辑扇区0。DBR分为两部分:DOS引导程序和BPB(BIOS参数块)。其中DOS引导程序完成DOS系统文件(IO.SYS,MSDOS.SYS)的定位与装载,而BPB用来描述本DOS分区的磁盘信息,BPB位于DBR偏移0BH处,共13字节。
它包含逻辑格式化时使用的参数,可供DOS计算磁盘上的文件分配表,目录区和数据区的起始地址,BPB之后三个字提供物理格式化(低格)时采用的一些参数。引导程序或设备驱动程序根据这些信息将磁盘逻辑地址(DOS扇区号)转换成物理地址(绝对扇区号)。BPB格式
序号 偏移地址 意义
1 03H-0AH OEM号
2 0BH-0CH 每扇区字节数
3 0DH 每簇扇区数
4 0EH-0FH 保留扇区数
5 10H FAT备份数
6 11H-12H 根目录项数
7 13H-14H 磁盘总扇区数
8 15H 描述介质
9 16H-17H 每FAT扇区数
10 18H-19H 每磁道扇区数
11 1AH-1BH 磁头数
12 1CH-1FH 特殊隐含扇区数
13 20H-23H 总扇区数
14 24H-25H 物理驱动器数
15 26H 扩展引导签证
16 27H-2AH 卷系列号
17 2BH-35H 卷标号
18 36H-3DH 文件系统号
DOS引导记录公式:
文件分配表≡保留扇区数
根目录≡保留扇区数+FAT的个数×每个FAT的扇区数
数据区≡根目录逻辑扇区号+(32×根目录中目录项数+(每扇区字节数-1))DIV每扇区字节数
绝对扇区号≡逻辑扇区号+隐含扇区数
扇区号≡(绝对扇区号MOD每磁道扇区数)+1
磁头号≡(绝对扇区号DIV每磁道扇区数)MOD磁头数
磁道号≡(绝对扇区号DIV每磁道扇区数)DIV磁头数
要点:(1)DBR位于柱面0,磁头1,扇区1,其逻辑扇区号为0
(2)DBR包含DOS引导程序和BPB。
(3)BPB十分重要,由此可算出逻辑地址与物理地址。
7.文件分配表
文件分配表是DOS文件组织结构的主要组成部分。我们知道DOS进行分配的最基本单位是簇。文件分配表是反映硬盘上所有簇的使用情况,通过查文件分配表可以得知任一簇的使用情况。DOS在给一个文件分配空间时总先扫描FAT,找到第一个可用簇,将该空间分配给文件,并将该簇的簇号填到目录的相应段内。即形成了簇号链。FAT就是记录文件簇号的一张表。
FAT的头两个域为保留域,对FAT12来说是3个字节,FAT来说是4个字节。其中头一个字节是用来描述介质的,其余字节为FFH。介质格式与BPB相同。
第一个字节的8位意义:
7 6 5 4 3 2 1 0
└─────-┘ │ │ │┌0非双面
置1 │ │ └┤
│ │ └1双面
│ │┌0不是8扇区
│ └┤
│ └1是8扇区
│┌0不是可换的
└┤
└1是可换的
FAT结构含义
FAT12 FAT16 意义
000H 0000H 可用
FF0H-FF6H FFF0H-FFF6H 保留
FF7H FFF7H 坏
FF8H-FFFH FFF8H-FFFFH 文件最后一个簇
×××H ××××H 文件下一个簇
对于FAT16,簇号×2作偏移地址,从FAT中取出一字即为FAT中的域。
逻辑扇区号=数据区起始逻辑扇区号+(簇号-2)×每簇扇区数
簇号=(逻辑扇区号-数据区起始逻辑扇区号)DIV每簇扇区数+2
要点:(1)FAT反映硬盘上所有簇的使用情况,它记录了文件在硬盘中具体位置(簇)。
(2)文件第一个簇号(在目录表中)和FAT的该文件的簇号串起来形成文件的簇号链,恢复被破坏的文件就是根
据这条链。
(3)由簇号可算逻辑扇区号,反之,由逻辑扇区号也可以算出簇号,公式如上。
(4)FAT位于DBR之后,其DOS扇区号从1开始。
8.文件目录
文件目录是DOS文件组织结构的又一重要组成部分。文件目录分为两类:根目录,子目录。根目录有一个,子目录可以有多个。子目录下还可以有子目录,从而形成树状的文件目录结构。子目录其实是一种特殊的文件,DOS为目录项分配32字节。目录项分为三类:文件,子目录(其内容是许多目录项),卷标(只能在根目录,只有一个。目录项中有文件(或子目录,或卷标)的名字,扩展名,属性,生成或最后修改日期,时间,开始簇号,及文件大小。
目录项的格式
字节偏移 意义 占字节数
00H 文件名 8B
08H 扩展名 3B
0BH 文件属性 1B
0CH 保留 10B
16H 时间 2B
18H 日期 2B
1AH 开始簇号 2B
1CH 文件长度 4B
目录项文件名区域中第一个字节还有特殊的意义:00H代表未使用
05H代表实际名为E5H
EBH代表此文件已被删除
目录项属性区域的这个字节各个位的意义如下: 7 6 5 4 3 2 1 0
未 修 修 子 卷 系 隐 只
用 改 改 目 标 统 藏 读
标 标 录 属 属 属
志 志 性 性 性
注意:WINDOWS的长文件名使用了上表中所说的保留这片区域。
要点:(1)文件目录是记录所有文件,子目录名,扩展名属性,建立或删除最后修改日期。文件开始簇号及文件长度的一张
登记表.
(2)DOS中DIR列出的内容训是根据文件目录表得到的。
(3)文件起始簇号填在文件目录中,其余簇都填在FAT中上一簇的位置上。
| |
发布评论