I blogged my frustration with upgrading Windows 8.1 VHD-Boot instance to Windows 10 Technical Preview earlier today . Now I need to warn about another caveat installing Windows 10 TP in a virtual environment, whether directly in a VM or as VHD-Boot setup.
The Picture above shows a typical error Windows 10 TP throws after you’ve installed in a Virtual Environment without activating Execute Disable bit (EDB) or NX (No-eXecute) in your BIOS/UEFI. Every modern CPU comes with this security feature to prevent Software from executing data in the memory. It is the security feature against malware abusing memory leaks prevalent in badly written software. Lets face it, there will always be memory leaks because apps crashing, or your popular “freeware” is actually a Trojan or for whatever reason. This leaves the system open to exploits.
Up till now Microsoft have always allowed this feature to be an Opt-In feature, that is you have to choose intentionally to activate this feature in your hardware. But from Windows 10 TP onward, this feature is required in the VM environments. The need to activate this is not far-fetched since you have multiple VMs interacting with the same memory resource at metal level.
Therefore, if you don’t have this activated in the BIOS/UEFI, you will get that error shown in the picture above thrown. Your problem now comes with you try to install on a device that was made before Execute Disable bit was introduced. In my case I have my granddaddy tablet HP’s TC1100 running Windows 8.1U1 and I tried to VHD-boot it to Windows 10TP and I got a similar error as above. Problem in my case like I said, this is tablet created when Dinosaurs walked the earth. It doesn’t have NX bit at all. Conclusion, I will not be able to install Win10TP on it in any VM setting. Period.
I am only curious if it will allow me to install Win10 on it in full metal when the OS goes live. I guess will see. For now, you know you need NX bit if you want to run Win10 in a virtual environment.