溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Windows存儲管理之磁盤結(jié)構(gòu)詳解

發(fā)布時間:2020-06-20 16:22:59 來源:網(wǎng)絡(luò) 閱讀:2120 作者:hongliang_liu 欄目:系統(tǒng)運(yùn)維

在之前一篇《Windows存儲管理之磁盤類型簡介》中介紹了Windows的基本磁盤類型。本篇中將對GPT和MBR這兩類磁盤類型的結(jié)構(gòu)進(jìn)行深入介紹。


Windows磁盤結(jié)構(gòu):


Windows的主流磁盤結(jié)構(gòu)分為MBR和GPT兩種。MBR是早期Windows的唯一選擇,但是隨著物理磁盤的容量不斷增大。GPT結(jié)構(gòu)成為目前的主流,最大支持超過2TB的容量,提供容錯,多分區(qū)支持,比MBR來的更加強(qiáng)大。


MBR(Master Boot Record )磁盤結(jié)構(gòu):


在Basic MBR Disk中的MBR中包含了幾種信息。


  • Bootstrap Code – 也叫Master boot code,它是一段可執(zhí)行的代碼,主要作用是,掃描活動分區(qū)的分區(qū)表,尋找活動分區(qū)的開始扇區(qū),加載啟動扇區(qū)到內(nèi)存等功能。

  • Disk Signature - Windows的所有物理磁盤都有一個磁盤簽名的機(jī)制,如果沒有簽名windows則不能訪問該磁盤的數(shù)據(jù)。當(dāng)Windows新掃描到一個物理磁盤,嘗試寫入一些磁盤簽名,用來標(biāo)識這個磁盤。簽名的長度為8個字節(jié)。然后會寫入到第一個扇區(qū),位置為0x01B8 -  0x01BB。簽名存儲在注冊表的HKLM\SYSTEM\MountedDevices位置。

  • Partition Table – 分區(qū)表,一個64字節(jié)的數(shù)據(jù)結(jié)構(gòu)用來定義每個分區(qū)的起始位置。每個分區(qū)定義去大小為16個字節(jié)。因?yàn)檫@個設(shè)計(jì),所以MBR的的擴(kuò)展主分區(qū)最多只能支持4個。

Windows存儲管理之磁盤結(jié)構(gòu)詳解


一個簡單的Basic (MBR)的磁盤結(jié)構(gòu)如下圖所示,我可以看到最外層的是物理磁盤(Disk),在物理磁盤的最前端包含MBR(Master Boot Record),這個例子中,定義了一個分區(qū)和NTFS邏輯卷。

Windows存儲管理之磁盤結(jié)構(gòu)詳解

MBR Disk支持最大四個主分區(qū)(Primary Patition),如果創(chuàng)建多個主分區(qū)的,則結(jié)構(gòu)如下。一個物理磁盤中包含四個主分區(qū),每個主分區(qū)包含一個文件卷。

Windows存儲管理之磁盤結(jié)構(gòu)詳解

如果啟用了擴(kuò)展分區(qū),則在擴(kuò)展分區(qū)中可以包含多個邏輯卷。

Windows存儲管理之磁盤結(jié)構(gòu)詳解


GPT(GUID - Globally Unique Identifer)磁盤結(jié)構(gòu):


截止201年,大多數(shù)操作系統(tǒng)都支持GPT GPT Disk在主的MBR中包含幾個內(nèi)容,GPT Disk的分區(qū)表包括以下幾個內(nèi)容。在MBR硬盤中,分區(qū)信息直接存儲于主引導(dǎo)記錄(MBR)中(主引導(dǎo)記錄中還存儲著系統(tǒng)的引導(dǎo)程序)。但在GPT硬盤中,分區(qū)表的位置信息儲存在GPT頭中。但出于兼容性考慮,硬盤的第一個扇區(qū)仍然用作MBR,之后才是GPT頭。


  • Protective MBR - 和MBR在Partition Table中包含主分區(qū)信息不同的是,GPT Disk在磁盤的第一個扇區(qū)(Sector)為“Protective MBR”,它位于LBA0(通用的存儲尋址方式大小為512每單位)這個位置上。它包含的內(nèi)容為磁盤的分區(qū)信息和初始的BIO啟動器。這是為了兼容性的考慮,保證一些遺留的MBR磁盤工具可以識別到GPT Disk。

  • Partition Table Header – 分區(qū)表頭定義了一些磁盤上可使用的塊,同時還定義了組成分區(qū)表的Partition Entries數(shù)目和大?。ù笮⊥ǔ?28個字節(jié))。GPT支持的64位版本的Windows Server 2003以上版本,支持創(chuàng)建最大128個分區(qū),每個分區(qū)記錄大小為128個字節(jié)。在分區(qū)表頭中還記錄了磁盤的GUID,用來記錄自身的大小與位置以及備用GPT表頭的位置(位于磁盤的最后一個扇區(qū))。同時還包括CRC32的校驗(yàn)值。

  • Partition entries – GPT Disk用簡單直接的條目來描述分區(qū)。最初的16個字節(jié)用來標(biāo)識分區(qū)類型。第二個16直接用來記錄改分區(qū)唯一的GUID。接下來三個8字節(jié)的記錄分別描述的初始LBA地址,結(jié)束LBA地址和分區(qū)屬性。最后72個字節(jié)為分區(qū)名。單個分區(qū)記錄大小為128個字節(jié)。通常Partition entries會從LBA2地址開始。

  • 最后,為了為了減少分區(qū)表損壞的風(fēng)險(xiǎn),GPT在硬盤最后保存了一份分區(qū)表的副本。


Windows存儲管理之磁盤結(jié)構(gòu)詳解

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI