磁盘分区类型

现阶断多数电脑使用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 可以查看到当前系统中所有磁盘的信息

©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页