>>DOS分區體系的硬盤也叫MBR硬盤,0號扇區是主引導記錄MBR,DOS分區體系的硬盤用分區表記錄每個分區的類型起始位置和分區的大小。其中,分區表就在0號扇區內,所以0號扇區如果損壞,那么這個硬盤就不能正確識別分區。
>>DOS分區的使用范圍:windows系統,Linux系統以及基於IA32平台FreeDBS和OpenDBS等操作系統都使用DOS分區體系。
>>Boot Sector(引導扇區)
Boot Sector也就是硬盤的第一個扇區,它由 MBR(Master Boot Record),DPT (Disk Partition Table)和Boot Record ID三部分組成。
1)主引導記錄MBR 占用Boot Sector的前446個字節( 0 to 0x1BD ),存放系統主引導程序(它負責從活動分區中裝載並運行系統引導程序)。
2)DPT 即主分區表 占用64個字節 (0x1BE to 0x1FD),記錄了磁盤的基本分區信息,主分區表分為四個分區項,每項16字節,分別記錄了每個主分區的信息(因此最多可以有四個主分區)。
3)Boot Record ID 即引導區標記 占用兩個字節(0x1FE and 0x1FF),對於合法引導區,它等於0xAA55,這是判別引導區是否合法的標志。

winhex打開如下圖:

下面研究分區表和Boot Record ID:
1、分區表:
首先,我的虛擬機磁盤結構如下:

>分區表結構如下:

下面用winhex看看分區表:
> 04 (分區類型):
00 未使用分區項
01 DOS12一種fat表為12位的分區主要用於早期小硬盤和部分軟盤
05 EXTEND擴展分區的一種
06 BIGDOS即FAT16分區分區表為16位,每簇最大為32K,最大分區為2G
07 NTFS分區
0B FAT32分區分區表為32位
0C FAT32X分區與FAT32基本相同
0E BIGDOSX即FAT16分區擴展分區表為16位,每簇最大可以超過32K
0F EXTENDX擴展分區的一種
82 Linux主分區
83 Linux交換分區
>08-0B:分區的起始扇區號,
我打開虛擬機里的C盤后,發現我的第一分區不是63扇區開始,而是2048,



原因如下:
win7系統對硬盤的分區管理有所改變了。很多時候會在硬盤起始部分占用部分扇區數。這就造成了這種情況的出現。如果系統正常,不用太在意。不過如果出現問題。一定不要隨意使用修復工具修復。因為很多修復工具是按照以前的63扇區起始來計算修復的。錯誤的操作會破壞數據的。
>0C-0F(分區大小):

打開C盤,查看C盤大小:

>再來看看第4個分區(擴展分區):

轉到該扇區:

可以看到主擴展分區表(即記錄邏輯分區的表)(關於主分區,擴展分區,邏輯分區可看上一篇隨筆):

其中有一條表項,分區類型是07-->NTFS,第一個扇區2048

分區大小:20480:

順便計算一下,一個扇區是512Byte(即0.5M),20480個扇區就是10240Byte(即10M)。正確對上實際值。
2、Boot Record ID
如果引導區標志不是0xAA55,將出現嚴重后果。
用winhex打開之前建立的虛擬磁盤,修改標志為0A55,然后保存

打開設備管理器,刷新設備(先卸載虛擬磁盤然后掃描)

然后打開磁盤管理界面就發現,顯示虛擬磁盤沒有初始化:

最后修改回0xAA55,重復上述步驟,虛擬磁盤變回可用的了。

