poka.sh

Docs

VHDX

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

VHDX Disk Preview.

At a glance

Purpose A Hyper-V virtual disk (VHDX): headers, region tables, a metadata region and a block allocation table on 1 MiB-aligned regions.
Extensions .vhdx
Poka parser poka-vhdx
Viewer poka-tree-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-vhdx/src/main.rs (585 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.vhdx, read by no test. Covers .vhdx. The tree reads the first 2 MiB: the creator string, both headers (the active one by sequence number, with GUIDs and log version), the region tables and the metadata items (virtual size, block size, logical and physical sector size, disk ID, differencing flag). Judgement: B4 rather than B5: the headers and metadata are decoded, but the disk's contents are not.

What Poka does not read

  • The virtual disk's contents (partitions, file systems, files) are not read
  • The block allocation table and the log are located, not read
  • Parent locators of differencing disks are not decoded
  • Header and region checksums are not verified
  • A metadata region beyond the first 2 MiB is not reached (judgement from the code)

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • vhdx-core (candidate; Apache-2.0; Rust; https://docs.rs/crate/vhdx-core/0.4.1) — Pure Rust read-only VHDX reader (dynamic, fixed, differencing, log replay) with Read+Seek view; imported as vhdx.
  • vhdx-rs (candidate; MIT; Rust; https://github.com/inschrift-spruch-raum/vhdx-rs) — Library with companion vhdx-tool CLI; version 0.2.0; docs.rs summary does not state write support explicitly.
  • libvhdi (candidate; LGPL-3.0-or-later; unknown; https://github.com/libyal/libvhdi) — libyal library reading VHD and VHDX; page does not state implementation language; has Python bindings (pyvhdi).
  • vhdx-forensic (candidate; Apache-2.0; Rust; https://github.com/SecurityRonin/vhdx-forensic) — Forensic integrity analyzer for VHDX (Hyper-V) virtual disks — tamper/anomaly findings and in-memory repair, built on vhdx-core; v0.3.2, updated 2026-08-07; matched on lib.rs, not tested

Sources

  • parsers/poka-vhdx/src/main.rs
  • parsers/poka-vhdx/plugin.json