1. 程式人生 > >linux系統硬碟分割槽

linux系統硬碟分割槽

一、 MBR方式

主引導記錄(MBR,Main Boot Record)是位於磁碟最前邊的一段引導(Loader)程式碼。它是1983年PC DOS系統支援硬碟的方式,負責(DOS)對磁碟進行讀寫時分割槽合法性的判別、分割槽引導資訊的定位,它由磁碟作業系統(DOS)在對硬碟進行初始化時產生的。

MBR描述了邏輯分割槽的資訊,包含檔案系統以及組織方式。MBR還包含計算機在啟動的第二階段載入作業系統的可執行程式碼或連線每個分割槽的載入程式。

MBR方式引導的每個硬碟主要分為主分割槽(Primary partition)、擴充套件分割槽(Extension Partition)和邏輯分割槽(Logical Partition)3種。

MBR主分割槽只能分4個,邏輯分割槽可以有12個,每個分割槽大小最大為2T。

我們將包含MBR引導程式碼的扇區稱為主引導扇區。因這一扇區中,引導程式碼佔有絕大部分的空間,故而將習慣將該扇區稱為MBR扇區(簡稱MBR)。由於這一扇區承擔有不同於磁碟上其他普通儲存空間的特殊管理職能,作為管理整個磁碟空間的一個特殊空間,它不屬於磁碟上的任何分割槽,因而分割槽空間內的格式化命令不能清除主引導記錄的任何資訊。
MBR結構圖

主引導扇區由三個部分組成(共佔用512個位元組):
1.主載入程式即主引導記錄(MBR)(佔446個位元組)
可在FDISK程式中找到,它用於硬碟啟動時將系統控制轉給使用者指定的並在分割槽表中登記了的某個作業系統。
2.磁碟分割槽表項(DPT,Disk Partition Table)
由四個分割槽表項構成(每個16個位元組)。
負責說明磁碟上的分割槽情況,其內容由磁碟介質及使用者在使用FDISK定義分割槽時決定。(具體內容略)
3.結束標誌(佔2個位元組)
其值為AA55,儲存時低位在前,高位在後,即看上去是55AA(十六進位制)。

舉一個例子,一個10G的硬碟,安裝Windows,有C:、D:、E:三個邏輯盤,那麼它的分割槽情況可以是如下的方式:
分割槽一:主分割槽2GB,格式化為C:盤。
分割槽二:擴充套件分割槽8GB。它被再劃分為兩個各4GB的邏輯盤,格式化為以D:和E:盤。
在一個劃分有多個主分割槽的硬碟上,則可安裝多個不同的作業系統。如Windows、Linux、Solaris等。每個作業系統自己去管理分配給自己的分割槽。但是,每個作業系統對分割槽的操作方式是不同的。對於DOS/Windows來說,它能夠把它所能管轄的一個主分割槽和一個擴充套件分割槽格式化,然後按照 C:、D:、E:邏輯盤的方式來管理。而Linux則不同,它是把“分割槽”看作一個裝置,既沒有“擴充套件分割槽”的概念,也沒有“邏輯盤”的概念。

二、GPT方式

GPT(GUID Partition Table,縮寫:GPT).蘋果公司開發,支援128個分割槽,磁碟分割槽樣式支援最大卷為18 EB(Exabytes)(1 EB = 1024 PB, 1 PB = 1024 TB, 1 TB = 1024 GB, 1GB = 1024MB)並且每磁碟的分割槽數沒有上限,只受到作業系統限制(由於分割槽表本身需要佔用一定空間,最初規劃硬碟分割槽時,留給分割槽表的空間決定了最多可以有多少個分割槽,IA-64版Windows限制最多有128個分割槽,這也是EFI標準規定的分割槽表的最小尺寸)。與MBR分割槽的磁碟不同,至關重要的平臺操作資料位於分割槽,而不是位於非分割槽或隱藏扇區。另外,GPT分割槽磁碟有備份分割槽表來提高分割槽資料結構的完整性。

Redhat 7.0/6.0版本支援, 5.0不支援。


但在GPT硬碟中,分割槽表的位置資訊儲存在GPT頭中。但出於相容性考慮,硬碟的第一個扇區仍然用作MBR,之後才是GPT頭。
跟現代的MBR一樣,GPT也使用邏輯區塊位址(LBA)取代了早期的CHS定址方式。傳統MBR資訊儲存於LBA 0,GPT頭儲存於LBA 1,接下來才是分割槽表本身。64位Windows作業系統使用16,384位元組(或32扇區)作為GPT分割槽表,接下來的LBA 34是硬碟上第一個分割槽的開始。
蘋果公司曾經警告說:“不要假定所有裝置的塊大小都是512位元組。”一些現代的儲存裝置如固態硬碟可能使用1024位元組的塊,一些磁光碟(MO)可能使用2048位元組的扇區(但是磁光碟通常是不進行分割槽的)。一些硬碟生產商在計劃生產4096位元組一個扇區的硬碟,但截至2010年初,這種新硬碟使用韌體對作業系統偽裝成512位元組一個扇區。
使用英特爾架構的蘋果機也使用GPT。
為了減少分割槽表損壞的風險,GPT在硬碟最後儲存了一份分割槽表的副本。