主要磁碟分割,也稱為主要磁碟分區,和擴充分區、邏輯分區一樣,是一種分區類型。主要磁碟分割中不能再劃分其他類型的分區,因此每個主要磁碟分割都相當於一個邏輯磁碟(在這一點上主要磁碟分割和邏輯分區很相似,但主要磁碟分割是直接在硬碟上劃分的,邏輯分區則必須建立於擴充分區中)。
實際上在早期的硬碟分區中並沒有主要磁碟分割、擴充分區和邏輯分區的概念,每個分區的類型都是現在所稱的主要磁碟分割。由於硬碟僅僅為分區表保留了64個位元組的儲存空間,而每個分區的參數佔據16個位元組,故主開機磁區中總計只能儲存4個分區的資料。也就是說,一塊物理硬碟只能劃分為4個邏輯磁碟。在具體的應用中,4個邏輯磁碟往往不能滿足實際需求。為了建立更多的邏輯磁碟供作業系統使用,引入了擴充分區和邏輯分區,並把原來的分區類型稱為主要磁碟分割。
為什麼硬碟只能最多有四個主要磁碟分割
本文為搜尋網上資料並加以總結,僅供參考: MBR(Master Boot Recorder)主要開機扇區,放置硬碟的資訊。MBR 可以說是整個硬碟最重要的地方了,因為在 MBR 裡面記錄了兩個重要的東西,分別是:開機管理程式,與磁碟分割表 ( partition table )。所以我們所做的硬碟分區,也就是在修改partition table。
由於這個 MBR 區塊的容量有限,所以,當初設計的時候,就只有設計成 4 個分區紀錄(這個說法不太準確,下文有詳細說明),這些分區記錄就被稱為 Primary ( 主要磁碟分割 ) 及 Extended ( 擴充分區 ) ,也就是說,一顆硬碟最多可以有 4 個 Primary + Extended 的扇區,其中,Extended 只能有一個,因此,你如果要分區成四塊磁碟分割的話,那麼最多就是可以:
P + P + P + P
P + P + P + E
的情況來分區了。需要特別留意的是,如果上面的情況中, 3P +E 只有三個『可用』的磁碟,如果要四個都『可用』,就得分區成 4P 了!( 因為 Extended 不能直接被使用,還需要分區成 Logical 才行)
思考一:如果我要將我的大硬碟暫時分區成四個 partition ,同時,還有其它的空間可以讓我在未來的時候進行規劃,那麼該如何分區?
由剛剛的說明,我們可以知道, Primary + Extended 最多隻能有四個 partition,而如果要超過 5 個 partition 的話,那麼就需要 Extended 的幫忙。因此,在這個例子中,我們千萬不能分區成四個 Primary 為什麼呢?假如您是一個 20 GB 的硬碟,而 4 個 primary 共用去了 15 GB ,您心想還有 5 GB 可以利用對吧?錯!剩下的 5 GB 完全不能使用,這是因為已經沒有多餘的 partition table 紀錄區可以記錄了,因此也就無法進行額外的分區,當然囉,空間也就被浪費掉了!因此,請千萬注意,如果您要分區超過 4 槽以上時,請記得一定要有 Extended 分區區,而且必須將所有剩下的空間都分配給 Extended ,然後再以 logical 的分區區來規劃 Extended 的空間。
思考二:我可不可以僅分區 1 個 Primary 與 1 個 Extended 呢?
當然可以!基本上, Logical 可以有 64 個,因此,你可以僅分區一個主要磁碟分割,並且將所有其它的分區都給 Extended ,利用 Logical 分區來進行其它的 partition 規劃即可!
思考三:假如我的硬碟安裝在 IDE 1 的 Master ,並且我想要分區成 6 個可以使用的硬碟扇區,那麼每個磁碟在 Linux 底下的代號為何?
說明:
由於硬碟在 Primary + Extended 最多可以有四個,因此,在 Linux 底下,已經將 partition table 1 ~ 4 先留下來了,如果只用了 2 個 P + E 的話,那麼將會空出兩個 partition number 呦!再詳細的說明一下,假設我將四個 P + E 都用完了。其中Extended /dev/hda4包括三個邏輯分區。
實際可以使用的是 /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, /dev/hda6, /dev/hda7 這六個 partition!至於 /dev/hda4 這個 Extended 扇區本身僅是用來規划出讓 Logical 可以利用的磁碟空間而已!
那麼萬一我只想要分區 1 個 Primary 與 1 個 Extended 呢?
因為 1~4 號已經被預留下來了,所以第一個 Logical 的代號由 5 號開始計算起來,而後面在被規劃的,就以累加的方式增加磁碟代號囉!而其中 /dev/hda3, /dev/hda4 則是空的,被保留下來的代號。
這個問題,結合歷史來說會說得比較準確。為什麼最多隻可以分四個主要分區,並不是單由作業系統所決定的。
第一,為什麼一個扇區只有512位元組,為什麼不是1024位元組呢?
首先,我想說一個扇區是多少位元組是可以自己(硬碟生產廠家)定義的,可以是1024位元組的。所以說,一個扇區是512位元組並不是理論值,而是習慣值。也就是一個扇區的大小為512位元組對於硬碟的生產廠家來說都是習慣的這樣定義了,誰也不想更改這種習慣。
第二,硬碟的第一扇區可以分成三個部分:第一部分MBR,需要佔用446位元組,第二部分DPT,需要佔用64位元組,這是因為一個分區表需要佔用16位元組,64/16=4,所以剛好能存放四個分區的表,這就是為什麼只能分四個分區。還有兩個位元組就用來存放結束標誌。這樣
446+64+2=512位元組。
對硬碟加密其實就是改寫最後兩個位元組的結束標誌。
試想如果當初硬碟廠家將一個扇區設定成1024位元組,還是只能分四個分區嗎?邏輯磁碟機也需要分區表,它存放在擴充分區的第一扇區,所以邏輯磁碟機也不是隨便想分多少就分多少的。
這些都是一些硬體的知識。
有很多的問題都是曆史遺留下來的,要想問個究竟需要對電腦的發展曆史有瞭解。前人所做的一切,不實用了的都被拋棄或改進了,拋棄了就不說了,改進的還是會受到曆史的影響。前端時間有個朋友問我為什麼intel和nvida要爭是CPU還是GPU重要,瞭解一下CPU的發展史和GPU的發展史很容易就能想到了。這樣就不說了。