For UEFI firmware · 0.2.1

Partition disks before any OS is there.

A partition manager with a window, used with the mouse or the keyboard. One file, partmgr.efi, started from the firmware boot menu or a UEFI shell.

type
The Type list of partmgr
partmgr.efi · blk3
The partmgr window with a GPT disk drawn to scale and a new partition marked with a star
write
The red Write question

One file

partmgr.efi is the whole program.

Before any OS

It runs in the firmware, on a disk that may still be empty.

A real window

With the mouse, or the keyboard.

Nothing written

Until you say so, with Write.

Features

Below the operating system.

For people who set up, repair or test machines.

A window and the mouse

A graphical window at the screen’s own resolution, with sharp text from 640 × 480 up (tried up to 3200 × 1800), used with the mouse or the keyboard. It drives a USB mouse itself when the firmware cannot; where there is no graphics screen, text screens do the same.

GPT and MBR, read and written in full

MBR with primary, extended and logical partitions. GPT with both copies checked and, when written, repaired.

See first, write later

Every change shown and marked with a star; the disk changes only on Write, after a red warning confirmed with Y or Yes.

Backup and restore

The partition table to a small file, restored byte for byte.

Wipe

Random data, then zeros, with a progress bar, the speed and the time left.

Readable

Types from a list; sizes such as 512M, 1.5G or rest; notes on damaged or unusual tables.

Safe by design

The disk partmgr was started from is never written.

No EDK2 code

Written from scratch, with its own UEFI definitions, runtime and build tools.

Screens

Real screens, version 0.2.1.

Taken in QEMU by the project’s own tool, at 1024 × 768.

Safe by design

See first. Write later.

The Write question, word for word

Write the GPT table to blk3 (512.0 MiB)? (Y/N)

In red, one line. Y or Yes writes; Enter does nothing there.
  • Every change on the screen firstMarked with a star; the disk changes only on Write.
  • The boot disk is never writtenThe disk partmgr was started from is read-only.
  • Backup and restoreB saves the table to a small file; S restores it byte for byte.
Not tried on real hardware yet

Tested in QEMU, said honestly.

Tested automatically in QEMU with OVMF firmware, and on disk images whose tables are checked by sfdisk and parted.

498partition-table checks, all passing
34graphics checks, all passing

It has not been tried on real hardware yet. Until it has, use it on disks whose contents you can afford to lose, and make a backup (key B) first.

Tried it on a real machine? Send a report.

A machine where everything worked is as useful a report as one where nothing did.

Send a report →
Get it

One file. Copy it, start it.

partmgr.efi
Version 0.2.1 · about 782 KB
Download partmgr.efi →
sha256sum -c --ignore-missing SHA256SUMS

From the firmware boot menu

Copy it to a FAT-formatted USB stick as \EFI\BOOT\BOOTX64.EFI, and choose the stick in the firmware boot menu.

From a UEFI shell

Copy it next to a UEFI shell, and start it from the shell’s prompt.

Secure Boot

With Secure Boot active, sign it first with a key the machine trusts (see the user manual).

Licence

Freeware.

Free

To use, also at work and as a tool in paid work; to copy and give away unchanged, also in free collections of tools; to sign for Secure Boot.

With a written licence

Selling it, including it in a product or service that is sold, modifying it, decompiling it beyond what the law allows. Write to efipm@nicfio.it.

Version 0.2.1 was released under the Apache License 2.0 with the Commons Clause, and keeps it; the freeware licence applies from the next version.