Disk Operations Suite

PartitionGuard

Reads a disk image's partition table and checks whether it contradicts itself.

Free right now — no account, no card

Get PartitionGuard free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design PartitionGuard, 1 of 1
Screenshot PartitionGuard running on Windows today

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

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

Recorded terminal session showing PartitionGuard running
A real recorded session — PartitionGuard’s actual output, captured by running the shipped binary.

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