A small fix for the pain of Hyper-V and Intel Haxm in Windows 8.1

Some gibberish:

Trying to work on visual studio and android studio at the same time in the same machine is a great pain. By working at the same time i mean use both applications without rebooting the computer. It is possible to have hyper-v enabled and test a windows phone app, also run an android system image. But the problem is that we can not run the faster x86 or x86_64 system images. The only option is to use ARM system images which are really slow.

So it is possible to work in visual studio and make a windows or windows phone app. Also run android apps simultaneously without reboot if one doesn’t care about poor performance of ARM system images.

If we want to work in both android and windows platform we have to make a little sacrifice to work faster. The solutions here can used to run faster x86 or x86_64 system images. We can open both android studio and visual studio, write code but can not run / test them simultaneously.


Possible Solutions:

As far as i know it is not yet possible to run an x86 or x86_64 system images using HAXM in a Hyper-V enabled machine since both use hardware virtualization. In order to use x86 or x86_64 system images there are a few methods such as,

  1. Have hyper-v disabled permanently if you only work on android.
  2. Temporarily disable hyper-v by preventing it from running in startup.
  3. Create a separate boot entry in which the previous one is hyper-v enabled and in the new boot entry is hyper-v disabled. ( I am using this 3rd method )


Hyper-V can’t be turned on Or, Haxm can’t be installed:

For those who are getting error messages and can not enable or install hyper-v or haxm hardware virtualization can be a cause. Hardware visualization must be enabled by the user first to use these technologies. It is enabled by default in most supported machines. If it is turned off then it needs to be enabled in the BIOS. This is also one cause for not being able to use virtual box.


Installing Haxm in a Hyper-V enabled Machine:

Temporarily or, Permanently disable Hyper-V: ( Not recommended )

Follow this tutorial to temporarily or permanently disable hyper-v. Use with caution.

Create a separate boot entry in which the previous one is hyper-v enabled and in the new boot entry is hyper-v is disabled from startup:

Follow this msdn tutorial or, this tutorial by Scott Hanselman to create a separate boot entry for installing Haxm. Haxm can not be installed in the hyper-v enabled boot entry but in the new boot entry with hyper-v disabled Haxm can be installed.


Windows phone XDE emulator and Android Emulator with ARM image working at the same time:

android emulator with android 2.3.3 gingerbread arm system image  a and windows phone 8.1 emulator xde

Here the ARM system image is an old Android 2.3.3 gingerbread since all my new system images are either x86 or x86_64.