我早些时候在SuperUser上发布了这个问题,但是我觉得它更适合程序员。
如果我正确理解,根据GPT,LBA 2的前16个字节是磁盘上第一个分区的GUID。在Windows磁盘管理中,第一个分区被指定为EFI系统分区。然而,经进一步调查,EFI系统划分的GUID是:
C12A7328-F81F-11D2-BA4B-00A0C93EC93B然而,前16个字节告诉我的不是:
28732AC1-1FF8-D211-BA4B-00A0C93EC93B有趣的是,前3节起着小端点的作用,而另外2节则是大端点。
为什么是这种情况?
发布于 2016-04-27 13:10:20
EFI_GUID数据类型声明如下:
typedef struct {
UINT32 Data1;
UINT16 Data2;
UINT16 Data3;
UINT8 Data4[8];
} EFI_GUID;由于最初的EFI体系结构(IA64、LE和IA32e)在默认情况下是小端点,所以整数也是如此。我还没有真正看到大端机器上的UEFI实现,所以我不知道标准GUID是否会被存储。
https://stackoverflow.com/questions/36872321
复制相似问题