1. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Hyper-V e Intel HAXM
Neste texto iremos tratar de dois softwares utilizados para virtualização, o Hyper-V da
Microsoft e o Intel HAXM (Intel Hardware Accelerated Execution Manager). O Hyper-V é
utilizado para criar máquinas virtuais com diferentes sistemas operacionais, ele prove recursos
para criação e gerenciamento dessas máquinas virtuais. Já o Intel HAXM é utilizado para
acelerar o emulador do sistema Android que utilizam processadores Intel.
Ativando a virtualização
Nas máquinas em que a virtualização é possível, é necessário primeiro ativar o recurso
na BIOS, como cada fabricante tem um formato de interface na BIOS, fica difícil mostrar aqui
o caminho exato, mas de forma geral, acesse a BIOS do computador e procure algo que seja
similar a VT ou Virtualization (figuras 1, 2 e 3). Ao achar essa opção, deixa-a habilitada.
Figura 1. Virtualization Technology
Figura 2. CPU Virtualization
Figura 3. Virtualization
2. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Qual ferramenta usar, Hyper-V ou Intel HAXM?
O Intel HAXM é indicado para o emulador do Android, se você for desenvolver
aplicativos para esse sistema, é recomendado que você utilize o Intel HAXM para acelerar o
emulador.
Para aqueles que precisam trabalhar com máquinas virtuais ou principalmente,
desenvolver aplicativos para a plataforma Windows Phone, é necessário habilitar o Hyper-V.
O GRANDE PROBLEMA é que esses programas não podem rodar ao mesmo tempo,
ou seja, se tiver o Hyper-V habilitado o Intel HAXM não funciona e vice-versa.
Você deve primeiro analisar o seguinte, se for desenvolver aplicativos nativos para cada
uma das plataformas (Android e Windows Phone), continue lendo este tutorial, se o seu caso
for desenvolver somente para UMA dessas plataformas, habilite somente uma (Intel HAXM
para Android OU Hyper-V para Windows Phone) e seu problema estará resolvido e não
precisa continuar lendo esse texto.
Instalando o Intel HAXM
O tutorial oficial para instalação do Intel HAXM pode ser encontrado no link
(https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-
accelerated-execution-manager-windows), mas vamos tentar simplificar o processo passo a
passo.
1º Passo: você pode baixar essa ferramenta quando estiver configurando o Android SDK na
sua máquina (marque a opção na sessão de Extras do SDK Manager, figura 4) OU pode fazer
o download do instalador manualmente no link (https://software.intel.com/en-
us/android/articles/intel-hardware-accelerated-execution-manager)
Figura 4. Ativando o Intel HAXM com o SDK Manager
2º passo: se você optou em fazer o download pelo SDK Manager, localize a pasta extras
dentro da pasta do SDK do seu Android, procure pelo arquivo .EXE do Intel HAXM e execute.
Geralmente o caminho é algo parecido com isso: C:pasta de instalação do
androidsdkextrasintel...
3. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Caso tenha feito o download manualmente, descompacte o arquivo e execute o instalador.
A instalação é muito simples (figura 5), basta clicar no botão Next e instalar. Será solicitado o
tamanho da memória RAM para a máquina virtual, aconselhamos que você deixe o valor
padrão.
Figura 5. Instalação do Intel HAXM
Se durante a instalação der o erro da figura 6, verifique os seguintes pontos:
1 – Se a sua máquina permite virtualização
2 – Se você ativou a virtualização na BIOS
3 – Se o HYPER-V está DESABILITADO, veja neste tutorial como habilitar e desabilitar
o Hyper-V através do prompt de comando.
Figura 6. Erro na instalação do Intel HAXM
4. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Habilitando/Desabilitando o Hyper-V (Painel de Controle)
Se você for trabalhar com máquinas virtual ou principalmente desenvolver para
Windows Phone com o Visual Studio, será necessário habilitar o Hyper-V, veja como fazer no
passo-a-passo a seguir:
1º Passo: acesse o Painel de Controle e a opção Programa
2º Passo: clique em Ativar e Desativar recursos do Windows (figura 7)
Figura 7. Ativar e desativar recursos do Windows
3º passo: MARQUE a caixa de verificação do Hyper-V para HABILITAR (figura 8), ou
DESMARQUE a caixa para DESABILITAR.
4º passo: após alguns minutos, será solicitado para reiniciar o computador, somente após
reiniciar o computador é que o Hyper-V será habilitado realmente.
Figura 8. Habilitar e desabilitar o Hyper-V
5. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Como manter as duas ferramentas rodando?
As ferramentas citadas nesse tutorial, são mutualmente exclusivas, ou seja, não podem
rodar ao mesmo tempo.
A primeira solução para o problema, como já foi mencionado, é você analisar sua
necessidade em ter as duas, se for necessário somente uma delas, seu problema é fácil de
ser resolvido, basta desabilitar uma para a outra rodar.
Agora se você precisa utilizar as duas (obviamente não no mesmo tempo), iremos dar
algumas sugestões de como resolver o problema, essas soluções foram compiladas a partir
de diversos tutoriais disponíveis na web, a maioria em inglês, como por exemplo o tutorial
(http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/04/14/creating-a-no-hypervisor-boot-
entry.aspx) ou (http://udhyantimilsina.com/2015/03/11/solved-how-to-fix-intel-virtualization-
technology-vt-x-error-to-setup-haxm-for-hyper-v-sytem-or-emulator/).
Verificando as opções de boot do Windows
Para realizar qualquer uma das opções abaixo, você deverá executar o arquivo
BCDEdit (principal ferramenta para edição de configuração de inicialização do Windows). Para
utilizar essa ferramenta, é necessário ter privilégios de Administrador, para isso, localize o
prompt de comando (CMD), clique com o botão direito do mouse sobre ele e execute como
Administrador (figura 9).
Figura 9. Executar o prompt de comando como Admin
Se quiser mais informações do comando BCDEdit, acesse
https://technet.microsoft.com/pt-br/library/cc709667(v=ws.10).aspx.
6. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Primeira opção: Definir mais de uma entrada no Boot do Windows
Como você só poderá usar uma ferramenta de cada vez, pode ser interessante criar
um dual boot com duas entradas, uma entrada com o Hyper-V desabilitado para você utilizar
o Intel HAXM e com isso desenvolver seus apps Android e outra entrada com o Hyper-V
habilitado para você desenvolver apps Windows Phone (figura 10).
Figura 10. Definindo duas entradas no boot do Windows
A primeira coisa a ser feita é deixar na inicialização padrão do Windows o Hyper-V
desabilitado para que você possa usar o Intel HAXM, com isso, a primeira opção para iniciar
o Windows (opção padrão) será sem o Hyper-V.
Para verificar se o Hyper-V está desabilitado, acesse o prompt de comando como admin
e digite:
bcdedit
Nas configurações que irão aparecer verifique se a linha hypervisorlaunchtype está
OFF (figura 11).
7. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Figura 11. Hypervisorlaunchtype OFF
Caso a linha não esteja com o valor OFF, digite o comando exibido na figura 12.
Figura 12. Deixando o hyper-v off
Agora vamos criar a segunda entrada com o Hyper-V habilitado.
Acesse o prompt de comando como admin e digite o comando bcdedit como exibido na
figura 13:
Figura 13. Comando bcdedit
Basicamente essa linha de comando bcdedit /copy {current} /d “Windows
8.1 (com Hyper-V)”, irá criar uma cópia das configurações atuais de inicialização do
Windows com o rótulo ou descrição "Windows 8.1 (com Hyper-V)", o identificador da nova
entrada é exibido assim que você executar o comando, no exemplo (figura 13) a entrada criada
foi {1e6fb8e9-25de-11e5-82af-bc773777b77a}, em cada computador esse ID será diferente,
então preste atenção no seu ID.
Agora que já definimos a nova entrada, precisamos habilitar o Hyper-V, para isso digite
o comando bcdedit como demonstrado na figura 14.
8. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Figura 14. Habilitando o Hyper-V
O comando bcdedit /set {1e6fb8e9-25de-11e5-82af-bc773777b77a}
hypervisorlaunchtype auto, irá habilitar o Hyper-V.
Para verificar suas configuras atuais de inicialização do Windows, digite no prompt
bcdedit, veja o resultado do nosso exemplo na figura 15 e 16.
Figura 15. Entrada padrão, sem hypervisor
9. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Figura 16. Segunda entrada, com hypervisor
Pronto, reinicie seu computador para visualizar as duas entradas no boot do Windows.
Se quiser fazer as instalações descritas no início deste tutorial após essas
configurações, basta entrar na inicialização padrão para instalar o Intel HAXM e na segunda
opção de inicialização para usar o Hyper-V e instalar as ferramentas para Windows Phone.
Segunda opção: Desabilitar/Habilitar o Hyper-V no prompt de comando (cmd) sem criar o dual
boot
Caso você não queira criar o dual boot, é possível fazer a configuração para habilitar e
desabilitar o Hyper-V diretamente no prompt, porém neste processo é necessário reiniciar o
computador a cada alteração, dependendo do computador, pode se tornar um processo lento.
Primeiro verifique o valor atual do hypervisorlaunchtype, digite o comando bcdedit
como admin para fazer essa verificação, figura 17.
10. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
Figura 17. Configurações de boot padrão
Se a configuração estiver Off, digite a linha abaixo (figura 18) e reinicie o computador
para que as configurações sejam aplicadas.
Figura 18. Comando para ativar o hypervisor
O comando bcdedit /set hypervisorlaunchtype auto irá ativar o Hyper-V,
lembre-se que com isso não será possível executar o Intel HAXM para acelerar o emulador
do Android.
Por outro lado, se a configuração estiver Auto, digite a linha abaixo (figura 19) e reinicie
o computador novamente.
Figura 19. Comando para desabilitar o hypervisor
Observação, nos dois casos citados nesta opção, é NECESSÁRIO reiniciar o
computador para que as configurações sejam aplicadas.
Uma pequena variação dessas configurações, seria criar um arquivo .bat para ativar e
outro para desativar as configurações do hypervisorlaunchtype.
Crie um arquivo com o nome hyperv-ON.bat e digite os comandos:
bcdedit /set hypervisorlaunchtype auto
11. Prof. Alcides Teixeira Barboza Jr.
Prof. Alcides Teixeira Barboza Jr.
Data de criação deste material: 07/2015.
shutdown /r /t 15 /c "Hyper-V On"
Crie outro arquivo com o nome hyperv-OFF e digite os comandos:
bcdedit /set hypervisorlaunchtype off
shutdown /r /t 15 /c "Hyper-V Off"
Perceba que as configurações do bcdedit já foram explicadas anteriormente, a
diferença estaria na linha do shutdown, a opção /r irá reiniciar o computador; o /t 15
determinada que o computador será reiniciado em 15 segundos e o /c é a mensagem que
será exibida antes de reiniciar.
Lembre-se de executar ambos os arquivos como administrador, basta clicar com o
botão direito do mouse sobre os arquivos e escolher Executar como Administrador, figura 20.
Figura 20. Executar o arquivo bat como admin
Terceira opção: Criar máquinas virtuais para cada plataforma de desenvolvimento
Se você tiver um computador com bastante memória RAM, pode ser interessante criar
máquinas virtuais para cada uma das plataformas que deseja desenvolver, assim, você criaria
uma máquina virtual para o Android com o Intel HAXM instalado e o Hyper-V desabilitado e
outra para o Windows Phone com o Hyper-V habilitado.
A vantagem desta opção seria que não precisa esperar reiniciar o computador toda vez
que quiser mudar de plataforma, a desvantagem é na parte de performance, a máquina virtual
por si só já é um pouco lenta, e rodar outro emulador dentro dela torna o processo mais lento
ainda, por isso a necessidade de ter um computador robusto para essa opção.
Conclusão
Verifique se você precisa realmente manter as duas máquinas virtuais instaladas no
seu computador, se verificar que é necessário, teste as duas opções de configurações
descritas neste tutorial e veja qual roda melhor no seu computador. Tem pessoas que não
gostam do dual boot, neste caso opte pela segunda opção.
A opção do dual boot é mais prática pois não precisa reiniciar o computador uma vez
escolhida a configuração que se deseja trabalhar. A configuração através do prompt exige
sempre reiniciar o computador.