0.1) text description from orange’s implemention of a os;
0.2) there are a number of analysis and attention proves to be essence of this page, I think;
0.3)Conclusion about hd partition table数组
C3.2) MBR(主引导记录)的分区表(主分区表)只能存放4个分区,若是要分更多的分区的话就要一个扩展分区表(EBR),扩展分区表放在一个系统ID为0x05的主分区上,这个主分区就是扩展分区,扩展分区能能够分若干个分区,每一个分区都是个逻辑分区;
数据结构
1.2) 如今咱们的计算机中 每块硬盘常常划分为不止四个分区, 这是由于 每一个主分区能够进一步分红多个逻辑分区;
this
1.3) 对硬盘进行分区操做,如何建立虚拟硬盘,参见http://blog.csdn.net/PacosonSWJTU/article/details/48846887
.net
如上图所示,咱们把一个80M 的硬盘映像分红了一个主分区和一个扩展分区,而后扩展分区又分红了 五个逻辑分区;咱们的orange's os 安装在 第一个逻辑分区上(标有 '*' 号);
code
A2)这个分区表结构体数组 存在于 引导扇区中除开 0xAA55 后的最后64个字节;
blog
第一个分区:00 ,01 ,01 ,00 ,83 ,0F ,3F ,13 ,3F 00 00 00 ,81 4E 00 00 第二个分区:00 ,00 ,01 ,14 ,05 ,0F ,3F ,A1 ,C0 4E 00 00 ,20 2F 02 00
Attention):扩展分区的起始字节,也便是扩展分区的第一个逻辑分区的起始字节;
图片
第一个分区:80 ,01 ,01 ,14 ,99 ,0F ,3F ,3B ,3F 00 00 00 ,41 9D 00 00
第二个分区:00 ,00 ,01 ,3C ,05 ,0F ,3F ,59 ,80 9D 00 00 ,20 76 00 00
ip
3.1)对上表的分析-Analysis:it
3.2)利用上述扩展分区的第一个逻辑分区的分区表数据结构 记录的嵌套扩展分区的起始字节(EC40h * 512 = 1D88000h),咱们来查看嵌套扩展分区的信息:
(由于,扩展分区中的第一个逻辑分区的分区表记录着 另外一个扩展分区的起始扇区,因此咱们把这种扩展分区 叫作 嵌套扩展分区)
io
第一个分区:00 ,01 ,01 ,3C ,83 ,0F ,3F ,59 ,3F 00 00 00 ,E1 75 00 00 第二个分区:00 ,00 ,01 ,5A ,05 ,0F ,3F ,83 ,A0 13 01 00 ,60 A5 00 00
3.3)对上表的分析-Analysis:
Attention)为何 第一个分区的 起始扇区LBA 最后要加上 EC40h, 而第二个分区的 起始扇区LBA 最后要加上 4EC0h 呢?