We recently had an issue while testing MBAM (Microsoft BitLocker Administration and Monitoring). We were using VMware Mirage to upgrade the Windows XP clients to Windows 7. We configured MBAM on a Windows 2012 server with all the default, out-of-box settings. We used a very simple GPO to enable encryption (TPM Only). The VMware mirage upgraded the client without any errors. In the MBAM log (Event Viewer -> Applications and Services log -> Microsoft -> MBAM) I noticed an error;
SystemVolume is needed to encrypt the operating system drive.
This seemed logical. Windows XP doesn’t have a System Volume. Mirage only updates the “Current Partition” and doesn’t repartition the drive. So you get a Windows 7 hard drive, with a Windows XP partition style (single partition). Running this command creates a system partition;
%windir%\system32\bdeHdCfg.exe -target default -size 300
It appends the partition at the end of the drive (\Device\HarddiskVolume2). Now, after a reboot, I was getting another error in the event log;
The path specified in the Boot Configuration Data (BCD) for a BitLocker Drive Encryption integrity-protected application is incorrect. Please verify and correct your BCD settings and try again.
This was a bit more easier to solve with Microsoft Support article 929834. Basiclly you run the following command;
bcdedit -enum all
This will enumerate the boot configuration data store. Look for the following entries and the associated device;
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume1 Windows Memory Tester --------------------- identifier {memdiag} device partition=\Device\HarddiskVolume1 Resume from Hibernate --------------------- identifier {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx} device partition=C:
Your system obviously will either have an incorrect devices, or the device is blank for the entry. First you will need to identify the system partition. Since this drive isn’t assigned a drive letter, you need to find its device name. There is a handy trick using DD on this website, or if you are feeling lucky, you can guess like I did!
I guessed that my new system partition that I just created was \Device\HarddiskVolume2, so to set the Boot Configuration Data (BCD) for BitLocker, I ran the following commands;
bcdedit -set {bootmgr} device partition=\Device\HarddiskVolume2 bcdedit -set {memdiag} device partition=\Device\HarddiskVolume2 bcdedit -set {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx} device partition=C:
As you notice, the long GUID for the identifier on the last line. That should be the identifier from the Resume from Hibernate section that is within the output of “bcdedit -enum all”.
The targets should be;
bootmgr = System Volume memdiag = System Volume Memory Tester = Boot Volume
In this case, my Boot Volume was C: and my System Volume was \Device\HarddiskVolume2. Your millage may very…
Cris.