2016-08-14 18 views
0

该转储是使用cfdisk在2GiB硬盘(.vdi,虚拟Box上)上的dd if=/dev/sda bs=512 | hexdump -C的输出,其中GUID Partition Table是使用cfdisk编写的。这就是LBA 1(GPT标头逻辑块)是这样的:此GPT标头值的后面是什么?

45 46 49 20 50 41 52 54 | EFI signature 
00 00 01 00    | GPT version 
5c 00 00 00    | GPT header size 
f8 8f 25 0d    | CRC32 (header) 
00 00 00 00    | reserved 
01 00 00 00 00 00 00 00 | current LBA (this is LBA 1) 
ff ff 3f 00 00 00 00 00 | backup LBA (last LBA on disk) 
00 08 00 00 00 00 00 00 | first LBA available for partitions 
de ff 3f 00 00 00 00 00 | last LBA available for partitions 
a1 4b 7c df ca 02 95 4c | disk's GUID [1/2] 
98 16 bb f0 73 d3 c8 0c | disk's GUID [2/2] 
02 00 00 00 00 00 00 00 | partition entries' first LBA 
80 00 00 00    | total amount of partition entries 
80 00 00 00    | size of a single partition entry 
86 d2 54 ab    | CRC32 (entries) 
00 ..     | zeroed out until next LBA 

此头指出有80H(128D)的分区条目,各为128位长,因​​此条目从LBA 2和跨度16KiB或32开始扇区(这个磁盘中每个扇区512B),意思是从LBA 02hLBA 21h

为什么LBA 800h报告为分区的第一个可用LBA而不是LBA 22h,下一个分区条目之后?磁盘上是否连续存储条目和实际分区?

回答

0

看起来这是一个cfdisk特定的行为。我删除了GPT并使用gdiskparted将它写回两次,这两者都将分区条目数组的起点放在LEA 22h之前,正如我所期待的那样。但请注意,让磁盘中的实际分区进一步启动是完全可以接受的,因为UEFI 2.6标准仅规定它们不会比LEA 22h更早启动。