VMDK
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.
VMDK Disk Preview.
At a glance
| Purpose | A VMware virtual disk (VMDK): a text descriptor, a hosted sparse extent with an embedded descriptor, or an ESX COW disk. |
| Extensions | .vmdk |
| Poka parser | poka-vmdk |
| 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-vmdk/src/main.rs (676 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.vmdk, read by no test. Covers .vmdk. The tree reads the first 64 KiB: the sparse header (capacity, grain size, flags, grain-table entries, descriptor and grain-directory offsets, overhead, unclean shutdown) and the text descriptor (version, CID and parent CID, create type, adapter, hardware version, geometry, UUID) with its extent lines. Judgement: B4 rather than B5: the header and descriptor 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
- Grain directories and tables are located, not read
- COWD (ESX) disks are named but their header is not decoded
- Extents in other files are named, not opened
- Stream-optimised (compressed) grains are not decoded
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- vmdk (candidate; MIT (crate), Apache-2.0 (repo); Rust; https://github.com/SecurityRonin/vmdk) — descriptor parser
Sources
- parsers/poka-vmdk/src/main.rs
- parsers/poka-vmdk/plugin.json