I made a bootable windows 8.1 VHD (two parted: FAT32 and NTFS) image and after booting it from USB, I installed truecrypt 7.1a in it. I had to bring the VHD live using VirtualBox software to do this and then encrypted the system partition (C:) using turecrypt. After reset, the OS comes successfully live with no problem.
But, when trying to boot that VHD using the same USB using Grub4Dos and creating a menu.lst file, the OS shows a BSOD screen after a while and get to reset. I tried the chainloading mechanism by utilizing "TrueCrypt Rescue Disk" image or even a capture of MBR sectors (first 64) caught by BootIce tool. But the problem remained.
I copied the MBR image into the VHD's first partition (made bootable using bcdboot tool) when deploying this technique.
Here is my grub4dos sample I used in USB part. That is, the menu.lst in the root of USB device.
title Portable myvhd.vhd - FiraDisk FILEDISK - 2.5 GB
find --set-root --ignore-floppies /myvhd.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /myvhd.vhd (hd0)
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/myvhd.vhd,boot;\n\0
The menu.lst file inside the first partition of VHD is:
The tc.dat is actually the "TrueCrypt Rescue Disk ISO image" file which was renamed for simplicity.
I made many changes to the scripts, but nothing improved. Surprisingly, the encrypted VHD comes live when attaching it to a VirtualBox VM. I checked the Disk Management app and saw the first partition (FAT32) was of 'system' type. But before encryption, the 'system' partition was put on the USB drive itself. I think this is a key for VirtualBox to be able to boot my VHD and the USB boot process to not be able to boot the VHD.
Any help from you guys