Newer
Older
AMI-Aptio-BIOS-Reversed / PartitionDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Init

PartitionDxe

Field Value
Index 0127
Module PartitionDxe
Size 23108 bytes (23.1 KB)
PE File PartitionDxe.efi
Phase DXE
Source MdeModulePkg/Universal/Disk/PartitionDxe/
SHA-256 1ff29649538f...
Sections 6 (.text, .rdata, .data, section_3, .xdata, .reloc)

Overview

PartitionDxe is a UEFI partition driver that produces EFI_BLOCK_IO_PROTOCOL and EFI_BLOCK_IO2_PROTOCOL instances for each partition discovered on a parent block device. It supports MBR (Master Boot Record), GPT (GUID Partition Table), and El Torito (CD-ROM boot) partitioning schemes. The driver installs child handles for each valid partition, implements partition overlap detection, and follows the standard UEFI driver binding model.

Key Functions

  • PartitionDriverEntryPoint() -- Entry point; installs driver binding and component name 2 protocols
  • PartitionDriverBindingSupported() -- Tests if a block device supports partition enumeration
  • PartitionDriverBindingStart() -- Enumerates partitions on a block device
  • PartitionDriverBindingStop() -- Removes partition child handles
  • PartitionInstallGptChildHandles() -- Installs child handles for GPT partitions
  • PartitionInstallMbrChildHandles() -- Installs child handles for MBR partitions
  • PartitionInstallEltChildHandles() -- Installs child handles for El Torito (CD-ROM) partitions
  • PartitionValidMbr() -- Validates an MBR sector
  • PartitionValidGptTable() -- Validates a GPT header and partition entries

Dependencies

  • EFI_BLOCK_IO_PROTOCOL -- Parent block device protocol
  • EFI_BLOCK_IO2_PROTOCOL -- Parent block device protocol (async)
  • EFI_DRIVER_BINDING_PROTOCOL -- UEFI driver model
  • EFI_COMPONENT_NAME2_PROTOCOL -- Component name reporting
  • EFI_DEVICE_PATH_PROTOCOL -- Partition device path nodes

Platform

  • Architecture: x86-64 (PE32+)
  • Subsystem: EFI_BOOT_SERVICE_DRIVER (0x0B)
  • Copyright: Intel Corporation
  • License: BSD-2-Clause-Patent
  • Source: MdeModulePkg
  • BIOS: HR650X (HR6N0XMLK)