跟小蔡学习数据恢复(三)
[数据恢复] [回复] [引用回复] [表格型] [跟帖 ] [转发到Blog] [关闭] [浏览0次]

用户名: geegle
跟小蔡学习数据恢复(三)
2004-10-22 17:59:00 阅读1236次

CHS模式值转换成LBA值



在上一篇中我们提到磁面、磁道、柱面、扇区等概念,我们再回顾一下:

硬盘的每个盘片都有两个盘面(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之间的转换有一定的了解了。




该贴于2005-04-08 11:29:38被geegle编辑过

该贴于2005-04-14 00:46:20被geegle编辑过
本贴于2004-12-12 04:35:25在 乐趣园 电脑世界数据恢复发表.
[编辑] [删除] [置顶] [设为精华帖子] [查看ip] [加入黑名单] [推荐到首页]

 
加入我的乐趣收藏夹
[发表新帖] [回复该帖] [引用回复] [表格型] [转发到Blog] [关闭]

快速回复:
主题
内容
图片链接
选项显示签名
        

郑 重 声 明
1. 任何言论纯属作者个人观点,与乐趣园无关;
2. 禁止发表反动、色情和其他违反国家法律、法规的言论、信息;
3. 禁止利用本论坛进行赌博、非法买卖等违法行为;
4. 禁止发表恶意攻击他人的言论;
5. 任何转载或转贴都应注明真实作者和真实出处;
6. 禁止发表任何涉及政治、军事、外交等内容的言论;

数据恢复

数据恢复

数据恢复