基本磁盤與動態磁盤、分區與卷


版權聲明未經作者允許嚴禁用於商業出版否則追究法律責任。轉載請註明出處!!!


1 基本磁盤與動態磁盤

  基本磁盤使用主分區、擴展分區和邏輯分區組織數據。一個分區不能與其他分區共享或拆分數據、主動備份數據,也不能主動容錯,也不能跨磁盤。基本磁盤上的每個分區都是該磁盤上一個獨立的實體。只能在基本磁盤上創建分區。。可在基本磁盤上創建的分區個數取決於磁盤的分區形式:

  • 對於主啓動記錄 (MBR) 磁盤,可以最多創建四個主分區,或最多三個主分區加上一個擴展分區。在擴展分區內,可以創建多個邏輯分區。
  • 對於 GUID 分區表 (GPT) 磁盤,最多可創建 128 個主分區。由於 GPT 磁盤並不限制四個分區,因而不必創建擴展分區或邏輯驅分區。

  如果一個分區結束處有相鄰的連續未分配空間,則可以向該分區添加更多空間,叫做分區擴展(但是主分區不能添加屬於擴展分區的未使用空間,即使看起來是連續的),反之如果一個分區太大我們可以減小它以得到一段連續未分配空間,叫做分區壓縮(邏輯分區分區壓縮得到的未分配空間只能被分配給邏輯分區,主分區壓縮的空間只能分配給主分區)。分區在格式化之前都是可擴展和壓縮的,但格式化後能否擴展和壓縮取決於文件系統,Windows中只有NTFS支持擴展和壓縮,FAT和FAT32都不支持。如果想要擴展分區大小超過了可用空間大小,擴展分區就會增大直到用完所有可用的連續未分配空間。

  動態磁盤沒有分區的概念,統稱卷(動態卷),它和分區概念類似,但一塊動態磁盤上可以容納大量的卷(大約 2000 個)。在 Windows 中,卷又分爲簡單卷、跨區卷、帶區卷、鏡像卷、RAID5卷,其中簡單卷和跨區卷可以改變大小(格式化後只有NTFS支持調整卷大小),跨區卷、帶區卷、鏡像卷、RAID5卷都可以包含多個物理磁盤,帶區卷可以拆分和共享數據,鏡像卷可以備份數據,RAID5卷可以拆分和共享數據以及一定的容錯能力,這些物理磁盤可以有不同分區格式(MBR和GPT),也就是說動態磁盤對基本磁盤的進一步抽象。動態磁盤出現後,出現了卷的概念,因此基本磁盤上的主分區和邏輯分區稱爲也被叫做基本卷

  分區(也叫基本卷,對應基本磁盤)和卷(也叫動態卷,對應動態磁盤)的區別在於:卷只能在動態磁盤中,分區只能在基本磁盤中;卷只能用於存放數據不能用於啓動和系統,而分區都可以。 由於分區和簡單卷比較類似,所以Windows7以後,將分區(也叫基本卷)和簡單卷都標記爲了簡單卷。

  基本磁盤和動態磁盤可以進行轉換,一般都用基本磁盤。從基本轉動態簡單,但是有動態轉基本就比較麻煩了——必須刪除磁盤上所有卷,再進行轉化。將基本硬盤轉換爲動態硬盤條件和注意事項:

  • 只有Administrator和BackupOperators組的用戶纔有權執行轉換工作。
  • 除Win2000及其以後的Windows OS能夠識別動態磁盤外,其他操作系統都不能識別,進行多重系統引導時要注意。
  • 一旦轉換成動態盤後,原來的主分區、邏輯分區等都會自動轉換成爲"簡單卷",原來的基本卷都沒有了。
  • 需要1M的未分配空間。

  總之:基本磁盤與分區(也叫基本卷)對應,動態磁盤與卷(也叫動態卷)對應,由於簡單卷與基本卷類似,所以windows7以後基本卷也叫簡單卷

物理驅動器(物理磁盤):現實世界中真實存在的驅動器,一個硬盤就是一個物理驅動器。在在windows中磁盤管理器看到的叫做物理磁盤,物理磁盤一般編號爲磁盤0,磁盤1……磁盤N。
邏輯驅動器(邏輯磁盤):是使用軟件在物理磁盤上分區或分卷後形成的。在windows中資源管理器看到的就是邏輯磁盤,邏輯磁盤編號一般爲A,B……Z。

2 分區

  分區是基本磁盤上的概念,就是把一塊硬盤分成幾個部分來使用,每一部分就是一個分區,可以把全部容量當成一個分區來使用。磁盤分區有兩種格式:MBR和GPT。

2.1 MBR

圖1

  • 磁盤的0號扇區(第一個扇區)也叫主引導扇區,它包含主引導程序、分區表DPT、硬盤有效標誌。

    • 早期磁盤的扇區大小爲512B
    • 主引導程序:記錄主引導加載程序,也叫第一階段引導加載程序(Initial Program Loader,IPL),446B。主要作用是:
      • 檢查硬盤分區表是否完好。
      • 在分區表中尋找可引導的“活動”分區。
      • 將活動分區的第一邏輯扇區內容(也叫分區引導記錄,PBR)裝入內存。在DOS分區中,此扇區內容稱爲DOS引導記錄(DBR)。
  • 分區表:記錄整塊磁盤的分區狀態,64B。

  • 有效標誌:2B。

  • 分區表(DPT):分區表只能記錄4個記錄,每個記錄爲16B。記錄了每個分區的起始和結束柱面號磁頭號、扇區號、柱面號,分區激活標誌,文件系統類型,相對扇區號,總扇區數目。因此磁盤最多只能有4個主分區,每個主分區可以劃分爲若干個邏輯分區。主分區劃分邏輯分區後就叫做擴展分區擴展分區不能格式化且最多只能有一個,在其前幾個扇區記錄了邏輯分區的信息。每個記錄的格式如下:

起始字節 偏移量 內容
0 1 分區的激活標誌,表示系統可引導;一般爲80
1 3 起始磁頭號、起始扇區號、起始柱面號
4 1 分區的系統類型,0B(FAT32),04(FAT16)、07(NTFS);
5 3 結束磁頭號、結束扇區、結束柱面號
8 4 相對扇區號,從磁盤開始到該分區開始的位移,以扇區計算
12 4 總扇區數,最大容量爲232x512B=2TB
  • MBR分區的缺點
    • MBR分區表不支持容量大於2.2TB的分區(一些硬盤製造商將他們的容量較大的磁盤升級到了4KB的扇區,這意味着MBR的有效容量上限提升到了16 TB)
    • MBR 僅有一個扇區,若被破壞後,經常很難恢復。
    • MBR 內的存放開機管理程序的區塊僅 446bytes,無法容納較多的程序代碼。

2.2 GPT

  因爲過去一個扇區大小就是512bytes 而已,不過目前已經有 4K 的扇區設計出現!爲了兼容於所有的磁盤,因此在扇區的定義上面,大多會使用所謂的邏輯區塊地址( LBA)來處理。GPT 將磁盤所有區塊以此 LBA(預設爲 512B!) 來規劃,而第一個 LBA 稱爲 LBA0 (從0 開始編號)。
  與 MBR 僅使用第一個 512bytes 區塊來記錄不同, GPT 使用了 34 個 LBA 區塊來紀錄分區信息!同時與過去MBR僅有一個扇區,被幹掉就死光光的情況不同, GPT 除了前面 34 個 LBA 之外,整個磁盤的最後 33 個 LBA 也拿來作爲備份!

圖2

  • LBA0 (PMBR)
      在GPT分區表的最開頭,處於兼容性考慮仍然存儲了一份傳統的MBR(LBA 0),這個MBR叫做保護性MBR(Protective MBR)。
      保護性MBR保護GPT磁盤不受以前發佈的MBR磁盤工具的危害。這些工具不能感知GPT,也無法正確地訪問GPT磁盤。這些工具通過解釋保護性MBR,將GPT磁盤看成一個封裝的(可能無法識別)分區,而不是錯誤地當成一個未分區的磁盤,並且拒絕對硬盤進行操作。這就避免了意外刪除分區的危險。
      在支持從GPT啓動的操作系統中,這裏也用於存儲第一階段的啓動代碼。在這個MBR中,只有一個標識爲0xEE的分區,以此來表示這塊硬盤使用GPT分區表。
      在使用MBR/GPT混合分區表的硬盤中,這部分存儲了GPT分區表的一部分分區(通常是前四個分區),可以使不支持從GPT啓動的操作系統從這個MBR啓動,啓動後只能操作MBR分區表中的分區。

  • LBA1 (GPT 表頭)
      分區表頭(LBA 1)定義了硬盤的可用空間以及組成分區表的項的大小和數量。在使用64位Windows Server2003的機器上,最多可以創建128個分區,即分區表中保留了128個項,其中每個都是128字節。(EFI標準要求分區表最小要有16,384字節,即128個分區項的大小)
      分區表頭還記錄了這塊硬盤的GUID,記錄了分區表頭本身的位置和大小以及備份分區表頭和分區表的位置和大小(在硬盤的最後)。它還儲存着它本身和分區表的CRC32校驗。固件、引導程序和操作系統在啓動時可以根據這個校驗值來判斷分區表是否出錯,如果出錯了,可以使用軟件從硬盤最後的備份GPT中恢復整個分區表,如果備份GPT也校驗錯誤,硬盤將不可使用。以下是分區表頭結構的具體信息:

起始字節 偏移量 內容
0 8 簽名(“EFI PART”)
8 4 修訂
12 4 分區表頭的大小
16 4 分區表頭(92B)的CRC32校驗,在計算時,先把這個字段寫作0處理,然後計算出所有分區表項的CRC32校驗後再計算這個CRC32
20 4 保留,必須是 0
24 8 當前LBA(這個分區表頭的位置)
32 8 備份LBA(另一個分區表頭的位置)
40 8 第一個可用於分區的LBA(主分區表的最後一個LBA + 1)
48 8 最後一個可用於分區的LBA(備份分區表的第一個LBA - 1)
56 16 硬盤GUID(在類UNIX系統中也叫UUID)
72 8 分區表項的起始LBA(在主分區表中是2)
80 4 最大分區表項的數量(windows是128,沒有這麼多也先佔着空間)
84 4 一個分區表項的大小(通常是128)
88 4 分區表項的CRC32校驗(計算的是所有分區表項的檢驗和即128*128字節)
92 420 保留,剩餘字節必須是0(420字節針對512字節的LBA硬盤)
        
  • LBA2-33 (GPT分區表)
      從LBA2區塊開始,每個LBA都可以有4個分區記錄,所以在默認的情況下,總共可以有 4*32=128個分區記錄(默認最多128個分區)!因爲每個LBA有512B,因此每個記錄可使用128B的空間。
      一個分區表項的前16字節是分區類型GUID。接下來的16字節是該分區唯一的GUID(這個GUID指的是該分區本身,而之前的GUID指的是該分區的類型)。再接下來是分區起始和末尾的64位LBA編號,以及分區的名字和屬性。格式如下:
起始字節 偏移量 內容
0 16 分區類型GUID
16 16 分區GUID
32 8 起始LBA(小端格式)
40 8 末尾LBA
48 8 分區屬性,

  
  
  類型GUID爲固定值,查閱資料可得。下圖列舉Windows、Linux下常見幾種:

圖3

圖4
  以Windows下基本數據分區爲例說明:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7。上述表示形式採用小端表示,其16位的串行表示爲:A2A0D0EBE5B9334487C068B6B72699C7,即前三部分倒序表示。
  
  分區屬性低位4字節表示與分區類型無關的屬性,高位4字節表示與分區類型有關的屬性。具體見下圖:

圖5

  • GPT分區優點
    • 可以在GPT分區表頭自定義最大分區數;
    • LBA爲64位,支持的磁盤容量大;
    • 分區表和分區表頭有備份。

3 卷

  卷是動態磁盤中概念。

3.1 簡單卷

  • 簡單卷是動態盤中的基本單位。類似基本磁盤的基本卷。
  • 簡單卷的文件系統有:FAT、FAT32、NTFS。
  • NTFS文件系統可以擴展容量,而FAT、FAT32則不能擴展容量。注意擴展部分只能是同一磁盤未指派空間。
  • 只有一個磁盤時只能創建簡單卷;
  • 只可以變爲鏡像卷和跨區卷。

3.2 跨區卷

  • 跨區卷是指數個位於不同磁盤的未指派空間組成的卷,共享同一邏輯驅動器。
  • 可以選用2~32塊磁盤內的未指派空間組成跨區卷。
  • 跨區卷存儲數據時是按順序存儲。
  • 跨區卷中的某一部分出錯則所有數據丟失,無法容錯。
  • 跨區卷可以被擴展,但是隻能是NTFS文件系統。
  • 磁盤利用率100%。
  • 每塊硬盤可以提供不同的磁盤空間;
  • 只可以變爲簡單卷。

3.3 帶區卷

  • 帶區卷與跨區卷類似,帶區卷也是指多個位於不同磁盤的未指派空間所組合成的一個邏輯卷。不同之處在於,帶區卷的每個成員大小相同
  • 可以選用2~32塊磁盤內的未指派空間組成帶區卷,帶區卷每個成員的大小相同。
  • 系統將數據存儲到帶區卷的時候,是將數據分成等量的64K。輪詢存儲。
  • 帶區卷一旦創建好後就無法擴展。
  • 帶區卷可以被格式化爲:FAT、FAT32、NTFS。
  • 帶區卷中的任何一個成員出錯則所有數據丟失。
  • 磁盤的利用率爲100%,讀寫盤速率提高。
  • 非容錯磁盤(RAID 0)在系統中的多個磁盤中分佈數據;
  • 無法轉爲其他卷。

3.4 鏡像卷

  • 鏡像捲成員只有兩個,並且兩個部分大小完全相同。
  • 在創建鏡像卷的時候如果選擇一個簡單卷與一個未指派空間組成鏡像卷,則系統在創建鏡像的過程中,會將簡單卷內的現有數據複製到另一個成員中。
  • 在存儲數據的過程中鏡像卷的兩個成員存儲的數據是完全相同的。當一個磁盤出現故障另一個磁盤仍然可以用。 鏡像卷的空間使用率50%
  • 鏡像卷可以被格式化爲:FAT、FAT32、NTFS 鏡像卷一旦創建不能擴展。 容錯磁盤(RAID 1),把數據從一個磁盤向另一個磁盤做鏡像; 每塊磁盤提供相同大小的空間
  • 浪費磁盤空間
  • 無法提高性能
  • 只可以變爲簡單卷。

3.5 RAID-5卷

  • RAID-5卷是由3-32塊磁盤組成,磁盤最好是相同製造商、相同型號、相同容量。
  • RAID-5卷的每個成員,容量大小完全相同。
  • 將數據分成等量64K,與奇偶校驗數據一起分別寫入每個磁盤。
  • 當某個磁盤出現故障,系統還可以根據奇偶校驗數據,推算出故障盤內的數據。
  • 磁盤利用率爲:(n-1)/n。寫慢,讀快。
  • RAID-5卷不能擴展,也可以被格式化爲LFAT、FAT32、NTFS。
  • 無法變爲其他卷。

4 示例

圖6


版權聲明未經作者允許嚴禁用於商業出版否則追究法律責任。轉載請註明出處!!!


發佈了84 篇原創文章 · 獲贊 63 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章