I thought I'd be clever and use disk2vhd at the end of my contract to backup my machine so I could easily restore it when I started my new contract, no matter what the buffoons had done with it in the meantime. I didn't count on them losing it.
I'm trying to boot this new machine from the VHD. I get the windows logo and then a 07B bluescreen error, something to do with the disk, and it won't boot even in safe mode. The cure apparently is to run sysprep but I can't run that unless I can boot into the VHD so...
I can mount the disk, is there a way to modify it
Just for the audience, even though it doesn't really help you, the easiest way to deal with this problem is to generalize the image before you take a snapshot of it. This means changing to a generic storage driver, probably the Microsoft parallel IDE driver, which will run on almost anything.
After the fact, you can use dism.exe to install a driver package into an off-line image. You might need imageex and the OEM Preinstallation KIT (OPK) to get your Windows installation into a state where it will boot on the machine that you're targeting.
By the way, your question has nothing to do with VHDs, except that's how you got to where you are. You're really asking a question about making a Windows installation portable between machines. These same issues come up if you move a physical hard drive from one machine to another, or if you use simplistic backup tools to put an image on a new machine.
Your best and least painful option, by the way, is to find a machine that is physically very close to the one that you were using when you built your image and boot it on that. Then you can more easily enable the storage drivers for the machine that you actually want to use.