硬盤基礎知識之磁盤分區(qū)
磁盤的分區(qū)
本文引用地址:http://m.butianyuan.cn/article/201712/372677.htm裝過系統(tǒng)的人都知道必須要分區(qū)后才能安裝系統(tǒng),形象點的說比如windows里C:,D:之類的東西;如果你要問硬盤為什么要分區(qū),我也說不上來很嚴格的原因,首先從使用習慣上來講,我們不希望數(shù)據(jù)雜亂無章堆積在一起,其次,如果不分區(qū),如何才能在一塊硬盤上使用不同的文件系統(tǒng)(下面講到)呢,學院派的說法是:數(shù)據(jù)安全和性能考慮。
先要說硬盤中最最重要的第一扇區(qū),因為整塊硬盤的重要信息都在這里:
MBR(Master Boot Record 主啟動記錄):開機引導程序就在安裝在此,占用446byte;
DPT(Disk Partition table 硬盤分區(qū)表):記錄硬盤上的分區(qū)元信息,占用64byte。
MBR是如何工作的呢,不用深究,反正就是系統(tǒng)開始時會主動讀取數(shù)據(jù)的地方,這樣才能引導進行操作系統(tǒng)的啟動;
DPT要仔細的講講,分區(qū)的大致意思就如同搶地盤,不過人家比較規(guī)矩,按照柱面(最小的分區(qū)單位)分配,比如第一個分區(qū)從柱面1-200,第二個分區(qū)201-500,但三個分區(qū)501-1000...(省略并非可以無限分配下去哦)
為啥說不能一直分配下去呢,技術(shù)柱面數(shù)量足夠,因為上面說到硬盤分區(qū)表只有64個字節(jié),每條分區(qū)記錄需要占用16字節(jié),最多只能分4個,疑問在此:我的電腦怎么分了5個(cdefg)?
其實我說的4個分區(qū)是所謂的主分區(qū),為了能支持很多分區(qū)引入了擴展分區(qū)的概念, 也就是說,可以使用DPT中一條記錄來記錄擴展分區(qū)的信息,然后在擴展分區(qū)中再繼續(xù)劃分邏輯分區(qū),而邏輯分區(qū)的分區(qū)信息則記錄在擴展分區(qū)的第一個扇區(qū)中,如此則可以像鏈表一樣劃分出很多分區(qū)來。但注意,一個分區(qū)表中可以有1~4條主分區(qū),但是最多只能有1個擴展分區(qū)
分區(qū)表之間是如何關(guān)聯(lián)的,詳細講一下,分區(qū)表是一個單向鏈表,第一個分區(qū)表,也就是位于硬盤第一個扇區(qū)中的DPT,可以有一項記錄擴展分區(qū)的起始位置柱面,類似于指針的概念,指向擴展分區(qū)(圖3),根據(jù)這項記錄我們可以找到擴展分區(qū)的某柱面0磁頭1扇區(qū)(CHS),而這個扇區(qū)中又存放了第二個分區(qū)表,第二個分區(qū)表第一項記錄一般表述了當前所在的邏輯分區(qū)的起始/終止柱面,第二項記錄表述了下一個邏輯分區(qū)所在的0磁頭1扇區(qū)(CHS),第三、第四項記錄不存任何信息(圖4)。
請看下圖,主引導記錄/分區(qū)表所在的是硬盤第一個分區(qū),基本分區(qū)1、基本分2、基本分區(qū)3都是主分區(qū)、擴展分區(qū)內(nèi)有2個邏輯分區(qū),每個邏輯分區(qū)的第一個扇區(qū)都是分區(qū)表。
分區(qū)后的系統(tǒng)啟動
之前提到MBR中安裝的引導加載程序,他的作用是什么?
?、?nbsp;提供開機菜單選項:可以供用戶選擇啟動哪個操作系統(tǒng),這是多重引導功能。
② 加載操作系統(tǒng)內(nèi)核:每個操作系統(tǒng)都有自己的內(nèi)核,需要引導程序來加載
?、?nbsp;轉(zhuǎn)交給其他引導程序:可以將工作移交給其他引導程序來進行上述操作。
其實引導加載程序除了可以安裝在MBR中,還可以直接安裝在每個分區(qū)的引導扇區(qū)(DBR)中,注意下,每個分區(qū)(主分區(qū)、邏輯分區(qū))都有一個自己的啟動扇區(qū),專門用來安裝引導加載程序,如上圖表3。
系統(tǒng)啟動過程:
?、?nbsp;首先,BIOS啟動后,讀取硬盤第一個扇區(qū)MBR中的引導加載程序(可能是windows或者linux的grub)
?、?nbsp;MBR中的引導程序提供開機菜單,你可以選擇1)直接加載windows 內(nèi)核 2)將工作轉(zhuǎn)交給windows 分區(qū)內(nèi)的引導扇區(qū)中的加載程序,讓他自己去加載內(nèi)核 3)轉(zhuǎn)交給linux分區(qū)內(nèi)引導扇區(qū),讓他去加載linux.
?、?nbsp;根據(jù)用戶選擇的選項和引導加載程序中記錄的分區(qū),到分區(qū)表找對應的分區(qū)柱面號等分區(qū)信息,啟動內(nèi)核或者分區(qū)加載程序。
Window安裝時默認會自動將MBR和windows所在分區(qū)的引導扇區(qū)都裝上引導程序,而不會提供任何選項給用戶選擇,因此如果之前裝過其他操作系統(tǒng),然后再另外裝一個windows時,會把公用的MBR覆蓋掉,如此,原來的操作系統(tǒng)就無法啟動了。如果先裝windows,然后裝linux,linux 會覆蓋MBR,然后讓用戶選擇是否將windows等其他操作系統(tǒng)的啟動項添加進來,如果你選擇了添加進來,那么你在開機時就會有兩個選項讓用戶進行選擇了。
文件系統(tǒng)
文件系統(tǒng)也是很大很復雜的話題,我們?nèi)匀灰员容^通俗、粗顆粒度來講解,試想一下,我們的文件如何對應到磁盤的扇區(qū)上呢,所以光有底層的概念 磁道 扇區(qū)是沒有用的,需要更加抽象的數(shù)據(jù)類型或結(jié)構(gòu)來抽象底層的細節(jié)。
文件系統(tǒng)是一套實現(xiàn)了數(shù)據(jù)的存儲、分級組織、訪問和獲取等操作的抽象數(shù)據(jù)類型(Abstract data type)。
文件系統(tǒng)是一種用于向用戶提供底層數(shù)據(jù)訪問的機制。它將設備中的空間劃分為特定大小的塊(扇區(qū)),一般每塊512字節(jié)。數(shù)據(jù)存儲在這些塊中,大小被修正為占用整數(shù)個塊。由文件系統(tǒng)軟件來負責將這些塊組織為文件和目錄,并記錄哪些塊被分配給了哪個文件,以及哪些塊沒有被使用。
不過,文件系統(tǒng)并不一定只在特定存儲設備上出現(xiàn)。它是數(shù)據(jù)的組織者和提供者,至于它的底層,可以是磁盤,也可以是其它動態(tài)生成數(shù)據(jù)的設備(比如網(wǎng)絡設備)。
評論