日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

磁盘分区MBR和GPT格式详解(Linux)

發(fā)布時(shí)間:2023/12/14 linux 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 磁盘分区MBR和GPT格式详解(Linux) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、磁盤(pán)結(jié)構(gòu)


機(jī)械硬盤(pán)主要由磁盤(pán)盤(pán)片、磁頭、主軸與傳動(dòng)軸等組成,數(shù)據(jù)存放在具有磁性物質(zhì)的磁盤(pán)盤(pán)片中。
實(shí)際運(yùn)行時(shí),主軸馬達(dá)讓碟片轉(zhuǎn)動(dòng),然后磁頭臂讓磁頭在碟片上面進(jìn)行讀寫(xiě)操作。

讀取數(shù)據(jù)時(shí)以磁頭轉(zhuǎn)圈的方式進(jìn)行,在磁片同心圓中切出一個(gè)一個(gè)的小區(qū)塊,這些小區(qū)塊就是磁盤(pán)的最小物理存儲(chǔ)單位,成為扇區(qū)(sector),同一個(gè)同心圓的扇區(qū)組合成的圓就是磁道(track)。由于磁盤(pán)里可能會(huì)有多個(gè)碟片,因此在所有碟片上面的同一個(gè)磁道可以組成 柱面(cylinder)。

外圈的圓比較大,為了合理利用這些空間,磁盤(pán)外圈圓會(huì)比內(nèi)圈有更多的扇區(qū)。所以,當(dāng)?shù)D(zhuǎn)一圈時(shí),外圈的扇區(qū)數(shù)量比較多,因此如果數(shù)據(jù)寫(xiě)入在外圈,轉(zhuǎn)一圈能夠讀寫(xiě)的數(shù)據(jù)量比內(nèi)圈多。因此數(shù)據(jù)的讀寫(xiě)會(huì)由外圈開(kāi)始向內(nèi)寫(xiě),這是默認(rèn)的方式。

原本硬盤(pán)的扇區(qū)都是設(shè)計(jì)成512B的大小,但隨著硬盤(pán)容量的增大,為了減少數(shù)據(jù)量的拆解,目前絕大多數(shù)的高容量硬盤(pán)使用了4K大小的扇區(qū)設(shè)計(jì)。

為什么要分區(qū)?

  • 1.數(shù)據(jù)的安全性
    每個(gè)分區(qū)的數(shù)據(jù)是分開(kāi)存儲(chǔ)的,當(dāng)要對(duì)某個(gè)分區(qū)的數(shù)據(jù)進(jìn)行整理時(shí),不會(huì)影響到其它分區(qū)。例如對(duì)安裝有Windows系統(tǒng)的C盤(pán)進(jìn)行重裝時(shí),對(duì)其它分區(qū)如D盤(pán)、E盤(pán)中的數(shù)據(jù)不會(huì)產(chǎn)生影響。
  • 2.系統(tǒng)的性能
    某個(gè)分區(qū)處在特定范圍的柱面范圍內(nèi),當(dāng)要在該分區(qū)內(nèi)讀取數(shù)據(jù)時(shí),只需要在其柱面范圍內(nèi)檢索,由于數(shù)據(jù)較為集中,所以讀取速度和性能較高。

主要的分區(qū)格式有早期的MBR格式和新的GPT格式。

二、分區(qū)格式

1、MBR

(1)簡(jiǎn)介

MBR分區(qū)格式中柱面是文件系統(tǒng)的最小單位,也就是分區(qū)的最小單位。

第一個(gè)扇區(qū)(舊式磁盤(pán)中為512字節(jié))中存放著啟動(dòng)引導(dǎo)程序和分區(qū)表:

  • 主引導(dǎo)記錄(Master Boot Record, MBR):可以安裝啟動(dòng)引導(dǎo)程序的地方,有446字節(jié);
  • 分區(qū)表(partition table):記錄整塊硬盤(pán)分區(qū)的狀態(tài),有64字節(jié)。

分區(qū)表64字節(jié)最多僅能有四組記錄區(qū),每個(gè)記錄區(qū)16字節(jié)。

如圖中有4個(gè)主分區(qū)。

總結(jié):

  • 所謂的分區(qū)就是針對(duì)64字節(jié)的分區(qū)表進(jìn)行設(shè)置而已。
  • 磁盤(pán)默認(rèn)的分區(qū)表僅能寫(xiě)入四組分區(qū)信息,每組記錄區(qū)記錄了該區(qū)段的起始與結(jié)束的柱面號(hào)碼。
  • 這四個(gè)分區(qū)的記錄被稱為主要(Primary)分區(qū)擴(kuò)展(Extended)分區(qū)
  • 當(dāng)系統(tǒng)要寫(xiě)入磁盤(pán)時(shí),一定會(huì)參考磁盤(pán)分區(qū)表,才能針對(duì)某個(gè)分區(qū)進(jìn)行數(shù)據(jù)的處理。

(2)擴(kuò)展分區(qū)和邏輯分區(qū):

擴(kuò)展分區(qū)的目的是使用額外的扇區(qū)來(lái)記錄分區(qū)的信息,擴(kuò)展分區(qū)本身并不能被拿來(lái)格式化。

擴(kuò)展分區(qū)可以繼續(xù)劃分出邏輯分區(qū)(logical partition)

/dev/sda[1-4] 都是留給主分區(qū)或擴(kuò)展分區(qū)用的,所以邏輯分區(qū)的設(shè)備文件名就從 sda5 開(kāi)始。

圖中分區(qū)在Linux下的文件名是:
P1:/dev/sda1
P2:/dev/sda2
L1:/dev/sda5
L2:/dev/sda6
L3:/dev/sda7
L4:/dev/sda8
L5:/dev/sda9

總結(jié):

  • 主分區(qū)和擴(kuò)展分區(qū)最多可以有4個(gè)(硬盤(pán)限制)。
  • 擴(kuò)展分區(qū)最多只能有1個(gè)(操作系統(tǒng)限制)。
  • 邏輯分區(qū)是由擴(kuò)展分區(qū)持續(xù)劃分出來(lái)的分區(qū)。
  • 能夠被格式化后作為數(shù)據(jù)存取的分區(qū)是主分區(qū)和邏輯分區(qū),擴(kuò)展分區(qū)無(wú)法格式化。
  • 邏輯分區(qū)的數(shù)量依操作系統(tǒng)而不同,在Linux中SATA硬盤(pán)已經(jīng)可以突破63個(gè)以上的分區(qū)限制。
  • 一般建議將擴(kuò)展分區(qū)的柱面號(hào)碼分配到最后的柱面內(nèi)。

MBR模式簡(jiǎn)略圖

MBR分區(qū)表結(jié)構(gòu)

偏移長(zhǎng)度(字節(jié))意義
00H1分區(qū)狀態(tài):00–>非活動(dòng)分區(qū);80–>活動(dòng)分區(qū);其它數(shù)值沒(méi)有意義
01H1分區(qū)起始磁頭號(hào)(HEAD),用到全部8位
02H2分區(qū)起始扇區(qū)號(hào)(SECTOR),占據(jù)02H的位0-5;該分區(qū)的起始磁柱號(hào)(CYLINDER),占據(jù)02H的位6-7和03H的全部8位
04H1文件系統(tǒng)標(biāo)志位
05H1分區(qū)結(jié)束磁頭號(hào)(HEAD),用到全部8位
06H2分區(qū)結(jié)束扇區(qū)號(hào)(SECTOR),占據(jù)06H的位0-5;該分區(qū)的結(jié)束磁柱號(hào)(CYLINDER),占據(jù)06H的位6-7和07H的全部8位
08H4分區(qū)起始相對(duì)扇區(qū)號(hào)
0CH4分區(qū)總的扇區(qū)數(shù)

(3)MBR分區(qū)大小限制的問(wèn)題:

分區(qū)表組最后4個(gè)字節(jié)表示分區(qū)中的扇區(qū)數(shù)量,有4*8=32位,最大值為 20+21+ … +231 = 232-1 個(gè)扇區(qū),每個(gè)扇區(qū)大小為512字節(jié),所以能表示的最大容量為 :
(232?1)?512=2199023255040bytes=2048GB=2TB(2^{32}-1) * 512= 2199023255040 \, bytes = 2048 \, GB = 2 \, TB (232?1)?512=2199023255040bytes=2048GB=2TB注意這里是用1:1024換算的,硬盤(pán)制造商使用1:1000換算,所以就會(huì)得出2.2TB的結(jié)果。

2TB是對(duì)單一分區(qū)容量的限制,如果第一個(gè)分區(qū)就占了2TB,那么其第二個(gè)分區(qū)的扇區(qū)物理地址就無(wú)法表示了,所以2TB也是對(duì)整個(gè)硬盤(pán)最大容量的限制。

詳細(xì)說(shuō)明見(jiàn)Wiki頁(yè)面:https://zh.wikipedia.org/wiki/Master_boot_record

MBR的弊端:

  • 操作系統(tǒng)無(wú)法使用2.2TB以上的磁盤(pán)容量。
  • MBR僅有一個(gè)區(qū)塊,被破壞后經(jīng)常無(wú)法或很難恢復(fù)。
  • MBR內(nèi)的存放啟動(dòng)引導(dǎo)程序的區(qū)塊僅446字節(jié),無(wú)法存儲(chǔ)較多的程序代碼。

2、GPT

(1)簡(jiǎn)介

如今扇區(qū)大小不僅有512字節(jié)的,還有4K大小的。為了兼容所有的磁盤(pán),使用邏輯區(qū)塊地址(Logical Block Address,LBA)來(lái)處理扇區(qū)。GPT將硬盤(pán)所有區(qū)塊以LBA(默認(rèn)512字節(jié))來(lái)規(guī)劃,第一個(gè)LBA稱為L(zhǎng)BA0。

與MBR僅使用第一個(gè)512字節(jié)來(lái)記錄不同,GPT使用了34個(gè)LBA來(lái)記錄分區(qū)信息。相比于MBR中只有一個(gè)區(qū)塊記錄分區(qū)信息,GPT除了前面34個(gè)LBA記錄以外,整個(gè)磁盤(pán)的最后34個(gè)LBA也拿來(lái)做備份。

(2)LBA

  • LBA0(MBR兼容模塊)
    出于兼容性考慮存儲(chǔ)了一份傳統(tǒng)MBR,用來(lái)防止不支持GPT的硬盤(pán)管理工具錯(cuò)誤識(shí)別并破壞硬盤(pán)中的數(shù)據(jù),這個(gè)MBR也叫做保護(hù)MBR。
    分為兩個(gè)部分,第一個(gè)是前面446字節(jié),用來(lái)存儲(chǔ)第一階段的啟動(dòng)引導(dǎo)程序。而在原本的分區(qū)表的記錄區(qū)內(nèi),這個(gè)兼容模式僅放入了一個(gè)特殊字符來(lái)表示此磁盤(pán)為GPT格式之意。
    在使用 MBR/GPT 混合分區(qū)表的硬盤(pán)中,這部分存儲(chǔ)了GPT分區(qū)表的一部分分區(qū)(通常是前四個(gè)分區(qū)),可以使不支持從GPT啟動(dòng)的操作系統(tǒng)從這個(gè)MBR啟動(dòng),啟動(dòng)后只能操作MBR分區(qū)表中的分區(qū)。

  • LBA1(GPT表頭記錄)
    記錄了分區(qū)表本身的位置和大小,也記錄了備份用的GPT分區(qū)(最后34個(gè)LBA區(qū)塊)放置的位置。同時(shí)放置了分區(qū)表的校驗(yàn)碼(CRC32),操作系統(tǒng)可以根據(jù)這個(gè)校驗(yàn)碼來(lái)判斷GPT是否正確。若有錯(cuò)誤可以通過(guò)這個(gè)記錄區(qū)來(lái)獲取備份的GPT(磁盤(pán)最后面的備份區(qū)塊)來(lái)恢復(fù)正常。

  • LBA[2-33](實(shí)際記錄分區(qū)信息處)
    從LBA2區(qū)塊開(kāi)始,每個(gè)LBA都可以記錄4組分區(qū)記錄,所以在默認(rèn)情況下,總共有4*32=128組分區(qū)記錄。每組記錄用到128字節(jié)的空間。

起始字節(jié)長(zhǎng)度內(nèi)容
016字節(jié)分區(qū)類型GUID
1616字節(jié)分區(qū)GUID
328字節(jié)起始LBA(小端序)
408字節(jié)末尾LBA
488字節(jié)屬性標(biāo)簽(如:60表示“只讀”)
5672字節(jié)分區(qū)名(可以包括36個(gè)UTF-16(小端序)字符)

(16+16+8+8+8+72=128)

(3)GPT分區(qū)大小限制:

GPT 在每組記錄中分別提供了 8字節(jié) = 64位 來(lái)記載開(kāi)始/結(jié)束的扇區(qū)號(hào)碼。因此,理論上對(duì)于單一分區(qū)槽來(lái)說(shuō), 它的最大容量限制為 264 * 512bytes = 263 Kbytes = 233TB = 8 ZB 。但是受操作系統(tǒng)限制,一般一個(gè)分區(qū)最大限制為 18EB。

GPT 分區(qū)沒(méi)有所謂的主、擴(kuò)展、邏輯分區(qū)的概念,每個(gè)都可以視為是主分區(qū),每一個(gè)分區(qū)都可以格式化。

GPT 分區(qū)默認(rèn)可以提供多達(dá)128 組紀(jì)錄,而在Linux 本身的內(nèi)核設(shè)備記錄中,針對(duì)單一磁盤(pán)來(lái)說(shuō),雖然過(guò)去最多只能到達(dá)15 個(gè)分區(qū),不過(guò)由于Linux 內(nèi)核通過(guò)udev 等方式的處理,現(xiàn)在Linux 也已經(jīng)沒(méi)有這個(gè)限制了。

參考鏈接:1.https://en.wikipedia.org/wiki/GUID_Partition_Table
2.https://docs.microsoft.com/en-us/troubleshoot/windows-server/backup-and-storage/guid-partitioning-table-disk-faq

總結(jié)

以上是生活随笔為你收集整理的磁盘分区MBR和GPT格式详解(Linux)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。