接著上次的說,我們來看看mbr中的dpt的含義。dpt就是磁碟分割槽表,一般我們所說的分割槽表都是指這裡。dpt中的一項是16位元組,每個位元組的含義如下:
0x0000位元組: 引導標誌符,指明該分割槽是否為乙個活動分割槽,就是可引導的分割槽。
0x0001位元組: 開始磁頭數,記錄了這個分割槽開始的磁頭數。
0x0002位元組: 這個位元組的前6位(0-5bit)被用來記錄開始扇區數,後2位(6-7bit)用來配合記錄開始柱面數
0x0003位元組:這個位元組和0x0003位元組的高2位一起定義了開始柱面數,因此柱面數是由10bit定義的,最大數值為1023,組成柱面數的10bit中的最高2位為0x0003位元組的6-7bit。
0x0004位元組: 分割槽型別標誌位元組,這裡定義好了各種分割槽型別,具體的偶下面給大家出個表。
0x0005位元組: 結束磁頭數,記錄了這個分割槽結束的磁頭數。
0x0006位元組: 結束扇區數,同樣只使用了0-5bit,高2位6-7bit被用來配合記錄結束柱面數
0x0007位元組: 結束柱面數,約定同開始柱面數。
0x0008-0x000b: 相對扇區數,從該磁碟的開始位置,到分割槽開始位置的扇區數目。
0x000c-0x000f: 本分割槽總扇區數,記錄該分割槽中總共的扇區數。
可以看到,磁頭數是以乙個位元組來存放,扇區是以6bit來存放,柱面是以10bit來存放的。那麼按照chs模型,最大可以線性定址的磁碟空間為:
256個磁頭*63個扇區*1024個柱面*每扇區52位元組 = 8455716864byte 也就是常說的,8.4gb。
那麼超過8.4gb的分割槽怎麼辦呢,其實現在的os都不再利用chs模型來管理超過8.4gb的分割槽,而是使用分割槽表中最後的8個位元組(0x0008-0x000b和0x000c-0x000f)的扇區數來進行管理,因此支援的最大分割槽容量為:
2^32*512=2048gb=2tb 一般來說,都夠用了…… - -
因此在超過8.4gb的分割槽的分割槽表上 chs引數是什麼已經沒所謂了,一般結束chs引數用 feh ffh ffh 來填充chs。
分割槽在物理上並不是乙個緊挨著乙個的,乙個分割槽和另乙個分割槽之間,通常是有保留扇區來分隔的。保留扇區不只起到分隔的作用。通常來說是這樣:
保留扇區+第乙個分割槽+保留扇區+第二個分割槽…………。
保留扇區裡,一般按照分割槽的型別儲存著mbr或者ebr扇區! 注意,dbr並不儲存在這裡,dbr儲存在分割槽真正起始的第乙個扇區中。保留扇區的數目,是由dbr中的引數來決定的,在分割槽表的0x0008-0x000b欄位中,是不會記入保留扇區數的。意思是:假設第乙個分割槽占用了64個扇區,第乙個分割槽和第二分割槽之間保留了16個扇區,那麼第二個分割槽的分割槽表上0x0008-0x000b中記錄的將是80而不是64,換言之,隱藏扇區通常是不可見的。而第二個分割槽的dbr就儲存在80開始的扇區中,而不是保留扇區中。
理解這些概念偶覺的比較重要,它會讓你明白磁碟分割槽的物理排布,和重要的mbr以及ebr和dbr的儲存位置 :)
最後給出一張**,列出了常見的分割槽型別(對應於分割槽表0x0004位元組)
00 空
01 fat32
02 xenix root
03 xenix usr
04 fat16(<32mb)
05 extended
06 fat16
07 hpfs/ntfs
08 aix
09 aic bootable
0a os/2 boot manage
0b win95 fat32
0c win95 fat32
0e win95 fat16
0f win95 extended(>8gb)
10 opus
11 hidden fat12
12 ***paq diagnost
14 hideen fat16(<32mb)
16 hidden fat16
17 hidden hpfs/ntfs
18 ast window swap
1b hidden fat32
1c hideen fat32 (using lba-mode int 13 extensions)
1e hidden lba vfat partition
24 nec dos
3c partition magic
40 venix 80286
41 ppc prep boot
42 sfs
4d qnx4.x
4e qnx4.x 2nd part
4f qnx4.x 3rd part
50 ontrack dm
51 ontrack dm6 aux
52 cp/m
53 ontrack dm6 aux
54 ontrack dm6
55 ez-drive
56 golden bow
5c priam edisk
61 speed stor
63 gnu hurd or sys
64 novell ***ware
65 novell ***ware
70 disk secure mult
75 pc/ix
80 old minix
81 minix/old linux
82 linux swap
83 linux
84 os/2 hidden c:
85 linux extended
86 ntfs volume set
87 ntfs volume set
93 amoeba
94 amoeba bbt
a0 ibm thinkpad hidden
a5 bsd/386
a6 open bsd
a7 nextstep
b7 bsdi fs
b8 bsdi swap
be solaris boot partition
c0 dr-dos/novell dos secured partition
c1 drdos/sec
c4 drdos/sec
c6 drdos/sec
c7 syrinx
db cop/m/ctos
e1 dos access
e3 dos r/o
e4 speedstor
eb beos fs
f1 speedstor
f2 dos 3.3+ secondary partition
f4 speedstor
fe lan step
ff bbt
以上**來自網上,很多分割槽型別見都沒見過,所以正確與否請大家一起修訂 :) 下次偶們來看下dbr中的各種引數,dbr就是真正負責引導os的os引導扇區了。 :)
1 2 Intel X86 CPU系列的定址方式
所謂x86系列,是指intel從16位微處理器8086開始的整個cpu晶元系列,系列中的每種型號都保持與以前的各種型號相容,主要有8086 8088 80186 80286 80386 80486以及以後各種型號的pentium晶元。在x86系列中,8086和8088是16位處理器,而從80386開...
多硬碟作業系統的引導
想在兩塊硬碟上安裝不同的作業系統,於是分別在第一塊硬碟上安裝了windowxp,第二塊硬碟上安裝了linux redhat 由於ntloader不能引導其他硬碟上的作業系統,於是決定用第二塊硬碟上來啟動計算機,於是在bios上把啟動硬碟設定為第二塊硬碟,由於前面安裝redhat時把grub安裝在了m...
硬碟和軟盤的引導扇區結構
一 硬碟mbr mbr master boot record,或main boot record 中文意為主引導區記錄,位於磁碟0磁軌的第乙個扇區,大小正好為512位元組,所以又稱為主引導扇區。mbr構成如下圖所示 從圖中看出,mbr被分為三個部分 1 第一部分為bootloader 主引導資訊 佔...