概要

AndroidのエミュレーターであるNox PlayerとHyper-Vを共存させる方法について紹介します。

環境

  • Windows 11 22H2
  • Nox Player 7.0.2.5002

Nox PlayerとHyper-Vについて

パソコンでスマートフォンやタブレットで提供されるアプリを利用する場合、元からパソコンに対応している場合は、何も問題はないのですが、パソコン向けにアプリが提供されていない場合は、一工夫が必要です。

そこでよく試されるのがAndroidをパソコン上で実行できるエミュレーターを用いて、そのエミュレーター上でアプリを動かすというものです。

今回、私はスマートフォン向けのゲームアプリをWindowsのパソコンで実行しようとして、Nox Playerというものを使うことにしました。しかし、私の利用している環境と相性が悪いと分かりました。

相性が悪い原因はエミュレーターを動かす際に、WindowsのHyper-Vという仮想化機能を利用しているのが原因です。今回のエミュレーターを実行するというのは、WindowsなどのOS上で仮想的にAndroidを実行するということですので、Windowsが元から持っている仮想化機能と共存させるのは難しいようです。

Hyper-Vの機能を無効化してしまえば、問題は解決するのですが、Hyper-VをWindowsのWindows Subsystem for Linux(WSL、WSL2)という機能で利用しているため、この手段は取りたくありません。

そこで、ここではNox PlayerなどのAndroidエミュレーターとWSL2などで使われるHyper-Vを共存して実行する方法を紹介します。

共存方法

私が最新のNox Playerなどで試したのですが、Hyper-Vを有効化した状態でインストールすることはできませんでした。無理矢理インストールしようとしても、エラーメッセージを出してインストールに失敗したり、インストールに成功したように見えても仮想化の機能であるVT-Xが有効化されていないというメッセージが表示されて、正常にエミュレーターが起動しなかったりしました。

実は、Nox PlayerにはHyper-Vを実行している環境でも動くバージョンが提供されています。これは、あくまでも特定のバージョンだけでHyper-Vと共存できるというものです。記事を書いている2022年11月時点では、Nox Player 7.0.2.5002のみが対応しています。

次の方法をすることで簡単にNox PlayerとHyper-Vを共存させることができます。Nox Player 7.0.2.5002を上記のURLからダウンロードしてインストールします。

Server error

これだけで、終了です。

実際に動かしてみると

このような方法で、Nox PlayerとHyper-Vを共存することに成功したのですが、実際にNox Playerを動かしてみると、動作がとても重く、あまり使えるものではありませんでした。

ちなみに私は試していませんが、ゲームなどのCPUやメモリをたくさん使うようなものであれば、まともに使えないかもしれません。

そのため、現在は諦めてHyper-Vを無効化して利用しています。Hyper-Vを無効化して利用しているため、WSLは使えなくなりました。そこで、今はVirtualBoxという仮想化ソフトを使っています。あくまでもWindowsの機能の一つであるHyper-Vと競合をおこしているようですので、この方法で回避することができます。

さいごに

せっかくNox PlayerとHyper-Vを共存できたのですが、私の使用した感想として、満足に使えるものではありませんでした。とても残念です。