I think the BootConfig code has a problem with the standard windows 7 BCD file, as it causes an exception by only iterating over the different elements and reading their values.
I tested it with a copy paste from the osclone utility commented out the "elem.value = ....." line and wrote this instead:
Guid g = elem.Value.ParentObject;
and opened the BCD File which I copied before under WinPE to a stick, as it is always opened by the system while windows is running.
So a read only access to elem.value causes this exception.
The stacktrace looks as follows:
bei DiscUtils.BootConfig.DeviceElementValue..ctor(Byte value) in ...trunk\\src\\BootConfig\\ElementValue.cs:Zeile 424.
bei DiscUtils.BootConfig.Element.LoadValue() in ...trunk\\src\\BootConfig\\Element.cs:Zeile 326.
bei DiscUtils.BootConfig.Element.get_Value() in ...trunk\\src\\BootConfig\\Element.cs:Zeile 89.
bei vhdEditMBR.Form1.tmp_Click(Object sender, EventArgs e) in d:\\Projekte\\vhdEditMBR\\Form1.cs:Zeile 329.
The exception text is "Unknown device type: 0"
PS: Ken as you might need such a BCD file, I send you one via PM.