====== Using dislocker to mount BitLocker encrypted devices on Ubuntu Linux ======
If you have a BitLocker encrypted USB drive, and need to access it on a GNU/Linux machine, you're in luck. There is an utility called Dislocker which can be found at http://www.hsc.fr/ressources/outils/dislocker/
You can install it on Ubuntu with out much effort.
[wpdm_file id=8 title="true" desc="true" ]
The procedure in short (w/o command output):
tplecko@ubuntu-test: /tmp$ http://www.hsc.fr/ressources/outils/dislocker/download/dislocker.tar.gz
tplecko@ubuntu-test: /tmp$ tar -xvf dislocker.tar.gz
If we use FUSE we will be able to mount it and browse it. So let's edit the MakeFile, and set __RUN_FUSE to 1 and __RUN_FILE to 0
tplecko@ubuntu-test: /tmp$ vim dislocker/src/MakeFile
# Choose between one of them (done automatically by using `make fuse' or `make file')
__RUN_FUSE = 1
__RUN_FILE = 0
# NOTE: __RUN_FILE can be a veeeeeeeery long process to complete
Then install FUSE and compile the application:
tplecko@ubuntu-test: /tmp/dislocker/src$ sudo apt-get install libfuse-dev
tplecko@ubuntu-test: /tmp/dislocker/src$ sudo make
tplecko@ubuntu-test: /tmp/dislocker/src$ sudo make install
For decryption you can use the recovery key (decryption key), the user supplied password or the bek file.
Here is my fdisk output:
tplecko@ubuntu-test: /tmp/dislocker/src$ sudo fdisk -l
[sudo] password for tplecko:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000ed70
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 616957951 308477952 83 Linux
/dev/sda2 616959998 625141759 4090881 5 Extended
/dev/sda5 616960000 625141759 4090880 82 Linux swap / Solaris
Disk /dev/sdb: 64.0 GB, 63954747392 bytes
5 heads, 5 sectors/track, 4996464 cylinders, total 124911616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x64d7cf12
Device Boot Start End Blocks Id System
/dev/sdb1 8064 124911615 62451776 7 HPFS/NTFS/exFAT
When we first read the volume we will get a single file, called "dislocker-file", which can be mounted later. The steps are to read the volume, and then mount it with fuse.
tplecko@ubuntu-test: /tmp$ sudo dislocker -v -V /dev/sdb1 -p275374-090651-082764-392205-130460-581966-062942-402083 -- /mnt/tmp
tplecko@ubuntu-test: /tmp$ ls /mnt/tmp
dislocker-file
tplecko@ubuntu-test: /tmp$ sudo mount -o loop,ro /mnt/tmp/dislocker-file /mnt/disk
tplecko@ubuntu-test: /tmp$ ls /mnt/disk/
SecretFiles $RECYCLE.BIN System Volume Information
tplecko@ubuntu-test: /tmp$ sudo dislocker -v -V /dev/sdb1 -uMyPassword -- /mnt/tmp
tplecko@ubuntu-test: /tmp$ ls /mnt/tmp
dislocker-file
tplecko@ubuntu-test: /tmp$ sudo mount -o loop,ro /mnt/tmp/dislocker-file /mnt/disk
tplecko@ubuntu-test: /tmp$ ls /mnt/disk/
SecretFiles $RECYCLE.BIN System Volume Information