{"id":23547,"library":"dissect-hypervisor","title":"Dissect Hypervisor","description":"A Dissect module implementing parsers for various hypervisor disk, backup and configuration files (e.g., ESX, Hyper-V, QEMU, VirtualBox). Current version: 3.21. Released as part of the Dissect ecosystem with regular updates.","status":"active","version":"3.21","language":"python","source_language":"en","source_url":"https://github.com/fox-it/dissect.hypervisor","tags":["hypervisor","digital-forensics","dissect","vhdx","esx","qemu","virtualbox"],"install":[{"cmd":"pip install dissect-hypervisor","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency for structure parsing","package":"dissect.cstruct","optional":false},{"reason":"Used for disk volume handling","package":"dissect.volume","optional":false},{"reason":"Required for integration with Dissect target framework","package":"dissect.target","optional":true}],"imports":[{"note":"The package name uses underscores, but imports use dot notation under dissect.hypervisor","wrong":"from dissect_hypervisor import vhdx","symbol":"vhdx","correct":"from dissect.hypervisor import vhdx"},{"note":null,"wrong":null,"symbol":"esx","correct":"from dissect.hypervisor import esx"},{"note":null,"wrong":null,"symbol":"qemu","correct":"from dissect.hypervisor import qemu"},{"note":null,"wrong":null,"symbol":"vbox","correct":"from dissect.hypervisor import vbox"}],"quickstart":{"code":"from dissect.hypervisor import vhdx\n\n# Open a VHDX file\nwith open('disk.vhdx', 'rb') as f:\n    vhdx_file = vhdx.VHDX(f)\n    print('VHDX version:', vhdx_file.header.signature)\n    for stream in vhdx_file.streams():\n        print('Stream:', stream.type)","lang":"python","description":"Basic usage to open a VHDX file and list its streams."},"warnings":[{"fix":"Use the new dot notation: `from dissect.hypervisor import esx`.","message":"In dissect-hypervisor 3.0+, the import path changed from dissect.hypervisor to a flat module structure. Old imports like `from dissect_hypervisor import esx` will break.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Ensure you open the file with `open(path, 'rb')` and handle parent VHDX files separately for differencing disks.","message":"The VHDX parser requires the file to be opened in 'rb' mode, and it does not handle compressed or differencing disks automatically.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate from `from dissect.hypervisor import vhd` to `from dissect.hypervisor import vhdx` for VHDX files. For old VHD, keep using `vhd` but expect removal.","message":"The `vhd` module (for legacy VHD files) is deprecated; use `vhdx` for newer formats.","severity":"deprecated","affected_versions":"<3.20"},{"fix":"Upgrade to Python 3.10 or higher.","message":"Python 3.9 and below are not supported. Requires Python >= 3.10.","severity":"breaking","affected_versions":">=3.0"}],"env_vars":null,"search_vec":"'3.21':25 'backup':12 'configur':14 'current':23 'digit':38 'digital-forens':37 'disk':11 'dissect':1,4,31,40 'e.g':16 'ecosystem':32 'esx':17,42 'file':15 'forens':39 'hyper':19 'hyper-v':18 'hypervisor':2,10,36 'implement':6 'modul':5 'parser':7 'part':28 'qemu':21,43 'regular':34 'releas':26 'updat':35 'v':20 'various':9 'version':24 'vhdx':41 'virtualbox':22,44","created_at":"2026-05-01T08:08:20.966944+00:00","updated_at":"2026-05-01T08:08:20.966944+00:00","problems":[{"fix":"Install with `pip install dissect-hypervisor` and import using `from dissect.hypervisor import vhdx`","cause":"The package is not installed or the import path is wrong (e.g., using dissect_hypervisor).","error":"ModuleNotFoundError: No module named 'dissect.hypervisor'"},{"fix":"Use `from dissect.hypervisor import vhdx`","cause":"The import is incorrect; likely you imported the package but not the submodule.","error":"AttributeError: module 'dissect.hypervisor' has no attribute 'vhdx'"},{"fix":"Merge the differencing disk into a parent first using external tools, or locate the parent VHDX and parse independently.","cause":"The VHDX parser only handles fixed or dynamic disks, not differencing (parent-child) chains.","error":"dissect.hypervisor.vhdx.VHDX does not support differencing disks"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"3.21","cli_name":"dissect.hypervisor","cli_version":"sh: 1: dissect.hypervisor: not found","type":"library","homepage":"https://dissect.tools","github":"https://github.com/fox-it/dissect.hypervisor","docs":"https://docs.dissect.tools/en/latest/projects/dissect.hypervisor","changelog":null,"pypi":"https://pypi.org/project/dissect-hypervisor/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}