Windows基本磁盘结构简析(三)——逻辑分区
来源:互联网 发布:兰州知豆电动车多少钱 编辑:程序博客网 时间:2024/05/18 18:52
上一篇文章中提到,MBR磁盘通过扇区零即主引导记录中的分区表管理磁盘分区,但是这仅限于主分区和扩展分区,但是很多时候,我们需要创建的分区不止4个,所以就需要在扩展分区中创建逻辑分区。
在MBR磁盘上,每个逻辑分区都对应有一个数据结构,它类似于主引导记录MBR,占用一个扇区的空间,通常称为EBR。在EBR中,只有分区表中的前两项以及结束标志0xAA55有效。EBR分区表的第一项表明当前逻辑分区的偏移地址,第二项表明下一个逻辑分析EBR的开始位置。逻辑分区的管理类似于数据结构中的链表,第一个节点由链表头指定,即MBR分区表中的扩展分区指定了第一个逻辑分区EBR的开始位置,之后每个节点中都有一个属性表明下一个节点的地址。EBR的原理如下图所示。
如上图所示的3个逻辑分区中,如果需要读取分区3中的数据,系统会采取如下流程:
1:读入磁盘MBR扇区,查找分区表中是否存在类型为5的扩展分区,并记录扩展分区的偏移地址;
2::跳转到扩展分区的第一个EBR扇区,该EBR的第二项记录了第二个逻辑分区EBR的地址;
3:读取第二个EBR扇区,该EBR的第二项记录了第三个逻辑分区的EBR地址;
4:跳转到第三个EBR扇区处,读取第一个分区表项,该项中分区开始偏移记录了该逻辑分区到本EBR之间的偏移距离。
5:读取第三个逻辑分区的内容。
在这个过程中,必须要注意的是,EBR中分区表项开始地址是相对地址,而MBR中的分区开始地址则是相对于磁盘扇区0的绝对偏移地址。例如,对于上图中的第一个逻辑分区EBR,其中的第一项表示当前逻辑分区,其开始偏移指的是相对于该EBR的偏移,如EBR的地址是0x10000,且EBR指定逻辑分区开始偏移为0x800,那么该逻辑分区相对于磁盘扇区0的绝对开始位置为0x10800。另外,EBR中的第二个分区表项指向下一个逻辑分区EBR的地址,它和第一项有所不同,它是相对于主扩展分区的开始偏移的相对位置。如MBR中记录了扩展分区的开始位置为0X100000,且EBR中第二项开始偏移为0x10000,那么下一个逻辑分区EBR相对于磁盘扇区0的绝对偏移为0X110000。只要注意EBR中两个分区表项的开始位置的计算方式不同,就能够很容易的获取每个逻辑分区的地址和大小。本文出自 “Jsl_mes” 博客,请务必保留此出处http://jslmes.blog.51cto.com/5008224/1319600
0 0
- Windows基本磁盘结构简析(三)——逻辑分区
- 转载 Windows基本磁盘结构简析(一)——MBR和GPT分区
- Windows基本磁盘结构简析(一)——MBR和GPT分区
- Windows基本磁盘结构简析(四)——GPT磁盘
- Windows基本磁盘结构简析(二)——MBR结构分析
- 电脑磁盘逻辑分区不见了
- 磁盘逻辑结构
- 无损把硬盘从动态磁盘转化为基本磁盘和把主分区转化为逻辑分区
- 磁盘主分区转换为逻辑分区
- linux 磁盘管理四部曲——(1)磁盘结构,认识分区
- 硬盘(MBR磁盘)分区基本认识+Windows启动原理
- 基本分区&逻辑卷
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- windows的磁盘操作之四——根据逻辑分区号获得物理磁盘号
- linux磁盘结构及分区
- linux磁盘结构及分区
- Python日记——model的使用
- 在JavaScript中创建对象
- MVC架构理解
- Windows基本磁盘结构简析(一)——MBR和GPT分区
- Windows基本磁盘结构简析(二)——MBR结构分析
- Windows基本磁盘结构简析(三)——逻辑分区
- Windows基本磁盘结构简析(四)——GPT磁盘
- HTML5初体验
- 备份还原后的系统启动修复
- 新员工的晋升故事
- VMware虚拟磁盘编程指导(一)
- NYOJ题ASCII排序
- 修改MFC OCX的GUID
- VMware虚拟磁盘编程指导(二)