1. 程式人生 > >MBR和GPT分區

MBR和GPT分區

兩種 一個 模式 ide img 程序 受保護 不用 bsp

遵循linux一切皆文件的原則,磁盤在centos6、7中也是以文件的形式來展示。

目錄: /dev/ sd*(老式的並口磁盤設備會顯示hd而不是sd)

盤是塊設備,所以磁盤屬性為b

現在的分區方式主要有兩種MBR和GPT:

1、MBR

MBR作為老式的分區方式,現在大部分企業還在使用,使用32位表示扇區數,分區最大不可超過2TB,當使用MBR為分區方式的時候,操作系統默認加載磁盤的0扇區,0扇區的淺446個字節為bootloader(操作系統啟動需要的數據),然後緊跟64個字節表示磁盤的分區信息,最後兩個字節內容為16禁止的55AA表示0扇區結尾。

由於MBR分區表(那64個字節)的長度限制,最多只能劃分4個主分區,或者3個主分區1個擴展分區。當使用擴展分區來劃分邏輯分區時,會即擴展分區後生成一個EBR的512字節的扇區,使用類似MBR的方式來表示邏輯分區,但是EBR錢446個字節為空,後64個字節為邏輯分區的分區信息,同樣以55AA結束該扇區。MBR是由BIOS來引導啟動。

技術分享圖片

2、GPT

GPT為新興的分區,最大可以支持128個磁盤主分區,相比傳統的MBR分區多了太多,而且,分區的最大容量到ZB級,目前姑且認為算是無窮大吧,這麽看起來GPT分區貌似比MBR強大很多,而且現在各種軟硬件生產商也在逐漸淘汰MBR這種分區方式。那麽下面詳細說一下GPT。

GPT 又叫 GUID (Globals Unique Identifiers)partition table ,使用128位UUID(Universally Unique Identifier)表示磁盤和分區GPT分區表自動備份在頭和尾兩份,並且有CRC校驗位。

GPT是由 UEFI(統一擴展固件接口)來引導啟動。如果設備使用的GPT模式來分區,那麽必須使用UEFI來引導啟動,而MBR可以使用BIOS來引導啟動也可以使用UEFI來引導。

GPT->UEFI

MBR->BIOS

GPT分區的分區結構:

1、0扇區和傳統的MBR結構一樣,但是沒有數據,作用是為了更好的兼容之前的系統和程序的兼容,同樣是以55AA結尾。當使用不支持GPT的分區工具時,整個硬盤將顯示為一個受保護的分區,以防止分區表及硬盤數據遭到破壞。UEFI並不從PMBR中獲取GPT磁盤的分區信息,它有自己的分區表,即GPT分區表。

技術分享圖片

2、GPT的頭信息

技術分享圖片

3、LBA1-LBA33為128個分區信息,如果沒有分區,則保留為空

4、在分區尾部做了頭部和分區表的備份(LBA N-32 到 LBA N)

5、UEFI環境下一般會建立一個ESP(EFI system partition)分區,專門用來存放EFI啟動文件。當你有多個操作系統時,他們的bootloader都會在/efi下的不同文件夾裏。若啟動文件損壞,你所做的也只是簡單的復制粘貼文件,再也不用寫什麽引導扇區了。

MBR和GPT分區