I figured out how to directly install unsupported versions of Windows 7 to a fixed size VHD using Firadisk.
I used WinNTSetup to create the VHD and install Windows 7 SP1 Home Premium(64 bit ). I had disable Native Checks by right clicking on the VHD button.
I used the below reg file in the Registry Tweak section of WinNTSetup. I got this after installing Firadisk on a working Windows 7 Ultimate which i installed and booted using native Microsoft VHD Driver.
I am not sure if the entries are hardware specific. I got this idea from this post by Karyonix - http://reboot.pro/to...-disk/?p=123736
I realised that the first set of reg entries are automatically created when firadisk is integrated using dism. So I just had to merge the below entries into the vhd.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\FiraDisk]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\FiraDisk\0000]
"ConfigFlags"=dword:00000000
"Legacy"=dword:00000000
"DeviceReported"=dword:00000001
"Service"="FiraDisk"
"HardwareID"=hex(7):72,00,6f,00,6f,00,74,00,5c,00,66,00,69,00,72,00,61,00,64,\
00,69,00,73,00,6b,00,00,00,00,00
"CompatibleIDs"=hex(7):44,00,45,00,54,00,45,00,43,00,54,00,45,00,44,00,49,00,\
6e,00,74,00,65,00,72,00,6e,00,61,00,6c,00,5c,00,46,00,69,00,72,00,61,00,44,\
00,69,00,73,00,6b,00,00,00,44,00,45,00,54,00,45,00,43,00,54,00,45,00,44,00,\
5c,00,46,00,69,00,72,00,61,00,44,00,69,00,73,00,6b,00,00,00,00,00
"ContainerID"="{00000000-0000-0000-FFFF-FFFFFFFFFFFF}"
"Capabilities"=dword:00000000
"ClassGUID"="{4d36e97b-e325-11ce-bfc1-08002be10318}"
"Driver"="{4d36e97b-e325-11ce-bfc1-08002be10318}\\0001"
"Class"="SCSIAdapter"
"Mfg"="@oem15.inf,%mfakaryonix%;Karyonix"
"DeviceDesc"="@oem15.inf,%firadiskdevice%;FiraDisk Virtual Disk Enumerator"
"ParentIdPrefix"="1&2b2f4947&0"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\FiraDisk\0000\LogConf]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\FiraDisk\0000\Control]
"ActiveService"="FiraDisk"
Once WinNTSetup was done ( I choose not update bootcode as I will be using Grub4Dos to boot ), the VHD was still mounted as Z:.
I used the below command to install Firadisk into the VHD mounted as Z:
dism /Image:Z:\ /Add-Driver /driver:firadisk.inf /ForceUnsigned
Then I used Bootice to load the BCD from the VHD mounted as Z: and checked the Test Mode option. This is required as it is 64 bit and we need to load the unsigned firadisk driver.
The above two steps can be done with WinNTSetup using some command line options,but i haven't tried yet.
Then I used the below Grub4Dos Menu.lst to boot from the vhd. This I copied from menu.lst created by vhd-w7-compact when I used it for Windows 7 Ultimate.
title TEST WIN7 HP Firadisk FILEDISK
find --set-root --ignore-floppies /Win7HP.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /Win7HP.vhd (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/Win7HP.vhd,boot;\n\0
rootnoverify (hd0,0)
chainloader /bootmgr
map --status
pause Press any key . . .
That's it , I was able to boot from this VHD and the installation completed. I am now posting this message from my Windows 7 SP1 Home Premium running from a fixed size VHD using firadisk and grub4dos.
I'll now try to use this VHD to make a portable Win 7 using VHD_W7_Compact and run it from RAM.