October 2026 Update: Encrypted ZFS, dRAID, VMware/VirtualBox Encryption, and RAID Reconstruction ImprovementsWe've released new versions of Hetman RAID Recovery and Hetman Partition Recovery, with several additions related to encrypted storage, RAID reconstruction, and virtual machine disk recovery. I'd like to share the main technical changes and some of the recovery scenarios we've been testing in our lab.
1. ZFS Native Encryption and dRAIDWe've added support for native ZFS encryption, including:
- AES-128/192/256-CCM and AES-128/192/256-GCM.
- Unlocking with passwords or RAW/HEX key files.
- Separate and inherited encryption keys.
- Encrypted datasets, snapshots, clones, and ZVOLs.
We also added support for ZFS dRAID1, dRAID2, dRAID3, and RAIDZ Expansion. We tested encrypted ZFS recovery on FreeBSD 15.1 using two configurations.
Test A: Deleted files and destroyed encrypted ZFS poolsWe created three separate ZFS pools on GPT partitions of a physical disk, using native ZFS encryption on their root datasets. One was unlocked with a password, another with a key file, and the third used a different password. After deleting files, we exported the first two pools. For the third, we executed
Code:
zpool destroy
and then deleted its GPT partition.
We connected the physical disk in read-only mode to a Windows 10 VM running under bhyve. Hetman Partition Recovery detected all three pools, including the destroyed one, unlocked their encrypted data, and found existing and deleted files. Fast Scan was sufficient in this test.
Test B: Encrypted dRAID1 with one missing diskWe configured four physical disks with three separate dRAID1 pools. Each used two data columns, one parity column, and distributed spare capacity equivalent to one member. All three pools used native ZFS encryption with AES-256-GCM.
We tested three failure scenarios:
- Deleted files on an encrypted dRAID1 pool.
- A destroyed pool with its GPT partitions deleted.
- Deleted files with two earlier dataset snapshots available.
For recovery, we connected only three of the four physical disks. Hetman RAID Recovery automatically identified all three dRAID1 pools, including the destroyed one, and marked the unavailable member as missing. After unlocking the encrypted data, we could browse existing and deleted files and access files from the earlier snapshots, without rebuilding the array.
These experiments used encryption configured on the root datasets. More tests involving separate encryption roots, inherited keys, clones, and encrypted ZVOLs are planned.
2. Encrypted VMware Workstation and VirtualBox DisksWe've added support for encrypted virtual disks created by VMware Workstation and Oracle VirtualBox, including their snapshot chains.
VMware Workstation testWe created a fully encrypted VMware Workstation VM with two additional NTFS disks, one preallocated and one sparse. After creating two snapshots and deleting some files, we deliberately overwrote both the primary and backup NTFS boot sectors on the preallocated disk. Windows could no longer recognize its filesystem.
Hetman Partition Recovery opened the encrypted VM disks using the VM folder and password. Full Analysis located the damaged NTFS filesystem and its files. We also accessed the earlier encrypted disk snapshots and recovered files without starting or reverting the VM.
VirtualBox testWe created nine encrypted virtual disks using VDI, VHD, VMDK, HDD, QCOW, and QED formats, covering preallocated and dynamically allocated storage. We created two snapshots, added and deleted files, and then analyzed the encrypted disk images directly. The software identified the disk and snapshot relationships, unlocked the encrypted data, and allowed us to examine files from both snapshots and the current state. One implementation detail worth mentioning: a VMDK encrypted by VirtualBox must be handled using VirtualBox's encryption mechanism, not VMware's, even though the underlying disk image format is VMDK.
3. RAID Constructor: Detecting RAID Configurations with Encrypted VolumesPreviously, RAID Constructor could search for unknown RAID parameters, including disk order, block size, data offset, and layout, by testing candidate configurations against recognizable filesystem structures. This becomes more complicated when the logical volume on top of the RAID is encrypted.
We've extended the detection algorithm to handle encrypted volumes, including LUKS, BitLocker, ZFS Native Encryption, and encrypted APFS. When evaluating a candidate RAID configuration containing encrypted storage, the software can request the required password or key, unlock the volume, and examine the underlying filesystem to help validate the candidate.
This functionality is available during automatic parameter detection and in RAID Constructor's manual reconstruction workflow. The important distinction is that the RAID itself is reconstructed first. Encryption is applied to the logical volume above the RAID members, rather than independently to each member disk.
We've previously demonstrated reconstruction of Linux MD RAID6 and LVM RAID6 configurations with LUKS2 and fscrypt, including scenarios with two missing disks. The new functionality extends RAID parameter detection by allowing encrypted volumes to participate in candidate validation.
4. LUKS1/LUKS2 with Detached HeadersWe've also added support for LUKS1 and LUKS2 volumes created with a separate header file. This allows the software to work with configurations where the LUKS metadata is stored separately from the encrypted data area, provided the required header and unlocking credentials are available.
5. Other ChangesThis release also includes:
- Linux LVM snapshot support.
- QEMU QED and oVirt disk image support, including oVirt snapshots.
- Improvements to NTFS and Ext3/Ext4 journal analysis.
- Improved fscrypt key-file handling.
- Several APFS/FileVault fixes and faster APFS scanning.
- A refreshed interface with improved HiDPI and Retina scaling support.
For reference, here's an already published example of our existing RAID + LVM + LUKS + QCOW2 recovery workflow on RHEL 7.9, including internal QCOW2 snapshots:
KVM/QEMU recovery experiment on RHEL 7.9This video demonstrates an earlier recovery workflow, not the newly added encryption features.
I'd be interested in technical feedback from people working with encrypted storage and complex RAID configurations.