Found this on another forum and thought I'd post it here.
Turns out it was so simple it was downright stupid.
I was put onto the idea on another forum.
When I did it my thoughts were "This is so stupid, how did it do that?"
That is why I didn't post the solution straight away.
I wanted to make sure it wasn't a fluke, and reboot the Surface a few times and then run the battery completely flat to make sure the setting stuck.
The steps are
Step 1
Install AMIDuOS (An Android Emulator)
Trial version is ok as that is what I used today.
Step 2
Run it, you will get the error about VT being disabled.
Leave it running and play around with it for 5 minutes.
Step 3
Shut it down, and reboot your Surface 3.
When you boot back up Firmware support for VT will now be enabled.
Run CheckSLAT or some similar program to confirm and you still see hardware assisted virtualization is now enabled.
Now I am sure you are thinking that I am bullshitting here.
And I completely understand why as what I have posted here sounds crazy.
But that is honestly all I did to enable hardware assisted virtualization on my Surface 3.
I ran CheckSLAT before I started and it confirmed that VT support was in the CPU but disabled in Firmware.
And after doing the steps CheckSLAT reported VT all enabled.
I don't know what AMIDuOS does, but somehow it flips the registry bit in the UEFI firmware to enable VT instructions. (I knew it was only a single bit that need to be flipped but I didn't know how to achieve it until now)
AMIDuOS should not be able to achieve it but somehow it does it.
The other question is if you want to is how would you disable it again.
That I have no idea on, but in reality it doesn't matter anyway if VT is enabled and just not used so it is an academic question.
EDIT:
I will add though I would not recommend using Hyper-V as your Hypervisor even though you now can.
Installing Hyper-V disables some of the more advanced low power states and standby states so will effect your battery life.
There are other Virtual Machines though that do not have this issue. (I use VMWare for example)
Turns out it was so simple it was downright stupid.
I was put onto the idea on another forum.
When I did it my thoughts were "This is so stupid, how did it do that?"
That is why I didn't post the solution straight away.
I wanted to make sure it wasn't a fluke, and reboot the Surface a few times and then run the battery completely flat to make sure the setting stuck.
The steps are
Step 1
Install AMIDuOS (An Android Emulator)
Trial version is ok as that is what I used today.
Step 2
Run it, you will get the error about VT being disabled.
Leave it running and play around with it for 5 minutes.
Step 3
Shut it down, and reboot your Surface 3.
When you boot back up Firmware support for VT will now be enabled.
Run CheckSLAT or some similar program to confirm and you still see hardware assisted virtualization is now enabled.
Now I am sure you are thinking that I am bullshitting here.
And I completely understand why as what I have posted here sounds crazy.
But that is honestly all I did to enable hardware assisted virtualization on my Surface 3.
I ran CheckSLAT before I started and it confirmed that VT support was in the CPU but disabled in Firmware.
And after doing the steps CheckSLAT reported VT all enabled.
I don't know what AMIDuOS does, but somehow it flips the registry bit in the UEFI firmware to enable VT instructions. (I knew it was only a single bit that need to be flipped but I didn't know how to achieve it until now)
AMIDuOS should not be able to achieve it but somehow it does it.
The other question is if you want to is how would you disable it again.
That I have no idea on, but in reality it doesn't matter anyway if VT is enabled and just not used so it is an academic question.
EDIT:
I will add though I would not recommend using Hyper-V as your Hypervisor even though you now can.
Installing Hyper-V disables some of the more advanced low power states and standby states so will effect your battery life.
There are other Virtual Machines though that do not have this issue. (I use VMWare for example)