PartitionGuard
Reads a disk image's partition table and checks whether it contradicts itself.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get PartitionGuard
Reads a disk image's partition table and checks whether it contradicts itself.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, PartitionGuard is included in every plan along with the rest of the range.
What it reads
Point it at an image file. PartitionGuard decodes the raw bytes: the MBR boot signature and its four primary entries with human names for the common type codes, or the GPT header at LBA 1 with revision, usable range, entry geometry, disk GUID, and per-partition type GUID, unique GUID, decoded attribute bits and UTF-16LE name.
What it checks
verify runs six named checks and marks each PASS, FAIL or SKIP with a reason, so a check that can’t apply never quietly passes. Both CRC32 values are recomputed rather than trusted: the header’s own, with its CRC field zeroed, and the partition array’s. The backup header at the last LBA is read and cross-examined against the primary on disk GUID, usable range, array CRC and the reciprocal LBA pointers. Then no two partitions may share an LBA, and none may run past the end of the image.
Every read is bounds-checked. A truncated or non-disk file gets a clear error rather than a panic.
Strictly read-only
No writes, no repairs, no resizing, no recovering a lost table. It’ll tell you a CRC32 is wrong and stop there. It doesn’t look inside a partition either, so a 0x83 entry is a declaration of intent, not evidence of ext4. Image files, not live devices.
Reading on the job itself
- How to tell whether a drive is failing Back it up first, then measure. A drive that reads at full speed for most blocks and stalls for hundreds of...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working CLI prototype of a real MBR and GPT partition-table parser: it decodes the raw structures, validates both GPT CRC32s, cross-checks the backup header, and reports overlapping or out-of-bounds partitions. Verified field-for-field against sgdisk and sfdisk — including UTF-16LE partition names — and a single flipped bit was caught, with gdisk's own verifier agreeing. Strictly read-only: the source contains no write calls at all.
Recorded session
Naming status
Working name only — brand verdict **CAUTION** (Medium). Collision: PartitionGuard. Prefer a more distinctive software mark.
What it draws on
Existing paid software whose best ideas shaped this program: EaseUS Partition Master Professional, AOMEI Partition Assistant Professional, DiskGenius Professional, Hard Disk Sentinel Professional.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
partitionguard - read-only MBR / GPT partition table parser
USAGE
partitionguard <command> <image> [options]
COMMANDS
info Detect the partitioning scheme and report GPT header fields,
including header and partition-array CRC32 validation.
list List every partition: start/end LBA, sector count, size and type.
verify Run structural checks (CRC32s, primary vs backup GPT header,
partition overlap, partitions past end of image, MBR signature).
help Show this message.
OPTIONS
--json Emit machine-readable JSON instead of text.
--sector-size <n> Logical sector size in bytes (default 512).
-h, --help Show this message.
EXIT STATUS
0 success (for verify: every check passed or was skipped)
1 usage error, or the image could not be read or parsed
2 verify only: at least one check FAILED
NOTES
partitionguard never writes to the image it inspects; it opens the file
read-only and performs bounds-checked reads.
EXAMPLES
partitionguard info disk.img
partitionguard list disk.img --json
partitionguard verify disk.img
partitionguard list disk.img --sector-size 4096
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan