29 IN EFI_HANDLE ImageHandle,
30 IN EFI_SYSTEM_TABLE *SystemTable
37 EFI_BLOCK_IO_PROTOCOL *BlkIo;
38 CONST EFI_PARTITION_ENTRY *PartitionEntry;
43 Status =
gBS->LocateHandleBuffer (
50 if (EFI_ERROR (Status)) {
51 DEBUG ((DEBUG_WARN,
"Failed to find any partitions - %r\n", Status));
55 for (Index = 0; Index < HandleCount; ++Index) {
56 Status =
gBS->HandleProtocol (
61 if (EFI_ERROR (Status)) {
62 DEBUG ((DEBUG_WARN,
"Partition #%u is unavailable - %r\n", (UINT32)(Index + 1), Status));
66 if (!BlkIo->Media->LogicalPartition) {
67 DEBUG ((DEBUG_WARN,
"Partition #%u is not a logical partition\n", (UINT32)(Index + 1)));
72 if (PartitionEntry == NULL) {
73 DEBUG ((DEBUG_WARN,
"Partition #%u GPT entry is not accessible\n", (UINT32)(Index + 1)));
77 if (
IsZeroGuid (&PartitionEntry->UniquePartitionGUID)) {
78 DEBUG ((DEBUG_WARN,
"Partition #%u GPT entry has all-zero GUID\n", (UINT32)(Index + 1)));
82 DEBUG ((DEBUG_WARN,
"Partition #%u details:\n", (UINT32)(Index + 1)));
83 DEBUG ((DEBUG_WARN,
" PartitionName : %-36s\n", PartitionEntry->PartitionName));
84 DEBUG ((DEBUG_WARN,
" PartitionTypeGUID : %g\n", &PartitionEntry->PartitionTypeGUID));
85 DEBUG ((DEBUG_WARN,
" UniquePartitionGUID: %g\n", &PartitionEntry->UniquePartitionGUID));