Jan
7
2017

Install and Boot all versions of Windows from VHD using Firadisk

Native VHD boot is currently supported only on certain versions of Windows and is disabled on other versions of Windows. This article/tutorial shows how all versions of Windows 7 can be installed and booted from a fixed size VHD using a free driver called Firadisk built by Karyonix @Reboot.pro.

This article is a continuation of my previous article – Native VHD Boot on unsupported versions of Windows 7, and I suggest you read that before continuing with this article. Please note that this tutorial is meant for advanced users. If you don’t know how to mount an ISO/VHD or are not comfortable installing and using custom bootloaders, then this article is not for you.

User sambul61 @ Reboot.pro has written a similar tutorial using the WinvBlock driver
Install and Boot Unsupported for Native Boot OS from VHD

I have used some information from Karyonix’s tutorials in writing this article- Install Windows 7 from ISO on USB hard disk to SATA hard disk

Firadisk

Firadisk is a File/RAM Disk driver for Windows that emulates SCSI adapter and disk. It can use sector mapped and RAM disk loaded by Grub4Dos in Windows. So a combination of Grub4dos and Firadisk can be used to install and boot from a fixed size Virtual Hard Disk ( VHD )

Advantages and Disadvantages of using Firadisk

  • There is no question of circumventing any licensing policy as we are using a free alternative to the VHD driver
  • No need to disable the Software Protection Service. Hence you should not have any problem with activation
  • It supports only Fixed Size Contiguous VHD. No support for dynamic VHDs.
  • Requires a third party Boot Loader – Grub4Dos

Installing Windows 7 to fixed size VHD using WinNTSetup, Grub4Dos and Firadisk

The below steps were tested on Windows 7 Ultimate 64 bit. Most of the steps are similar to my previous article.

  1. Install Grub4Dos to your Harddisk
  2. Insert your Windows installation DVD or mount Windows Installation ISO using ImDisk.
  3. Download and extract WinNTSetup. Run WinNTSetup_x64 or WinNTSetup_x86 as Administrator depending on your operating system.
  4. Create a VHD by clicking on the VHD button. The VHD drive will be mounted as Z: VHD Create
  5. Select the location of Windows Installation files – choose the sources folder in your Windows Installation DVD or mounted ISO. Select the location of Boot Drive – Your Main Hardisk. Select location of the Installation drive – Your VHD Drive.VHD Install
  6. Create a registry file called FiradiskEnum.reg in a folder and copy the below contents into it. This registry entry is required to load the Firadisk driver during Windows Setup
  7. Click on Tweaks in WinNTSetup and select the folder containing the registry file that you created above. Make sure the folder does not have any other files. In the below screenshot, I have chosen D:\RegTweaks as the location of the FiradiskEnum.reg. You can additionally choose any other tweaks that you want from this page. Once it is done, close this window.

    WinNTSetup Registry Tweaks

  8. If you try Clicking on Setup, you get an Error Message You have a VHD partition selected as installation drive. Only Windows 7/8 Enterprise, Ultimate and Server 2008 R2 can boot from a VHD.
  9. Right click on the VHD and disable the VHD checks.VHD Context MenuDisable VHD Check
  10. Click on Setup and click on OK to start the installation to the VHD.VHD Install Setup
  11. After the installation completes, download and extract the latest version of Firadisk (currently 0.0.1.30 ). Open the Windows Command Prompt as Administrator and navigate to the folder where you have extracted Firadisk. Run the below command to integrate Firadisk Driver using Dism. Replace Z: with the drive letter of your mounted VHD.
    dism /Image:Z:\ /Add-Driver /driver:firadisk.inf /ForceUnsigned
  12. If you are installing a 64-bit version of Windows, then you need to enable Test Mode (testsigning). Bootice – BCD-Other BCD File – Z:\Boot\BCD – Easy Mode – Enable Test Mode
  13. Edit the Grub4Dos menu.lst and add the below entry to boot from the VHD. Replace Windows7.vhd with the actual filename of your VHD.
    title Windows 7 VHD - FiraDisk FILEDISK
    find --set-root --ignore-floppies /Windows7.vhd
    map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
    map /Windows7.vhd (hd0)
    map --hook
    write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/Windows7.vhd,boot;\n\0
    rootnoverify (hd0,0)
    chainloader /bootmgr
    map --status
    pause Press any key . . .
  14. Reboot and select the entry you created above to begin the installation. Once the installation is complete, you can use the same entry to boot from the VHD
  15. If you get the error “File for drive emulation must be in one contiguous disk area”, then you need to defragment the VHD file using a tool like WinContig so that it is contiguous.
  16. WinNTSetup creates an additional entry for the VHD in the Windows Boot Manager and can be removed using Bootice – BCD – Easy Mode, Select the VHD Entry and Press Del
«

About the Author: Bharat Balegere

Bharat Balegere is a 27 year old blogger from Bengaluru. He is a technology enthusiast and loves tinkering with computers and usb drives.

5 Comments + Add Comment

  • Thank you for this excellent tutorial, very easy to follow.

  • I have been reading some of your interesting articles – thank you.

    Your description of Firadisk is: “It supports only Fixed Size Contiguous VHD. No support for dynamic VHDs”.
    But the first image has the “Dynamically expanding” option selected so it’s a little confusing – I assume the image is not correct?

    I’m going to try this Firadisk version and your other VHD how-to (native boot) just for fun!

    I don’t have Win7 installed on my laptop since moving to Linux a couple of years ago so I used Win7 in VirtualBox to create a WinPE and then Rufus to put it on a stick – I’ll be doing everything from that.

    I’d love to read your thoughts on how to boot a VHD from USB using either of your methods… hint hint for another excellent tutorial!

  • Has this been tried for Windows 10? Do I understand correctly that the resulting Windows Image boots to the RAM Drive? (That is ideal for what I’m looking for.)

  • Easy2Boot can directly boot from Windows VHDs (7/8/10) – just copy the file over to the USB drive.
    If you make one using this firadisk method (for Home or Pro) then just copy it to your Easy2boot USB drive and give the file a .vhdfira file extension.

  • can this work with uefi motherboard

Leave a comment