what validates Windows Edition for native vhd booting???

Discussion in 'Windows 7' started by stayboogy, Feb 3, 2015.

  1. stayboogy

    stayboogy MDL Addicted

    May 1, 2011
    712
    116
    30
    Does anyone know what files are responsible for verifying the Windows 7 Edition when trying to boot 7 from a VHD???

    Windows 7 boot manager will boot a vhd, even without a host os installed; however, if the windows version on the vhd is not enterprise or ultimate a licensing error will occur at boot time.

    What determines the version and then either accepts or rejects the boot??? I'd like to find out so that I could possibly spoof this in order to boot a lower version like home basic or home premium from the vhd.


    Any info greatly appreciated.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. stayboogy

    stayboogy MDL Addicted

    May 1, 2011
    712
    116
    30
    I'm bumping this since no one has responded...

    since the post above i have I have looked at the certificate in Windows\system32\spp\tokens\ppdlic\

    Security-SPP-Component-SKU-Ultimate-ppdlic.xrm-ms

    this file has a string <sl:policyInt name="Kernel-NativeVHDBoot" attributes="reboot-required, override-only">1</sl:policyInt>
    and in other editions it is set to 0

    changing this in the certificate to 1 in other editions does nothing

    what i have found out is that the vhdmp.sys (the windows 7 vhd driver) is actually the same across versions--the hashes are exactly the same.

    however, the hashes for vhdmp.PNF are different across versions. I'm going to change them out and see what happens...


    if anyone has any info on this please share
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. stayboogy

    stayboogy MDL Addicted

    May 1, 2011
    712
    116
    30
    over 200 views and no one has anything to add... ???

    anyway, so this is what all i have done to try to get native vhd booting working with a lower windows 7 edition:

    i have edited the Security-SPP-Component-SKU-<version>-ppdlic.xrm-ms cert

    i have replaced the vhd driver, its .inf and .pnp

    i have added the missing virtdisk files from ultimate to other version

    i have edited the Versions.xml (ie. Ultimate.xml, Professional.xml, etc) in the %SystemRoot%)

    i have even replaced the kernel using the one from ultimate


    Nothing has made native vhd booting possible on a lower edition.

    i've almost come to the conclusion that i'm going to have to write my on vhd driver and bootloader, which is something i'm not really well versed in but i'm willing to try.

    it may be the only solution, unless someone can help me track down what exactly is verifying the windows edtion and then stopping the boot process. i suppose it could be locked down in bootmgr but i'm really doubting this because i've tried booting an xp vhd that had windows 7 bootloader and it passes initial chainloading of bootmgr and then goes on to winload.exe and halmap.

    i just can't seem to figure out what is doing the verifying. it seems it will be quite easy to spoof if the file/files/process in question can be identified.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. bbalegere

    bbalegere MDL Novice

    Sep 20, 2009
    23
    9
    0
    It is definitely possible.

    In short you need to do this

    1. Create and Install Windows 7 Professional ( or any other unsupported Win 7 version ) to dynamic VHD using WinntSetup.
    2. Reboot from the VHD and the Sysprep and Window 7 Setup will continue.After the setup is complete and when you try to login, you get an error "License error: Booting from a vhd is not supported on this system"
    3. Reboot into your main OS and mount the VHD. Using forums.mydigitallife.net/threads/39411-Windows-Product-Policy-Editor to set Kernel-NativeVHDBoot to 1. Also Load the System Registry hive from the VHD and disable sppsvc service.
    4. Reboot into your VHD and you should be able to start using it.


    Take a look at this for a detailed tutorial.

    agnipulse.com/2016/12/native-vhd-boot-unsupported-versions-windows-7/
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. bbalegere

    bbalegere MDL Novice

    Sep 20, 2009
    23
    9
    0
    There is some discussion on this here as well

    forums.mydigitallife.net/threads/28130-Windows-7-native-VHD-boot/

    reboot.pro/topic/15407-booting-from-vhd-in-grub4dos/page-4#entry193599
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. bbalegere

    bbalegere MDL Novice

    Sep 20, 2009
    23
    9
    0
    Considering the above approached required disabling of sppsvc, there is an alternative free driver called Firadisk, which can be used to boot all versions of Windows from a fized size VHD.

    Detailed steps are outlined here - agnipulse.com/2017/01/install-boot-all-versions-windows-vhd-using-firadisk/

    The other alternative could be to use WinvBlock - reboot.pro/topic/15997-install-and-boot-unsupported-for-native-boot-os-from-vhd/

    More detailed on Firadisk here - reboot.pro/topic/8804-firadisk-latest-00130/
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...