When Windows is installed it searches it's driver database and installs the appropriate HBA driver so the boot loader can access the drive and boot the system. When an image is taken and cloned to a machine of an incompatible HBA type, Windows will fail to boot with a 7B (inaccessible boot device) error because it doesn't rescan for HBAs every boot.
What are ways of getting a Windows image that was created on a machine with one HBA type to clone onto another with an incompatible HBA type? For example non AHCI to AHCI, RAID to non-RAID, IDE to SCSI, etc...
- Free methods are preferable.
- The image can't be pre-syspreped and loaded with drivers for a bunch of different HBA types.
- I also may not have the system type the image was taken from in the first place.
- I'd like to stay away from the Windows repair approach because I think that makes other changes other than just fixing the HBA driver (if it even does fix the HBA driver).
The only way I've been able to get this to work is to:
- Install a fresh copy of Windows onto the machine I'm cloning to. F6 driver additions added if required.
- Extract the
CriticalDeviceDatabaseregistry information and driver sys files with a script I wrote.
- Image over the machine with the incompatible image.
- Boot up into ERD commander and attach to the Windows install and import the registry data and driver files I previously extracted.
This typically works however it's not particularly easy and ERD commander is aging. It's not even based on WinPE.
The reason I use ERD commander is that it can attach to the registry hive with read/write access and has read/write access to the disk. I use both of these capabilities to import registry data and driver files.
So far this approach has generally worked for me however I want to see what other ways people have to solve this problem considering the constraints I've listed.