fiddyschmitt / clonezilla-util

Mount Clonezilla images in Windows
212 stars 13 forks source link

Unable to mount BitLocker enabled backup #42

Open http403 opened 1 year ago

http403 commented 1 year ago

Version

Windows: 10 22H2 clonezilla-util: 2.0.4

Problem

Neither mount or mount-as-image-files can mount a BitLocker partition.

Step to reproduce

  1. Get a Windows machine
  2. Enable BitLocker on drive
  3. Clone with Clonezilla
  4. Back to Windows
  5. Attempt to mount it

Expected bahavior

Mount the disk for Windows or other decryption tool to decrypt

Actual bachvior

System.Exception: Unknown partclone image version: (undisplable text after b64e: Aw==)

Workaround

None

Command Used:

clonezilla-util mount -i .\laptop-backup -p nvme0n1p3 -m Z:\ --temp-folder E:\temp\
clonezilla-util mount-as-image-files -i .\laptop-backup -p nvme0n1p3 -m Z:\ --temp-folder E:\temp\

Traceback (Both commands have identical output)

``` [22:40:45 INF] clonezilla-util v2.0.4 [22:40:46 INF] [laptop-backup] [nvme0n1p3] Finding optimal decompressor (seekable/sequential) [22:40:57 INF] [laptop-backup] [nvme0n1p3] Loading partition information [22:40:57 ERR] [laptop-backup] [nvme0n1p3] Error while opening partition System.Exception: Unknown partclone image version:  at libPartclone.PartcloneImageInfo..ctor(String containerName, String partitionName, Stream readStream, IPartcloneCache cache) at libPartclone.PartcloneStream..ctor(String containerName, String partitionName, Stream inputStream, IPartcloneCache cache) at libClonezilla.Partitions.PartclonePartition..ctor(String originFilename, PartitionContainer container, String partitionName, Stream compressedPartcloneStream, Nullable`1 uncompressedLength, Compression compressionInUse, IPartitionCache partitionCache, IPartcloneCache partcloneCache, Boolean willPerformRandomSeeking) at libClonezilla.PartitionContainers.ClonezillaImage.<>c__DisplayClass3_0.<.ctor>b__1(String partitionName) [22:40:57 INF] Waiting for Z:\ to be available. [22:40:58 ERR] No partitions to mount. Exiting. ```

Directory layout

``` . ├── blkdev.list ├── blkid.list ├── clonezilla-img ├── dev-fs.list ├── dmraid.table ├── efi-nvram.dat ├── Info-dmi.txt ├── Info-img-id.txt ├── Info-img-size.txt ├── Info-lshw.txt ├── Info-lspci.txt ├── Info-OS-prober.txt ├── Info-packages.txt ├── Info-saved-by-cmd.txt ├── Info-smart.txt ├── nvme0n1-chs.sf ├── nvme0n1-gpt-1st ├── nvme0n1-gpt-2nd ├── nvme0n1-gpt.gdisk ├── nvme0n1-gpt.sgdisk ├── nvme0n1-mbr ├── nvme0n1p3.dd-ptcl-img.gz ├── nvme0n1-pt.parted ├── nvme0n1-pt.parted.compact ├── nvme0n1-pt.sf ├── nvme1n1-chs.sf ├── nvme1n1-gpt-1st ├── nvme1n1-gpt-2nd ├── nvme1n1-gpt.gdisk ├── nvme1n1-gpt.sgdisk ├── nvme1n1-mbr ├── nvme1n1p2.dd-ptcl-img.gz ├── nvme1n1-pt.parted ├── nvme1n1-pt.parted.compact ├── nvme1n1-pt.sf └── parts ```
fiddyschmitt commented 1 year ago

Thanks Hartman,

I would really like to support Bitlockered images. But I need a library which can open them.

Cheers, Fidel

http403 commented 1 year ago

Can just mount it encrypted and let Windows to handle the decryption process? Or the process of mounting a BitLocker image is significanly different than a normal image? I don't quite undersrand what you mean by "open".

fiddyschmitt commented 1 year ago

That's a really interesting idea.

Currently the program uses the Dokan library to create a virtual drive to mount. I have to give Dokan a list of files to show on the virtual drive - I can't just give it a raw img for it to serve to Windows. So I need a way to open BitLocker first, get a list of files, and pass them to Dokan.

But perhaps there's another way. Maybe we can convert the raw img to a VHD. Windows 10 can mount VHD files, and with luck, it should prompt for a BitLocker password to proceed.