磁盤分區類型

現階斷多數電腦使用UEFI+GPT分區的方式,GPT英文全稱爲GUID Partition Table其含義爲“全局唯一標識磁盤分區表,是一個實體硬盤的分區表的結構佈局的標準,GPT標準的EFI標準取代了早期藍色巨人IBM發明的BIOS固件形式,有時候希望瞭解一下GPT的結構,就需要拿一個實例來探索,最直接的方法是直接獲取GPT分區表來慢慢學習,具體可以參考以下內容。

1. 在 Linux 系統下打開終端(ubuntu 快捷鍵 Ctrl + Alt + T)

在終端下執行如下命令

sudo dd if=/dev/sda of=gpt.bin bs=512 count=32

說明:
sudo:提升權限以執行後面的命令
dd:直接對磁盤進行操作的命令,用於磁盤備份或者還原
if:參數,用於制定輸入源,可以是塊設備文件或者普通文件
os:參數,用於制定複製的輸出文件,這裏輸出爲 gpt.bin 的文件
bs:爲一次操作多少個字節,這裏時512個字節,即單個物理扇區的大小
count:複製的次數,這裏指定了32次,即總的輸出文件的大小爲 512*32 = 16384 字節 = 16KB.

GPT的標準結構爲32個扇區,每個扇區是512字節,共計16KB
這裏將從磁盤地址爲 0x00 到 0x3ff 共 16384 個字節的gpt扇區內容完整複製了出來.
可以查看一下文件,正好是16KB = 16384B。

 ls -l | grep gpt.bin
 -rw-r--r-- 1 root  root  16384 Jan 17 21:30 gpt.bin

接下來就可以使用 16 進制查看器來查看導出的GPT 分區表了.

 hexdump -C gpt.bin | less
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001c0  01 00 ee fe ff ff 01 00  00 00 2f 60 38 3a 00 00  |........../`8:..|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
00000210  40 94 94 ca 00 00 00 00  01 00 00 00 00 00 00 00  |@...............|
00000220  2f 60 38 3a 00 00 00 00  22 00 00 00 00 00 00 00  |/`8:....".......|

在這裏插入圖片描述

*號表示這段偏移量全部爲空

可以看到,開頭的是一個MBF保護分區,在地址 0x1fe 和 0x1ff 的位置分別是 55 AA 作爲第一個扇區的結束,和MBR分區上保持了一致性作爲兼容.

接下來是GPT頭,以UEFI PART作爲頭標識字符。更多的結構知識,可以慢慢藉助獲得的二進制GPT數據進行學習。

運行 sudo fdisk -l 可以查看到當前系統中所有磁盤的信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章