VHD
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.
VHD/VHDX Disk Preview.
At a glance
| Purpose | A Virtual Hard Disk (VHD) image: fixed, dynamic or differencing, with a footer and, for dynamic disks, a header and block table. |
| Extensions | .vhd |
| Poka parser | poka-vhd |
| 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-vhd/src/main.rs (618 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.vhd, read by no test. Covers .vhd. The tree reads the footer (type, current and original size, geometry, creator application, version and host OS, format version, timestamp, features, saved state, checksum, UUID) and for dynamic and differencing disks the dynamic header (block size, table entries and offset, parent name, UUID and time). Judgement: B4 rather than B5: the footer and header 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 is located, not read
- Parent locator entries are not decoded beyond the parent name
- The checksum is shown, not verified (judgement from the code)
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- vhd (candidate; Apache-2.0; Rust; https://github.com/SecurityRonin/vhd) — VHD footer/reader — repository not found on GitHub (2026-09-29)
Sources
- parsers/poka-vhd/src/main.rs
- parsers/poka-vhd/plugin.json