linux做gpt分区,Linux下的GPT分区

发布于:2023-05-01 ⋅ 阅读:(492) ⋅ 点赞:(0)

Linux下的GPT分区

标签(空格分隔): gpt Linux

现阶断多数电脑使用UEFI+GPT分区的方式,GPT英文全称为GUID Partition Table其含义为“全局唯一标识磁盘分区表,是一个实体硬盘的分区表的结构布局的标准,GPT标准的EFI标准取代了早期蓝色巨人IBM发明的BIOS固件形式,有时候希望了解一下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个扇区,这里将从磁盘地址为 0x00 到 0x3fff 共16384 个字节的gpt扇区内容完整复制了出来.

GPT标准中的结构是32扇区,每个扇区是512字节,共计16KB,可以查看一下文件,正好是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保护分区,在地址 0x1ffe 和 0x1fff 的位置分别是 55 AA 作为第一个扇区的结束,和MBR分区上保持了一致性作为兼容.

接下来是GPT头,以UEFI PART作为头标识字符。更多的结构知识,可以慢慢借助获得的二进制GPT数据进行学习。


网站公告

今日签到

点亮在社区的每一天
去签到