今天我們要來聊聊的是磁碟分割的部分,那在認識磁碟分割之前,我們先了解磁碟介面跟磁碟組成的部分。
目前我們知道的磁碟介面主要有兩種,分別是 SATA 跟 SAS ,目前的大眾主流是 SATA 介面。但是如果是那種稍微有點年代的電腦,那可能會碰上另外一套介面,也就是所謂的 IDE 介面,只不過不用太擔心相容性的問題,因為近年大部分的 Linux distribution 已經將 IDE 介面的磁碟檔名也模擬成與 SATA 相同的模式了。
接下來我們來聊聊磁碟的組成,磁碟主要由以下4個部分組成,分別是磁碟盤、機械手臂、磁碟讀取頭、主軸馬達。然後資料的寫入主要在磁碟盤上面,磁碟盤又可以細分出磁區與磁軌這兩個部分,其中磁區的物理量設計又可以分為512bytes與4Kbytes。
對於整顆磁碟最重要的部分,基本上就是第一個磁區,因為第一個磁區中包含了整顆磁碟的重要資訊。第一個磁區中含有的重要資訊我們稱為 MBR(Master Boot Record) 格式,但是因為近年來容量的不斷上升,後來又衍伸出另外一種新的磁碟分割模式,也就是 GPT(GUID partition table) 格式。
通常磁碟具有多個磁碟盤,所有磁碟盤的同一個磁軌我們稱為磁柱,通常是檔案系統的最小單位,也就是分割的最小單位,也就是說,我們是利用參考對照磁柱或磁區號碼的方式來處理分割。
分割表有分為兩種格式MSDOS(MBR)分割表格是與限制與GPT磁碟分割表(partition table)
MSDOS(MBR)分割表格是與限制
使用支援 Windows 的 MBR 的方式來處理開機管理程式與分割表,因此那些資料通常都在第一個磁區,這個部分通常是512bytes,這512bytes會包含以下兩種資料,主要開機紀錄區(Master Boot Record)跟分割表(partition table)。
主要開機紀錄區(Master Boot Record)
可以安裝開機管理程式的地方
分割表(partition table)
記錄整顆硬碟的分割狀態
但是分割表所在的區域只有64bytes,因此最多只能記錄4組紀錄區,每組紀錄區紀錄了該區段的起始與結束的磁柱號碼。
以下可以整理出這些重點資訊
-所謂的分割只是針對那64bytes的分割表進行設定
-硬碟預設的分割表只能寫出4組資訊
-這4組分割資訊我們稱為主要與延伸分割槽
-分割的最小單位通常是磁柱
-當系統要寫入磁碟時,一定會參考磁碟分割表,才能針對某個分割槽進行資料的處理
分割磁碟的主要原因可以分為以下幾點
1.資料的安全性
2.系統的效能考量
既然第一個磁區所在的分割表只能記錄四筆資料,那我能不能利用額外的磁區來記錄更多的分割資訊?
實際上是可以的,這個部分就是延伸分割。延伸分割的目的是使用額外的磁區來記錄分割資訊,延伸分割本身並不能被拿來格式化。延伸分割切出來的分割槽被稱為邏輯分割槽,注意一下,由於邏輯分割槽是由延伸分割繼續分割出來的所以他可以使用的磁柱範圍舊式延伸分割所設定的範圍。
MBR主要分割、延伸分割、邏輯分割的特性我們做個簡單的定義
-主要分割與延伸分割最多可以有4筆
-延伸分割最多只能有一個
-邏輯分割是延伸分割持續切割出來的分割槽
-能夠被格式化之後,最為資料存取的分割槽為主要分割與邏輯分割,延伸分割無法格式化。
-邏輯分割的數量依照作業系統而不同
其實,分割是一件很麻煩的一件事,因為他是以磁柱為單位的連續磁碟空間,且延伸分割又是個類似獨立的磁碟空間,所以在分割的時候要特別注意。
MBR分割表除了上述的主分割、延伸分割、邏輯分割需要注意以外,因為每組分割表只有16bytes,可以記錄的資訊是相當有限的,所以有時候會出現以下問題。
-作業系統無法抓取2.2TB以上的磁碟容量
-MBR僅有一個區塊,假如被破壞之後,經常無法救援或是救援難度極高
-無法容納較多程式碼
基本上都是容量導致的問題,我們明天要聊聊得GPT系統分割表也許能解決這個問題。
以上就是本人介紹磁碟分割的部分,如果有缺漏的部分,也麻煩大家多指教