什么是磁盤分區?分區是指在磁盤上建立的用于存儲數據和文件的獨立空間,磁盤分區由主分區(Primary Partition)和擴展分區(Extended Partition)組成。在使用時,這兩種分區的區別體現在主分區可以直接使用,而擴展分區需要先劃分成邏輯分區(Logical Partition)才可以使用。
分區中必須存在至少一個主分區,但擴展分區可以不存在,且主分區的數量最多可以是4個(整個磁盤都劃分成主分區),而擴展分區上的邏輯分區理論上可以存在無數個。其實并不建議把整個磁盤劃分成4個主分區(由于磁盤本身的原因,劃分成4個主分區并不能用到全部空間,而且剩下的空間沒有多余的分區表來記錄),這會造成空間的浪費。另外,考慮到磁盤的連續性,建議將擴展分區放在最后的柱面。
擴展分區需要在邏輯卷上創建才可以使用,而不是直接創建邏輯卷,這是考慮到在工作環境下磁盤的分區不止4個,還要考慮分區表的數量,而在擴展分區上創建分區時就沒有這些限制,可以創建無限個邏輯分區。
當然,磁盤中還存在一個只有512字節大小的分區,此分區用于存放系統啟動的主引導(Master Boot Recorder,MBR)程序。該分區中包括系統啟動的引導信息、磁盤分區表等重要的信息(見圖1),如果該分區中的數據損壞,系統就無法啟動,如果是物理實體損壞,就意味著這塊磁盤也基本報廢。
圖1 主引導分區的位置及結構示意圖
主引導分區主要劃分成Bootloader和Partition tables兩個分區。Bootloader占據446字節,用于存放引導代碼;Partition tables占據64字節,用于存放磁盤分區表,磁盤每個分區的信息需要用16字節來記錄,因此最多只能記錄4個分區的信息。
另外,在每個分區表中記錄著每個分區的大小(始終點)、所處磁盤的位置、柱面等信息,如果重新分區,實際上就是重新更改分區表的記錄信息,分區表中定義了第n個分區是從“第x個柱面到第y個柱面”,因此當系統要讀取第n個磁盤時,就根據分區表中定義的信息去操作。