33
23

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.

WSL2とAndroidエミュレータの共存

Last updated at Posted at 2020-08-20

Windows Home + WSL2 + Androidエミュレータ

この環境で色々ハマったので備忘録として書いておきます。

WSL2とHyper-VとAndroidエミュレータ

まず、WSL2とHyper-Vの関係
https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce
ここを見てもらうのがいいのですが、WSL2はHyper-Vハイパーバイザーの上で動いています。Windows Pro にある Hyper-V とは別です。また、Windowsハイパーバイザープラットフォームを有効化することで、他の仮想化技術と共存させることができるようです。似た用語で紛らわしいのですが、「Hyper-Vハイパーバイザー」、「Hyper-V」、「Windowsハイパーバイザープラットフォーム」はそれぞれ別物のようです。

で、WSL2をインストールした状態でAndroidエミュレータを起動しようとするとHyper-Vが有効化されているので起動できないので、Hyper-VをOffにするコマンドを実行してね、というメッセージが表示されます。この時点で何も分かっていなかった、そのコマンドを実行しました。すると、WSL2が起動しないではないですか!「BIOSの仮想化設定を確認してください」のメッセージが表示されていますが、すでに有効済みです。

Hyper-Vの On Off

普通にHyper-Vの有効無効について調べると、PowerShellのコマンドか「Windowsの機能の有効化または無効化」を使った方法が見つかるのですが、Windows Homeだとこれらの方法で有効無効を切り替えられません。(そもそもHomeにはHyper-Vが無いので)
コマンドプロンプトのコマンドだとWindows Homeでも有効無効を切り替えられました。
https://qiita.com/dodonki1223/items/75bd5171e2f2193c9977
Androidエミュレータを起動できなかったときに実行したコマンドと同じです。

WSL2とAndroidエミュレータを共存させるには

Hyper-Vと共存させる方法は公式ドキュメントに書いてありました。
https://developer.android.com/studio/run/emulator-acceleration?hl=ja#vm-windows-whpx
「Windowsハイパーバイザープラットフォーム」を有効にすればいいそうです。

結論

Home、Pro関係なく、WSL2とAndroidエミュレータを共存させる場合は「Windowsハイパーバイザープラットフォーム」を有効にしましょう。
WSL2をインストールした環境はHomeであってもHyper-Vが有効になっているものとみなすみたいです。

33
23
0

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
33
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?