如何使用 hexdump 物理查看我的 GUID 分区表 (gpt)?

Art*_*yan 4 partitioning efi gpt hexdump uefi

例如,使用 hexdump,我可以查看主引导记录的二进制内容。同样,我想看看我的 gpt 是什么样的。它位于 EFI 系统分区的某个位置吗?我只找到了不同的 .efi 文件,没有任何关于分区表之类的东西的提示。

use*_*686 5

分区表不能位于分区中,因为它描述了分区所在的位置。相反,它位于任何分区外部的固定磁盘位置,并且通常没有任何文件表示形式。您说您之前正在查看磁盘的“主引导记录”\xe2\x80\x93,您也需要使用相同的方法来查看 GPT。

\n\n

MBR位于磁盘的第1扇区(LBA 0);即使是 GPT 磁盘,该扇区中仍然有一个“保护性”MBR。(MBR 的前 440 字节用于存储引导代码,但其余 72 字节保存分区条目,因此您实际上已经在查看分区表了。)

\n\n

类似地,GPT从磁盘的第二个扇区 (LBA 1) 开始,其中包含其标头所在的位置,然后是大约 1 个扇区。另外 32 个扇区 (16 KiB) 包含实际分区列表。(更长的 GPT 是可能的,但可能很少见。)

\n\n\n\n

用于读取原始磁盘扇区的方法取决于操作系统,但以下工具在 Linux 上特别有用:

\n\n
# head -c 512 /dev/sda | hexdump -C\n# dd if=/dev/sda bs=512 skip=1 count=33 | hexdump -C\n# xfs_io -r -c "pread -v 512 16896" /dev/nvme0n1\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,主 GPT 的精确位置取决于磁盘的逻辑扇区大小 \xe2\x80\x93 大多数磁盘使用 512 字节扇区,但如果它是“4K 本机”磁盘,则 GPT 也将从字节 4096 开始,而不是从字节 512 开始。相应地调整命令。(如果数据以 ASCII 开头,您就会知道您已找到它EFI PART。)

\n