解析磁盤0號扇區數據


自己寫了一個簡單工具,可讀取磁盤扇區數據。也可下載其它工具查看。本人磁盤0號扇區數據例如以下


這個0號磁盤是整個磁盤的第一個扇區。稱為MBR(Master Boot Record )主引導記錄。

此扇區的前446個字節是引導程序,在BIOS的代碼運行到最后時。BIOS會將這段程序載入到內存中並開始運行。

后面的64字節是硬盤分區表。

 
從0x1BE~0x1FE 共64字節。是4個分區表項,0x1be~0x1cd為第一個分區表項。0x1ce~0x1dd為第二個分區表項,0x1de~0xed為第三個分區表項,0x1ee~0x1fd為第三個分區表項。由圖可知本磁盤有4個分區。

打開計算機管理中的磁盤管理,可看到本人計算機的磁盤情況



如今以第一個分區表項為例

0x1be              為可引導標識,0x00不可引導。0x80表示可引導 

0x1bf~0x1c1    為分區起始CHS(柱面/磁頭/扇區)

                      本分區是 00 21 20  (小端格式),第一個字節 20  記錄分區起始磁頭號。

                       第二個字節 21 的低6位 10 0001 記錄分區的起始扇區號;

                       第二個字節的高兩位00,和第三個字節的8位記錄分區的起始柱面號。

0x1c2               分區類型,0x07表示NTFS,其它類型請參考http://blog.csdn.net/liyun123gx/article/details/38420035

0x1c3~0x1c5     分區結束的CHS地址

0x1c6~0x1c9     分區起始的扇區號,是小端格式。本例中是 0x00 00 08 00 。

                        文件系統的這個第一個扇區稱為DBR(操作系統引導扇區)。通過分析此扇區,能夠知道文件系統的一些信息。

0x1ca~1cd        分區的扇區數。本例中是 0x 0c 81 90 00 .能夠計算一下 0x0c819000*512(扇區的字節數) = 107426611200 = 100.05G。

        參考上面的圖可知此分區是C盤,且C盤大小是100.5G。

其它3個分區數據的分析此處就省略了。

此扇區僅僅有4個分區表項,假設用戶的硬盤分區多於4個分區。就要用到EBR(擴展引導記錄扇區)了。本文暫不討論。

另外。分區1的起始扇區號0x800,加上分區1的扇區數0x0c819000,是0x0c819800,就是第二個分區的起始扇區號。


0x1fe~0x1ff       0xAA55是結束標志


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM