34
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【どうして...?】Android Studioインストールで「HAXM installation failed.」が発生する

Last updated at Posted at 2021-12-18

はじめに

Android studioのインストールでHAXMのインストールエラーが発生して、それの解消につまづきました。解消までの道のりをつらつらと書いていますので、誰かの助けになれば幸いです。

結論

先に結論を書いておくと、WHPX(Windows Hypervisor Platform)が有効になっている人は、HAXM installation failed.と表示されても問題ないです。それでも、「俺はHAXM(Hardware Accelerated Execution Manager)で開発するんだ!」って方はお読みください。
ただ、WHPXにもHAXM にも一長一短あるようです。

環境

ノートPC:HP(Hewlett-Packard)製
OS:Windows10 Home

(これより以下の文章は常体でお送りします。)

エラー内容

以下のサイトからAndroid Stadioをインストールしようとする。

特に設定をいじらずに進めていたが、途中で以下のエラー発生。。。

Intel® HAXM installation failed. To install Intel® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows

日本語に変換すると、インテル®HAXMのインストールに失敗しました。 インテル®HAXMをインストールするには、https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windowsにある手順に従ってください。ということらしい。
URL先に飛んでみると、IntelHAXMのインストール方法が3つ書かれている。

①Installing Standalone Intel HAXM on Windows(WindowsへのスタンドアロンIntelHAXMのインストール)

まずはこの方法を試してみる。ちなみにStandaloneとは機器やソフトウェア、システムなどが、外部に接続あるいは依存せずに単独で機能している状態のことらしい。
Android StadioでHAXMをインストールする時のバージョンが7.6.5なので、同じバージョンをダウンロード。zipファイルなので展開してhaxm-7.6.5-setup.exeを実行。インストールを進めると以下のエラーが。。。なんでや。。。

image.png

OKを押してダイアログの中身を見てみると、Noと書かれた場所がある。PCのスペックとかは問題なさそうで、そのような項目は*がついてるっぽい。Noを潰せば上手くいきそう。
image.png
image.png

その前に他の2パターンも試してみる。

②Installing HAXM silently on Windows(WindowsにHAXMをサイレントインストールする)

コマンドプロンプトを開いて、先ほどダウンロードして展開したフォルダに移動する。ちなみにdirでその階層のフォルダやデータが見れ、cd フォルダ名で移動できる。zipを展開していないと移動できないので注意。
移動したらsilent_install.batを入力して実行する。Intel HAXM installation failed!と表示されてやっぱり失敗。下にlogの場所が表示されるので確認すると、以下のように表示されていた。Installing Standalone Intel HAXM on Windows(WindowsへのスタンドアロンIntelHAXMのインストール)のエラーと同じようだ。

Version: 7.6.5
Output folder: C:\Program Files\Intel\HAXM
Extract: checktool.exe... 100%
Execute: C:\Program Files\Intel\HAXM\checktool.exe --verbose
CPU vendor          *  GenuineIntel
Intel64 supported   *  Yes
VMX supported       -  No
VMX enabled         -  No
EPT supported       -  No
NX supported        *  Yes
NX enabled          *  Yes
Hyper-V disabled    -  No
OS version          *  Windows 10.0.19043
OS architecture     *  x86_64
Guest unoccupied    *  Yes. 0 guest(s)
The system requirements are not satisfied.

③Installing Intel HAXM on Windows via Android Studio(AndroidStudioを介してWindowsにIntelHAXMをインストールする)

そもそもAndroid Stadioでインストールしようと思ってできなかったわけなので、ここは飛ばす。そもそもChoose ComponentsPerformance (Intel HAXM)とか出てこなかったし。

先ほどのlogの詳細を見てみる

Noとなっているところが怪しそうなので、1つずつ潰していく。

VMX supportedの解消を目指す

こちらのサイトを見てみると、BIOSの設定をいじってVirtualization Technologyを有効にしないといけないらしい(サイトはASUSのサイトだけど)。
なのでこちらのサイトを参考にVirtualization Technologyを有効化してみる。だけどVirtualization Technologyはenableになってる。違う場所にあるのかな。。。どこにもない。。。
とりあえずdisenabledにして保存してみる。

再起動してもう一度インストールを実行してみる

再起動したらC:\Users\ユーザー名\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Managerhaxm-7.6.5-setup.exeを実行してみる。すると、、、VMX enabled以外* Yesになってる!!!なんでや!
image.png
でもVMX enabled - Noってなるのは当たり前だよね。さっきBIOSでVirtualization Technologyをdisenabledにしたし。とりあえずVirtualization Technologyをenableに戻しておくか。

VMX enabledにする方法を探る

VMX enabledにする方法を探すけど、調べても調べてもBIOSのVirtualization Technologyを有効にするという情報しか出てこない。。。

さらに調べるとこんな記事が、、、

さらに調べているとこんな記事が。PCはHPのモノ使ってるみたいなので参考にする。読み進めていくとWindows Hypervisor Plattformにチェックが入っていなかったので、チェックを入れてOK。再起動する。インストールしてみるが結局エラーは変わらない。。。

同じエラーで悩んでる人がいた

さらに調べると、同じエラーで悩んでる人がいた。回答を追っていくと、bcdedit /set hypervisorlaunchtype offを打てばいいと書いてあるので、コマンドプロンプトを管理者権限で開いて、上のコマンドを入力してみる。この操作を正しく終了しました。と出たので、インストールしてみるが、エラーは変わらない。。。

WSL2が関係している?

こちらの記事では「There is also talk about WSL2 being involved with Hyper-V, hence HAXM not installing when WSL2 is enabled.」と書かれている。ようは「WSL2がHyper-Vに関係しているという話もあります。したがって、WSL2が有効になっているとHAXMがインストールされません。」ということらしい。そういえば以前Dockerを使ってた時にWSL2の設定をいじったことを思い出した。なので以下のサイトを参考にWSL2の設定を無効にする操作をする。

PCを再起動して再度インストールしてみる。インストールできた!!!\( 'ω')/

image.png

ようするに

こちらを見ると、WSL2は最新バージョンの WSL は、Hyper-v アーキテクチャを使用して仮想化を有効にします。とのこと。だからlogの中に「Hyper-V disabled - No」が書かれていたわけか。したがって、WSL2を無効にする必要があったようだ。

だけど。。。

こちらを読んでいたら、Windows で最適なエクスペリエンスを実現するには、WHPX(Windows Hypervisor Platform) を使用して Android エミュレーターを高速化することをお勧めします。と書いてある。ようはWHPXが有効にできるなら、HAXMはインストールしなくてもよかったっぽい。今までの苦労が。。。

ただこちらの記事によると、WHPXとHAXMは一長一短らしい。

せっかくHAXMをインストールしたけど、WHPX推奨とのことなので、HAXMをアンインストールしておいた。ちなみにアンインストールは[スタートボタン]→[設定]→[アプリ]→[検索フォームに「intel」と入力]→[intel Hardware Accelerated Execution Managerをアンインストール]でできる。
そして、[コントロールパネル]→[システム]→[Windowsの機能の有効化または無効化]よりWindows Hypervisor Platform仮想マシンプラットフォームを有効にしておいた。

最後に

結局調べて設定したことは無駄だったわけですが、いい勉強になりました。
ただ、完璧に理解できたわけではないので、この記事を読んで
・うまくいかないんだけど。。。
・書いてある文章意味間違ってるよ!
・そのやり方ダメだよ!(怒)
・こっちの方がいいんじゃない?
などなどありましたら、ぜひコメントで指摘いただけるとありがたいです。

最後まで読んでいただいてありがとうございました!!!

34
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?