MBR分區和GPT分區詳解

什么是磁盤分區?

              磁盤分區是使用分區編輯器(partition editor)在磁盤上劃分幾個邏輯部分,盤片一旦劃分成數個分區(Partition),不同類的目錄與文件可以存儲進不同的分區。越多分區,也就有更多不同的地方,可以將文件的性質區分得更細,按照更為細分的性質,存儲在不同的地方以管理文件。


硬盤結構及參數

3D參數(Disk Geometry):CHS(Cylinder/Head/Sector) 

   C-Cylinder(柱面):柱面數表示硬盤每面盤片上有幾條磁道,最大為1024(用10個二進制位存儲);

   H-Head(磁頭):磁頭數表示硬盤總共有幾個磁頭,也就是幾面盤片,最大為256(用8個二進制位存儲);

   S-Sector(扇區):扇區數表示每條磁道上有幾個扇區,最大為63(用6個二進制位存儲)。

Track(磁道):當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓

          形軌跡就叫做磁道

LBA:邏輯區塊地址,是描述電腦存儲設備上數據所在區塊的通用機制,一般用在像硬盤這樣的輔助記憶設備

為什么分區?

分區有以下優點:

  • 優化I/O性能

  • 實現磁盤空間配額限制

  • 提高修復速度

  • 隔離系統和程序

  • 安裝多個OS

  • 采用不同文件系統

分區方式:

linux中有兩種分區方式:MBR和GPT

MBR: (Master Boot Record)主引導記錄,是傳統的分區機制,應用于絕大多數使用BIOS的PC設備,使用32位表示扇區數。

  • MBR支持32位和64位系統

  • MBR支持分區數量有限

  • MBR只支持不超過2T的硬盤,超過2T的硬盤將只能用2T空間(有第三方解決方法)


GPT:GUID(Globals Unique Identifiers)Partition Table 全局唯一標識,是一個較新的分區機制,解決了MBR很多缺點。

  • 使用128位UUID 表示磁盤和分區GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

  • 支持超過2T的磁盤(64位尋址空間),使用64位,支持128個分區,支持8Z(512Byte/block )64Z(4096Byte/block)。fdisk最大只能建立2TB大小的分區,創建一個大于2TB的分區使用parted,gdisk分區工具

  • 向后兼容MBR

  • 必須在支持UEFI的硬件上才能使用(Intel提出,用于取代BIOS)

  • 必須使用64位系統

  • Mac、Linux系統都能支持GPT分區格式

  • Windows 7/8 64bit、Windows Server 2008 64bit支持GPT

MBR分區:

分區劃分基于磁盤柱面,利用參考柱面號碼的方式來處理,從CentOS6開始已經支持采用扇區的方式來劃分分區。

其實所謂的“分區”只是針對那個64bytes 的分區表進行設置而已;

硬盤默認的分區表僅能寫入四組分區信息;

這四組分區信息我們稱為主(Primary)分區或擴展(Extended)分區;

所以,MBR的分區方式為:4個主分區或{3主分區+1擴展(N個邏輯分區)}


wKioL1e--1ThHu59AAB7Kkqk6SQ972.png

MBR引導扇區結構:

0磁道0扇區:第一個扇區512bytes MBR引導扇區

    主引導程序(boot loader):446bytes, 可以安裝引導加載程序

     主分區表(partition table):64bytes,記錄整塊硬盤分區的狀態

        16bytes: 標識一個分區

     結束標識:  2 bytes, 55AA ,MBR區域的有效性標識;55AA為有效

 主分區表所在的64個bytes容量中,每16個bytes分為一個項,總共分為四組記錄區,每組記錄區記錄了該區段的起始與結束的柱面號碼,等信息。

分區表結構:

wKiom1e_uZDCGFMjAAA235DnFZg999.jpg

BYTE State:分區狀態,00=未激活,80=激活(注意此項);

BYTE StartHead:分區起始磁頭號;

WORD StartSC:分區起始扇區和柱面號。

BYTE Type:分區類型,如0x0B=FAT32,0x83=Linux等,00表示此項未用;

BYTE EndHead:分區結束磁頭號;

WORD EndSC:分區結束扇區和柱面號,定義同前;

DWORD Relative:在線性尋址方式下的分區相對扇區地址(對于基本分區即為絕對地址);

DWORD Sectors:分區大?。偵葏^數)。

  由于主分區表中只有四項記錄區,所以硬盤最多可以分為四個分區,顯然四個分區不能滿足工作需要,所以可以使用擴展分區,進而在擴展分區中再分邏輯分區

什么是擴展分區?

   所謂擴展分區,嚴格地講它不是一個實際意義的分區,它僅僅是一個指向下一個分區的指針,這種指針結構將形成一個單向鏈表。這樣在主引導扇區中除了主分區外,僅需要存儲一個被稱為擴展分區的分區數據,通過這個擴展分區的數據可以找到下一個分區(實際上也就是下一個邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區。無論系統中建立多少個邏輯磁盤,在主引導扇區中通過一個擴展分區的參數就可以逐個找到每一個邏輯磁盤

擴展分區結構:擴展引導記錄(EBR)+ 邏輯分區

        注:擴展分區中的每個邏輯驅動器都存在一個類似于MBR的擴展引導記錄( Extended Boot Record, EBR)

擴展引導扇區(EBR):類似于MBR的擴展引導記錄,擴展引導記錄包括一個擴展分區表和該扇區的標簽.

   擴展引導記錄將記錄只包含擴展分區中每個邏輯驅動器的第一個柱面的第一面的信息,但是,如果磁盤上沒有擴展分區,那么就不會有擴展引導記錄和邏輯驅動器。

EBR結構:

   邏輯分區前扇區,如擴展分區0號扇區(512bytes)

前446bytes:未使用,全為0;

擴展分區表(64bytes):記錄分區狀態,每16bytes分為一個項,共四個項。

    第一項:指向它自身的引導扇區;

    第二項:指向下一個邏輯驅動器的EBR

        注:如果不存在進一步的邏輯驅動器,第二項不會使用,且被記錄成一系列零。

    第三項:未使用

    第四項:未使用

結束標識(2bytes): 55AA ,有效性標識;55AA為有效

GPT分區:

  GPT:全局唯一標識分區表(GUID Partition Table,縮寫:GPT)是一個實體磁盤的分區表的結構布局的標準。它是可擴展固件接口(EFI)標準(被Intel用于替代個人計算機的BIOS)的一部分,被用于替代BIOS系統中的一32bits來存儲邏輯塊地址和大小信息的主引導記錄(MBR)分區表。

  GPT分配64bits給邏輯塊地址,因而使得最大分區大小在2-1個扇區成為了可能。對于每個扇區大小為512字節的磁盤,那意味著可以有9.4ZB(9.4 x 10字節)或8ZiB-512字節 

GPT分區結構:

wKioL1e_4-3BZHOsAAB-zSgLvRA902.jpg

LBA0:保護性MBR,

 在GPT分區表的最開頭,處于兼容性考慮仍然存儲了一份傳統的MBR(LBA 0),這個MBR叫做保護性MBR(Protective MBR)。其中包含有磁盤簽名,MBR分區表,結束標志。這里沒有引導代碼,分區表中只有一個分區表項,GPT不會用到,這個分區項只是為了讓系統認為磁盤是合法的。

LBA1:主要GPT頭部:

  主要GPT頭部位于1號扇區,會定義分區表的起始位置,結束位置,分區表項個數;

分區表頭還記錄了這塊硬盤的GUID,記錄了分區表頭本身的位置和大小以及備份分區表頭和分區表的位置和大小(在硬盤的最后)。它還儲存著它本身和分區表的CRC32校驗。固件、引導程序和操作系統在啟動時可以根據這個校驗值來判斷分區表是否出錯,如果出錯了,可以使用軟件從硬盤最后的備份GPT中恢復整個分區表,如果備份GPT也校驗錯誤,硬盤將不可使用。

LBA2-33:分區表項

  分區表位于GPT磁盤的2-33號扇區,一共占用32個扇區,能夠容納128個分區表項。每個分區表項大小為128字節。因為每個分區表項管理一個分區,所以GPT磁盤可以創建128個分區。

  GPT分區表使用簡單而直接的方式表示分區。一個分區表項的前16字節是分區類型GUID。接下來的16字節是該分區唯一的GUID(這個GUID指的是該分區本身,而之前的GUID指的是該分區的類型)。再接下來是分區起始和末尾的64位LBA編號,以及分區的名字和屬性。

LBA34:分區區域

   GPT分區區域就是用戶使用的分區,也是用戶進行數據存儲的區域。分區區域的起始地址和結束地址由GPT頭定義。

LBA -33~-2:分區表備份

  分區區域結束后就是分區表備份,其地址在GPT頭備份扇區中有描述。分區表備份是對分區表32個扇區的完整備份。如果分區表被破壞,系統會自動讀取分區表備份,也能夠保證正常識別分區

LBA -1:GPT頭備份

 GPT頭有一個備份,放在GPT磁盤的最后一個扇區,但這個GPT頭備份并非完全GPT頭備份,某些參數有些不一樣。復制的時候根據實際情況更改一下即可。

GPT分區優點:

   與目前普遍使用的主引導記錄(MBR)分區方案相比,GPT提供了更加靈活的磁盤分區機制。它具有如下優點:

1、支持2TB以上的大硬盤。

2、每個磁盤的分區個數幾乎沒有限制(Windows系統最多只允許劃分128個分區)。

3、分區大小幾乎沒有限制。

4、分區表自帶備份。在磁盤的首尾部分分別保存了一份相同的分區表,其中一份被破壞后,可以通過

  另一份恢復;

5、循環冗余檢驗值針對關鍵數據結構而計算,提高了數據崩潰的檢測幾率;

6、雖然MBR提供1字節分區類型代碼,但GPT使用一個16字節的全局唯一標識符(GUID)值來標識分區

  類型,這使分區類型更不容易沖突;

7、每個分區可以有一個名稱(不同于卷標)。

原創文章,作者:Groot,如若轉載,請注明出處:http://www.www58058.com/41620

(0)
GrootGroot
上一篇 2016-08-28
下一篇 2016-08-29

相關推薦

  • rpm&yum

    軟件包管理 軟件運行環境 軟件包基礎 Rpm包管理 Yum管理 定制yum倉庫 編譯安裝 ABI 應用程序的二進制接口,和操作系統相關,一個程序二進制編好了,想要在你的系統上跑,要符合你的操作系統的接口標準Windows:PE ?linux:ELF WINDOWS和LINUX二進制程序是不兼容的 庫級別的虛擬化 Linux:WINE 可以讓Windows程序…

    Linux干貨 2018-01-02
  • Linux網絡管理基礎

    Linux網絡管理基礎 動態路由 Bonding Network Teaming 靜態路由實驗 Linux的網絡管理,了解基本的網絡知識是基礎,除此,要掌握好ifconig命令、ip命令、nmcli命令(CentOS 7),以及涉及到網絡的配置文件。 配置動態路由: 通過守護進程獲取動態路由,安裝quagga包,支持RIP、OSPF、BGP,通過命令vtys…

    Linux干貨 2016-09-09
  • Linux 第四天: (07月28日) 練習和作業

    Linux 第四天: (07月28日) 練習和作業         定義別名命令baketc, 每天將/etc/目錄下所有文件, 備份到/testdir獨立的子目錄下, 并要求子目錄格式為backupYYYY-mm-dd, 備份過程可見 alias baketc='cp -a /etc/ /testdir/b…

    Linux干貨 2016-08-08
  • N25-第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@node1 ~]# who | cut -d" " -f1 | uniq (unknown) root 2、取出最后登錄到當前系統的用戶的相關信息…

    Linux干貨 2016-12-17
  • 數學集合–德摩根定律

    初中數學學過集合的概念: ~表示補集 ∩表示交集 ∪表示并集 ∈表示屬于 !表示取反 條件: x屬于C集合中之外的部分:~C 證明:   ∵x∈~C    x屬于集合c的補集     x∈~(A∩B)    想屬于a和b…

    Linux干貨 2016-08-15
  • awk應用和systemd

    一:練習 1、求每班總成績和平均成績 name class score wang   1    100 zhang  2    90 li     1    80 2、為編譯安裝的httpd服務,實現service unit文件 3、破解centos7 口令 …

    Linux干貨 2016-09-22

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-29 13:43

    文章通過自己查閱資料對MBR和GPT,兩種分區分方式進行了詳細的講解,但是這兩種分區方式對我們來說進行了解即可,我們更應該把精力放在磁盤分區管理工具使用上,故希望作者能把握重點,有的放矢,切勿撿了芝麻丟了西瓜哦。

欧美性久久久久