概念
以下純屬個人理解,不涉及任何嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)定義。
-
分區(qū)
磁盤可以被分割為多個分區(qū),每個分區(qū)又可以被格式化成種類繁多的文件系統(tǒng),"XX"文件系統(tǒng)對應(yīng)的分區(qū)就叫做"XX"分區(qū),但是,實際上分區(qū)就可以理解為將磁盤分割成數(shù)個物理上分割的區(qū)域而已,分區(qū)本身和文件系統(tǒng)格式?jīng)]有必然聯(lián)系,任意一個分區(qū)可以被格式化成任意一個文件系統(tǒng)。
-
文件系統(tǒng)
文件系統(tǒng)適用于將不容易理解的二進(jìn)制方式存儲在磁盤上的數(shù)據(jù),以人便于理解的結(jié)構(gòu)組織并可以方便的呈現(xiàn)出來。并且還可以方便被修改、編輯、存儲與刪除。文件系統(tǒng)從本質(zhì)上講就是一個數(shù)據(jù)結(jié)構(gòu),一個復(fù)雜點的結(jié)構(gòu)體而已。不涉及任何實質(zhì)性的內(nèi)容。
分區(qū)表分析
目前磁盤分區(qū)的格式主要有兩種:MBR(Main Boot Record)、GPR([GUID Partition Table](http://en.wikipedia.o
![Upload 未命名.PNG failed. Please try again.]
rg/wiki/GUID_Partition_Table)),實際就對應(yīng)兩種分區(qū)表的格式。
MBR,由來已久,也是目前做通用的一種格式,有IBM定義,支持的磁盤分區(qū)大小小于2TB。
GPT,自然主要就是隨著日新月異的磁盤擴容技術(shù),解決上述磁盤分區(qū)不能大于2TB的問題了,目前貌似這么大的分區(qū)還不夠主流。
還有就是,MBR根據(jù)名字也能看出來,它的主要功能不是用來分區(qū)的,是用來存放引導(dǎo)程序的。
所以,這個信息必然應(yīng)該是放在磁盤的第一塊扇區(qū)的。(注:歷史原因,通常扇區(qū)的大小是512B,居然是個9bit數(shù) :b)
MBR的后66字節(jié)(64+2)是我這里最關(guān)心的了,至于MBR的詳細(xì)結(jié)構(gòu)說明還是參考這里。最后兩個字節(jié)存儲標(biāo)記信息,固定為"0x55 0xAA"。往前推每16字節(jié)存儲一個分區(qū)信息,這些分區(qū)叫做“主分區(qū)”,這也是主分區(qū)為什么不能大于4個的原因(只有此歌存儲空間嘛~)。當(dāng)然你可以分出更多的分區(qū),只不多都叫做邏輯分區(qū),這個翻案很早以前就實現(xiàn)了,通過現(xiàn)有分區(qū)表“打補丁”的方式實現(xiàn),邏輯分區(qū)以“鏈表”的形式掛在主分區(qū)后,可以索引得到其相關(guān)信息(格式也基本合住分區(qū)表一致)。
每一個分區(qū)信息的16字節(jié)內(nèi)容很簡單,說明如下:
| 1字節(jié) | 3字節(jié) | 1字節(jié) | 3字節(jié) | 4字節(jié) | 4字節(jié) |
|---|---|---|---|---|---|
| 可引導(dǎo)標(biāo)志(1可引導(dǎo)) | 分區(qū)起始CHS信息 | 分區(qū)類型(文件系統(tǒng)格式) | 分區(qū)結(jié)束CHS信息 | 分區(qū)起始LBA地址(小端模式) | 分區(qū)結(jié)束LBA地址(小端模式) |
文件系統(tǒng)分析
這個在上述的“分區(qū)類型”的字段內(nèi)有對應(yīng)的標(biāo)記信息,所以說理論上可以有256種分區(qū)類型(文件系統(tǒng)的格式)
未完待續(xù)...