MBR、GPT的結構和區別

本章學習內容

        ——–介紹MBR、GPT

        ——–不同的啟動流程

        ——–分區結構

        ——–分區差異  

        ——–磁盤管理方式




一、介紹MBR、GPT

     MBR(Master Boot Record)主引導記錄和GUID(GUID Partition Table,簡寫為GPT)全局唯一標識分區列表是磁盤的倆種的分區方式,它們各自占據了從磁盤的0磁道0扇區開始的不同的字節數大小,這倆種不同分區方式也決定了磁盤的各種特性,是計算機啟動之前最先加載的程序。



二、啟動流程

     既然談到了了磁盤的分區方式,我想這里很有必要介紹一下與之對應的啟動方式。對于Legacy BIOS+MBR和UEFI BIOS+GPT這倆種技術而言,后者雖然使用人群不大,但是更先進,因為Windows8的誕生,讓這一技術真正走進了人們的視野。GRUB是一個多系統啟動引導程序,先啟動grub再記載磁盤的MBR或者GPT,是傳統的啟動方式。

wKioL1e_GeDRq-8DAABNcIE1x-8240.jpg


三、詳解分區結構

    1、分區展示

MBR磁盤示圖

      在MBR磁盤的第一個扇區內保存著啟動代碼和硬盤分區表。啟動代碼的作用是指引計算機從活動分區引導啟動操作系統,也可以叫做Bootloader;分區表的作用是記錄硬盤的分區信息。在MBR中,分區表的大小是固定的,一共可容納4個主分區信息。最后是磁盤有效標志,它是磁盤分區的校驗位。

wKiom1e_p6qgD11yAABwaKdhD7I100.png

GPT磁盤示圖

    在GTP磁盤的第一個扇區中同樣有一個與MBR(主引導記錄)類似的標記,叫做PMBR。PMBR的作用是,當使用不支持GPT的分區工具時,整個硬盤將顯示為一個受保護的分區,以防止分區表及硬盤數據遭到破壞。而其中存儲的內容和MBR一樣。

                             wKioL1e_o72BOuELAACbhGOwpwU034.png

    2、分區細看      

        <1>centos7默認從2048號扇區開始,1–2047號扇區(每個扇區512byte)的1M空間為grub預留wKiom1fBD7ejQMA0AAGHWU88lP0231.jpg

        <2>接下來細看0號扇區的512字節,即主引導記錄wKiom1fBGEnQ2bBbAAc1-XO6PNc304.jpg  

        <3>演示MBR的作用       

           ◆添加一塊200G的磁盤,并創建文件系統

wKioL1fBNsmxjpV7AAD73EZTASk215.jpg

           ◆把sda的MBR轉移至新磁盤

wKiom1fBN12B61yMAABwMjl_Zts448.jpg              ◆重新查看

wKiom1fBPh6hUK8hAAF23rYvFmU749.jpg

/dev/sda的MBR在/dev/sdb中生效,sdb擁有了和sda一樣的分區

           ◆破壞/dev/sdb的bootloader,sdb將無法啟動,此處只作破壞

wKiom1fBOmbi1aSEAAHTHCNvrmI525.jpg               ◆再破壞其分區標識符

wKioL1fBO8Lhvi8nAAHKE0wkWcA292.jpg               ◆查看其分區

wKioL1fBPBSQ5iNnAAD_BpncZ2Y649.jpg

以上證明了在MBR中,bootloader引導系統啟動,而分區標識符一旦被破壞,雖然文件系統不會被破壞,但是分區會隨之消失。

注意:生產生活中通常我們會備份MBR



四、倆種分區的差異

     1、在MBR中,分區表的大小是固定的,一共可容納4個主分區信息。在MBR分區表中邏輯塊地址采用32位二進制數表示,因此一共可表示2^32(2的32次方)個邏輯塊地址。如果一個扇區大小為512字節,那么硬盤最大分區容量僅為2TB。

     2、GPT的分區方案之所以比MBR更先進,是因為在GPT分區表頭中可自定義分區數量的最大值,也就是說GPT分區表的大小不是固定的。另外,GPT分區方案中邏輯塊地址(LBA)采用64位二進制數表示,可以計算一下2^64是一個多么龐大的數據,以我們的需求來講完全有理由認為這個大小約等于無限。除此之外,GPT分區方案在硬盤的末端還有一個備份分區表,保證了分區信息不容易丟失。

涉及專業術語:

CHS:標準的硬盤模式,它限定硬盤容量才8G,非常有效,現在市場上已經沒有了! 
LAB:邏輯塊尋址模式,是現在最常用的一種,常見的為500G,1T



五、磁盤管理方式

    其實在磁盤上,是分為一個個數據塊的,一個塊的大小通常時4K,而又把大量的數據塊,分為有限的塊組。每個塊組中,有DGT、Block bitmap、Inode bitmap、Inode table和不均勻超級塊,下圖:

wKioL1fBgbbRShpKAAA0QMQrJYA079.png

換一種思路來理解磁盤數據塊的分布方式

wKiom1fBl-rD0laQAABGTt6A5OI213.png

關于各個數據塊存儲的信息,以下作簡要介紹

◆ Boot block: 前面已經介紹過,里面存儲的是MBR或者GDT等系統啟動的程序

◆ Super block:記錄著磁盤上所有數據塊組的信息以及數據塊的大小、inode大小……一旦損壞,數    據丟失,需備份多次

◆ GDT:存儲著每個塊組的磁盤塊的數量,需備份多次

◆ Block bitmap:是磁盤塊上數據塊的索引,是加快查找inode的一種非常重要的數據結構

◆ Inode bitmap:作用同Block bitmap

◆ Inode table:遍歷inode bitmap

   所以:我們在操作一個數據時,在磁盤內部實現的機制是相當復雜的,首先通過inode table查找來分配空閑的inode,再根據inode bitmap找的對應的數據塊,當然,關于inode的詳細機制,我們前面已經介紹過,此處不做詳細解釋。 

  

   

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

(0)
mfwingmfwing
上一篇 2016-08-28 21:59
下一篇 2016-08-29 08:44

相關推薦

  • Web緩存核心技術點需知

    Edit Web緩存核心技術點需知 5.1 HTTP首部控制 5.2 基于新鮮度檢測機制: 2.1 特征1:時間局部性 2.2 特征2:空間局部性 2.3 緩存的優點 2.4 哪類數據應該被緩存 2.5 哪類數據可緩存但不應該被緩存 2.6 緩存命中率決定緩存有效性 2.7 緩存數據生命周期 2.8 緩存處理步驟 2.9 緩存和普通數據讀取的區別 1. 完整…

    Linux干貨 2016-11-14
  • Linux運維學習歷程-第十一天-bash邏輯運算、測試類型和腳本語句

    概述:本篇重點介紹linux當中默認設立了類型,bash的邏輯運算、測試類型和腳本語句,本篇內容極其重要,望小伙伴們在日后的學習中用心學習 一、邏輯運算 變量:   本地變量、環境變量、局部變量、位置參數變量、特殊變量   變量賦值:name=value,export name=value,declare -x nam…

    Linux干貨 2016-08-24
  • Week 1–Linux基礎2

    四. Linux系統命令使用格式:  但首先,在linux中我們要知道linux系統中基本的命令格式如下: 命令字 【命令選項】 【命令參數】   Command 【option】 【arguments】 在這里主要介紹這幾個命令的使用格式(Ifconfig,echo, tty, startx, export, pwd, history, shut…

    Linux干貨 2016-12-05
  • wed服務基礎·httpd基礎配置詳解

    一、 Web Service基礎: service:計算機后臺提供的功能或計算機可以提供的某一種功能 Web Service本質:通過網絡調用其它網站的資源 根據來源的不同,分為兩種服務: 本地服務:使用同一臺機器提供的服務,不需要網絡 網絡服務:使用另一臺機器提供的服務,需要網絡   IANA互聯網地址授權機構(Internet Assigned…

    2017-06-09
  • Linux基礎知識第一課

    一、計算機的組成:             CPU:運算器、控制器、寄存器、緩存            存儲器:內存,RAM(Random …

    Linux干貨 2016-09-12

評論列表(1條)

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

    文章對于MBR和GPT兩種分區方式進行了詳細的介紹,同時也配上圖片來說明問題所在。如果加上實驗性驗證和歷史背景介紹會讓文章整體更有說服力,當然,整篇博客還是能讓人看到很多專業性所在,還能看出很用心的地方。

欧美性久久久久