我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 操作系统 > WINDOWS > 插件木马 > 跟我学数据恢复之CHS模式值转换成LBA值
热门文章排行
热门文章排行 Windows XP 打造个性系统文件夹图标(11-22)
“我的文档”不寻常(10-10)
跳舞毯Windows XP下安装全攻略(10-25)
了解windows xp的任务栏(11-22)
关于Vista的Aero玻璃感特效界面(11-01)
精采文章排行
精采文章排行 受用一生的电脑知识!(11-15)
windows系统安装后十大必做(11-15)
Windows系统“无法打开”故障解决方(11-14)
Win XP中如何导入和导出注册表内容(11-14)
教你清除系统里不请自来的自启动程序(11-14)
技术专题推荐
网管论坛交流
 

跟我学数据恢复之CHS模式值转换成LBA值 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-12-23



  在上一篇中我们提到磁面、磁道、柱面、扇区等概念,我们再回顾一下:
  
  硬盘的每个盘片都有两个盘面(Side),即上、下盘盘面,安照顺序从上至下从“0”开始依次编号。磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫磁道(Track)。磁道从外向内从0开始顺序编号。所有盘面上的同一磁道构成的一个圆柱,通常称做柱面(Cylinder),每个柱面上的磁头由上而下从“0”开始编号。
  
  操作系统以扇区(Sector)形式将信息存储在硬盘上,每个扇区包括512个字节的数据和一些其他信息。
  
  这些通常用来表示硬盘的物理地址,现在随着硬盘容量增大我们用逻辑地址即线性地址(LBA)。因此我们需要了解CHS与LBA之间的转换。
  
  C/H/S与LBA地址的对应关系:
  
  从CHS到LBA
  
  假设用C表示当前柱面号,H表示当前磁头号,Cs表示起始柱面号,Hs表示起始磁头号,Ss表示起始扇区号,PS表示每磁道有多少个扇区,PH表示每柱面有多少个磁道,则有以下对应关系:
  
  LBA=(C-Cs)*PH*PS+(H-Hs)*PS+(S-Ss)
  
  一般情况下,CS=0、HS=0、SS=1;PS=63、PH=255
  
  那么以下可以根据公司计算,如下:
  
  C/H/S=0/0/1,代入上述公式中得到LBA=0
  C/H/S=0/0/63,代入上述公式中得到LBA=62
  C/H/S=1/0/1,代入上述公式中得到LBA=63
  C/H/S=220/156/18,代入上述公式中得到LBA=3544145
  
  从LBA到CHS
  
  在这里先介绍两种运算DIV和MOD。DIV做整除运算,即被除数除以除数所得的商的整数部分;比如5 DIV 3=1,33 DIV 6=5。
  
  MOD是余运算,MOD运算则取商的余数;比如:5 MOD 3=2,33 MOD 6=5。
  
  DIV和MOD是一对搭档,一个取整一个取余。各个变量按照上面的进行假设,那么有:
  C=LBA DIV (PH*PS) + Cs
  H=(LBA DIV PS) MOD PH + Hs
  S=LBA MOD PS + Ss
  
  如果上述不用MOD运算,只用DIV运算可以如下:
  C= LBA DIV (PH*PS) + Cs
  H=LBA DIV PS ?(C-Cs) * Ps + Ss
  S=LBA- (C-Cs) * PH * PS - (H-Hs) * PS + Ss
  
  那么按照这个规律则有:
  LBA=0,相应地C/H/S=0/0/1
  LBA=62,相应地C/H/S=0/0/63
  LBA=63,相应地C/H/S=1/0/1
  LBA=62,相应地C/H/S=0/0/63
  LBA=3544145,相应地C/H/S=220/156/18,
  
  通过以上转换,大家对CHS与LBA之间的转换有一定的了解了。







文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·Windows 98 注册表妙用 ·中文版Windows XP 的新增功能
·中文版Windows XP 的安装 ·Windows XP 中注册表信息的还原
·Windows XP 中置用户的注册表访问权限 ·Windows 98 注册表的应用

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。