我怎样才能在uefi中得到一个我有device_handle的分区的uuid? 例如,我正在遍历uefi中的分区,我想获得分区的uuid。 (这是一张gpt磁盘。)
答案 0 :(得分:0)
在偏移56处的GPT标题中是一个16字节的DiskGUID,可用于唯一标识磁盘。 (Efi specs 5.3.2)。
答案 1 :(得分:0)
A" GPT分区录入"有2个GUID
PartitionTypeGUID 唯一ID,用于定义此目的和类型 划分。值为零定义此分区条目不是 被使用。
UniquePartitionGUID 每个分区条目唯一的GUID。 创建的每个分区都有一个唯一的GUID。这个GUID必须 在创建GPT分区条目时分配。 GPT分区 只要GPT中的NumberOfPartitionEntries,就会创建条目 标题增加,包括更大范围的地址。
我认为您正在寻找 UniquePartitionGUID
如果你有分区关联的device_handle,那么你可以获得相应的DevicePath,即使用gnu-efi
DevicePath=DevicePathFromHandle(partition_handle);
接下来,您解析DevicePath以查找节点,如下所示
-Generic Device Path Header- where
Type = Media Device Path (0x04)
Sub type = Hard Drive (0x01)
...
Partition Signature = partition GUID <<<<<<<<
Partition Format = GPT (0x02)
在此结构中,您将找到所需的GUID
参考UEFI规范2.5(第9章)