# 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)