首页 数据抢修 数据粉碎销毁 本地数据安全管理 培 训 维护外包 价格参考 友情链接  
恢复专线:
数据援助电话
北京010-62123730 62130025 62125342 62134032   上海021-64695337、64695338、51096299
在线咨询  
     
会员卡号
 
    简介
    荣誉资质
    合作加盟
    产品
 
    技术优势
    恢复成功率统计
    硬盘技术
    Raid技术
 
    回天实验室常规服务
    回天特色服务
    保密方式服务
    服务流程
    服务承诺
    服务周期
    现场援助
 
   郑州数据恢复公司
   南京数据恢复公司
   天津数据恢复公司
   兰州数据恢复公司
   温州数据恢复公司
   宁波数据恢复公司
   杭州数据恢复公司
   重庆数据恢复公司
   盐城数据恢复公司
 
  硬盘技术 当前位置 >> 技术 >>硬盘技术

    硬盘基本知识: 硬盘的 dos 管理结构

  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 c 3 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 中上一簇的位置上。

9. 物理驱动器与逻辑驱动器
   物理驱动器指实际安装的驱动器。 逻辑驱动器是对物理驱动器格式化后产生的 硬盘逻辑锁巧解在谈论具体的解决方法前,先讲述一下被 " 逻辑锁 " 锁住的硬盘为什么不能用普通办法启动的原因:计算机在引导 dos 系统时将会搜索所有逻辑盘的顺序,当 dos 被引导时,首先要去找主引 导扇区的分区表信息,位于硬盘的零头零柱面的第一个扇区的 obeh 地址开始的地方,当 分区信息开始的地方为 80h 时表示是主引导分区,其他的为扩展分区,主引导分区被定义 为逻辑盘 c 盘,然后查找扩展分区的逻辑盘,被定义为 d 盘,以此类推找到 e , f , g..... " 逻辑锁 " 就是在此下手,修改了正常的主引导分区记录将扩展分区的第一个逻辑盘指向 自己, dos 在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来 就形成了死循环,这就是使用软驱 , 光驱,双硬盘都不能正常启动的原因。实际上这 " 逻辑锁 " 只是利用了 dos 在启动时的一个小小缺陷,便令不少高手都束手无策。知道了 " 逻辑 锁 " 的 " 上锁 " 原理,要解锁也就比较容易了。以前我看到有位朋友采用 " 热拔插 " 硬盘电源的方法来处理:就是在当系统启动时,先不给被锁的硬盘插上电源线,等待启动完成后再给硬盘 " 热插 " 上电源线,这时如果硬盘没有烧坏的话,系统就可以控制硬盘了。当然这是一种非常危险的方法,大家不要轻易尝试,下面介绍两种比较简单和安全的处理方法。

   方法一:修改 dos 启动文件 首先准备一张 dos6.22 的系统盘,带上 debug 、 pctools5.0 、 fdisk 等工具。然后在一台正常的机器上,使用你熟悉的二进制编辑工具( debug 、 pctools5.0 ,或者 windows 下的 ultraedit 都行)修改软盘上的 io.sys 文件(修改前记住改该文件的属性为正常),具体是在这个文件里面搜索第一个 "55aa" 字符串,找到以后修改为任何其他数值即可。用这张修改过的系统软盘你就可以顺利地带着被锁的硬盘启动了。不过这时由于该硬盘正常的分区表已经被黑客程序给恶意修改了,你无法用 fdisk 来删除和修改分区,而且仍无法用正常的启动盘启动系统,这时你可以用 debug 来手工恢复。使用 debug 手工修复硬盘步骤如下:

a:\>debug
-a
-xxxx:100 mov ax,0201 读一个扇区的内容
-xxxx:103 mov bx,500 设置一个缓存地址
-xxxx:106 mov cx,0001 设置第一个硬盘的硬盘指针
-xxxx:109 mov dx,0080 读零磁头
-xxxx: 10c int 13 硬盘中断
-xxxx:10e int 20
-xxxx:0110 退出程序返回到指示符
-g 运行
-d500 查看运行后 500 地址的内容

这时候会发现地址 6be 开始的内容是硬盘分区的信息,发现此硬盘的扩展分区指向自己,这就使 dos 或 windows 启动时查找硬盘逻辑盘进去死循环,在 debug 指示符下用 e 命令修改内存数据 具体如下:

e6be
xx.0 xx.0 xx.0...............
.............................
.......................55 aa
55 aa 表示硬盘有效的标记,不要修改, xx0 表示把以前的数据 "xx" 改成 0

再用硬盘中断 13 把修改好的数据写入硬盘就可以了,具体如下:
a:\>debug
a 100 表示修改 100 地址的汇编指令
-xxxx:100 mov ax,0301 写硬盘一个扇区
-xxxx: 这里直接按回车
-g 运行
-q 退出

   然后运行 fdisk/mbr (重置硬盘引导扇区的引导程序 ) ,再重新启动电脑就行了。 怎么样?用这种方法处理够简单的吧?而且这种方法还有一个好处就是可以保住盘上的 数据!如果你不需要保数据的话,还有更加简单的处理方法:

   方法二:巧设 bios ,用 dm 解锁大家知道 dm 软件是不依赖于主板 bios 的硬盘识别安装软件,(所以在不能识别大硬盘的老主板上也可用 dm 来安装使用大容量硬盘)。就算在 bios 中将硬盘设为 "none" , dm 也可识别并处理硬盘。首先你要找到和硬盘配套的 dm 软件(找 js 要或去网上荡),然后把 dm 拷到一张系统盘上。接上被锁硬盘,开机,按住 del 键,进 cmos 设置,将所有 ide 硬盘设为 none (这是关键所在 ! ),保存设置,重启动,这时系统即可 " 带锁 " 启动。启动后运行 dm ,你会发现 dm 可以绕过 bios ,识别出硬盘,选中该硬盘,分区格式化,就 ok 了。这么简单?不过这种 方法的弱点是硬盘上的数据将全部丢失。

 

 
 Copyright © 北京回天时代科技有限公司 (版权所有)        京ICP备05007476号
回天北京总部   
北京回天时代科技有限公司 All Rights Reserved
地址:北京市中关村南大街34号中关村科技发展大厦C座16层  邮编:100081
电话:010-62125342 62134032 62135471 62125542 LOGRASFX中古車中古車中古車