硬盤(pán)基礎知識之磁盤(pán)分區
磁盤(pán)的分區
本文引用地址:http://dyxdggzs.com/article/201712/372677.htm裝過(guò)系統的人都知道必須要分區后才能安裝系統,形象點(diǎn)的說(shuō)比如windows里C:,D:之類(lèi)的東西;如果你要問(wèn)硬盤(pán)為什么要分區,我也說(shuō)不上來(lái)很?chē)栏竦脑?,首先從使用習慣上來(lái)講,我們不希望數據雜亂無(wú)章堆積在一起,其次,如果不分區,如何才能在一塊硬盤(pán)上使用不同的文件系統(下面講到)呢,學(xué)院派的說(shuō)法是:數據安全和性能考慮。
先要說(shuō)硬盤(pán)中最最重要的第一扇區,因為整塊硬盤(pán)的重要信息都在這里:
MBR(Master Boot Record 主啟動(dòng)記錄):開(kāi)機引導程序就在安裝在此,占用446byte;
DPT(Disk Partition table 硬盤(pán)分區表):記錄硬盤(pán)上的分區元信息,占用64byte。
MBR是如何工作的呢,不用深究,反正就是系統開(kāi)始時(shí)會(huì )主動(dòng)讀取數據的地方,這樣才能引導進(jìn)行操作系統的啟動(dòng);
DPT要仔細的講講,分區的大致意思就如同搶地盤(pán),不過(guò)人家比較規矩,按照柱面(最小的分區單位)分配,比如第一個(gè)分區從柱面1-200,第二個(gè)分區201-500,但三個(gè)分區501-1000...(省略并非可以無(wú)限分配下去哦)


為啥說(shuō)不能一直分配下去呢,技術(shù)柱面數量足夠,因為上面說(shuō)到硬盤(pán)分區表只有64個(gè)字節,每條分區記錄需要占用16字節,最多只能分4個(gè),疑問(wèn)在此:我的電腦怎么分了5個(gè)(cdefg)?
其實(shí)我說(shuō)的4個(gè)分區是所謂的主分區,為了能支持很多分區引入了擴展分區的概念, 也就是說(shuō),可以使用DPT中一條記錄來(lái)記錄擴展分區的信息,然后在擴展分區中再繼續劃分邏輯分區,而邏輯分區的分區信息則記錄在擴展分區的第一個(gè)扇區中,如此則可以像鏈表一樣劃分出很多分區來(lái)。但注意,一個(gè)分區表中可以有1~4條主分區,但是最多只能有1個(gè)擴展分區


分區表之間是如何關(guān)聯(lián)的,詳細講一下,分區表是一個(gè)單向鏈表,第一個(gè)分區表,也就是位于硬盤(pán)第一個(gè)扇區中的DPT,可以有一項記錄擴展分區的起始位置柱面,類(lèi)似于指針的概念,指向擴展分區(圖3),根據這項記錄我們可以找到擴展分區的某柱面0磁頭1扇區(CHS),而這個(gè)扇區中又存放了第二個(gè)分區表,第二個(gè)分區表第一項記錄一般表述了當前所在的邏輯分區的起始/終止柱面,第二項記錄表述了下一個(gè)邏輯分區所在的0磁頭1扇區(CHS),第三、第四項記錄不存任何信息(圖4)。
請看下圖,主引導記錄/分區表所在的是硬盤(pán)第一個(gè)分區,基本分區1、基本分2、基本分區3都是主分區、擴展分區內有2個(gè)邏輯分區,每個(gè)邏輯分區的第一個(gè)扇區都是分區表。

分區后的系統啟動(dòng)
之前提到MBR中安裝的引導加載程序,他的作用是什么?
?、?nbsp;提供開(kāi)機菜單選項:可以供用戶(hù)選擇啟動(dòng)哪個(gè)操作系統,這是多重引導功能。
?、?nbsp;加載操作系統內核:每個(gè)操作系統都有自己的內核,需要引導程序來(lái)加載
?、?nbsp;轉交給其他引導程序:可以將工作移交給其他引導程序來(lái)進(jìn)行上述操作。
其實(shí)引導加載程序除了可以安裝在MBR中,還可以直接安裝在每個(gè)分區的引導扇區(DBR)中,注意下,每個(gè)分區(主分區、邏輯分區)都有一個(gè)自己的啟動(dòng)扇區,專(zhuān)門(mén)用來(lái)安裝引導加載程序,如上圖表3。
系統啟動(dòng)過(guò)程:
?、?nbsp;首先,BIOS啟動(dòng)后,讀取硬盤(pán)第一個(gè)扇區MBR中的引導加載程序(可能是windows或者linux的grub)
?、?nbsp;MBR中的引導程序提供開(kāi)機菜單,你可以選擇1)直接加載windows 內核 2)將工作轉交給windows 分區內的引導扇區中的加載程序,讓他自己去加載內核 3)轉交給linux分區內引導扇區,讓他去加載linux.
?、?nbsp;根據用戶(hù)選擇的選項和引導加載程序中記錄的分區,到分區表找對應的分區柱面號等分區信息,啟動(dòng)內核或者分區加載程序。
Window安裝時(shí)默認會(huì )自動(dòng)將MBR和windows所在分區的引導扇區都裝上引導程序,而不會(huì )提供任何選項給用戶(hù)選擇,因此如果之前裝過(guò)其他操作系統,然后再另外裝一個(gè)windows時(shí),會(huì )把公用的MBR覆蓋掉,如此,原來(lái)的操作系統就無(wú)法啟動(dòng)了。如果先裝windows,然后裝linux,linux 會(huì )覆蓋MBR,然后讓用戶(hù)選擇是否將windows等其他操作系統的啟動(dòng)項添加進(jìn)來(lái),如果你選擇了添加進(jìn)來(lái),那么你在開(kāi)機時(shí)就會(huì )有兩個(gè)選項讓用戶(hù)進(jìn)行選擇了。
文件系統
文件系統也是很大很復雜的話(huà)題,我們仍然以比較通俗、粗顆粒度來(lái)講解,試想一下,我們的文件如何對應到磁盤(pán)的扇區上呢,所以光有底層的概念 磁道 扇區是沒(méi)有用的,需要更加抽象的數據類(lèi)型或結構來(lái)抽象底層的細節。
文件系統是一套實(shí)現了數據的存儲、分級組織、訪(fǎng)問(wèn)和獲取等操作的抽象數據類(lèi)型(Abstract data type)。
文件系統是一種用于向用戶(hù)提供底層數據訪(fǎng)問(wèn)的機制。它將設備中的空間劃分為特定大小的塊(扇區),一般每塊512字節。數據存儲在這些塊中,大小被修正為占用整數個(gè)塊。由文件系統軟件來(lái)負責將這些塊組織為文件和目錄,并記錄哪些塊被分配給了哪個(gè)文件,以及哪些塊沒(méi)有被使用。
不過(guò),文件系統并不一定只在特定存儲設備上出現。它是數據的組織者和提供者,至于它的底層,可以是磁盤(pán),也可以是其它動(dòng)態(tài)生成數據的設備(比如網(wǎng)絡(luò )設備)。
評論