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 呢?