摘み入れ地点

得た知見を書きためていく場所です。ソシャゲ、自動化、データを見るのが好きです。Amazonアソシエイト、各種アフィリエイトサービスを使用しています。

WSLとAndroidエミュを共存させたいならWindows Proを買っておいた方が幸せ(かも)

※ 手元でWindows Proを購入して確認していないので、あくまで眉唾程度で読んでください

まとめ

  • Windows Subsystem for Linux(WSL)と各種Androidエミュレータ(Nox, Bluestacks等)の共存はWindows Proなら可能(らしい)
  • 手元のWindows HomeではWindows Proじゃないと使えない仮想化技術(Hyper-V)の設定変更ができず、共存ができない
    • 自分の手元ではネットワークが死んで強制的にオフラインになった
  • 多少はプログラミングをする予定がある、かつ、Androidエミュレータでゲームをプレイする場合はWindows Proを買っておいた方がいい
    • HomeとProの差額よりHomeからProへのアップグレードの方が4倍以上高い
    • このブログを書いている人は現在進行形で後悔中

 

WSLとかHyper-Vとかよくわからんという人は以下ページが分かりやすく解説してくれているので見ると良い。

penpen-dev.com

 

Windows HomeではHyper-Vは使えない

docs.microsoft.com

Windowsの公式ドキュメントにもあるとおり、一般に使用されているであろうWindows HomeではHyper-Vはインストールすることができない。以下、ページから引用。

  • Windows 10 Enterprise、Pro、または Education
  • 第 2 レベルのアドレス変換 (SLAT) の 64 ビット プロセッサ
  • VM モニター モード拡張機能 (Intel CPU 上の VT-c) の CPU サポート
  • 最小 4 GB のメモリ

Hyper-V ロールは、Windows 10 Home にはインストールできません

[設定]>[更新とセキュリティ]>[ライセンス認証] の順に移動して、Windows 10 Home Edition を Windows 10 Pro にアップグレードしてください。

 

Hyper-Vが使えなくてもWSLは使えるが、WSLを使おうとするといろいろ動かなくなる(ことがある)

ここがややこしいのだが、Hyper-Vは無くともWSLは使用できる。だから、Windows HomeでもUbuntu for Windowsを使うことはできる。

だが、これと各種Androidエミュレータの共存はできなかった。自分がこれまで試したのは以下3つ。

  • Nox Player
  • Bluestacks
  • mumu Player

これらは全部ダメで、Androidエミュレータ側起動時にエラーが出てしまう。

というか、Androidエミュレータが動かないだけならまだマシで、自分の手元のNoxはエミュ自体は起動できてもPC全体でインターネットが使えなくなった。誰かのためになるかも知れないので、一番下で事例を残しておく。

karst459.com

インターネット上で探すと共存をさせることに成功している人もいるらしいのだが、自分は今まで一度も成功したことがない。おそらくハードウェア構成などに依存する部分があるのだろう。

ということで、Windows HomeでWSLとAndroidエミュレータの共存をさせようとするのは自分には無理、というのが現時点での結論だ。

 

Windows ProだとHyper-Vが使えるのでAndroidエミュレータが動く(らしい)

Windows Proだと共存できる可能性が上がる(らしい)。理由はHyper-Vが使えるから。

特にBluestacksは公式でHyper-V対応版をリリースしていて、なんなら動かないときにHyper-Vを有効にすると解消できるというヘルプまで存在している。

 

また、Windows ProにあるHyper-VAndroidエミュレータが共存できるという記事はネット上に複数存在していた。

markdevel.hatenablog.com

viasnake.com

自分で手元で動かしたことが無いのでなんとも言えないが(しかも2つ目の記事は提供記事だし)、いずれにせよ動くことはあるらしいし、少なくともBluestacks側は公式リリース版でサポートしていると言っているので、動く可能性はかなり高い。

一方で、未だに競合した場合は無効化してほしいというヘルプも残っているので、絶対動くとは言い切れないことに注意したい。

www.youtube.com

support.bignox.com

Windows HomeからWindows Proへアップグレードするのはめちゃくちゃ高い

以上の通り、Androidエミュレータを使えて、かつWSLを使えるようにしたい人はWindows Proを買っておくとあとあと幸せになれる。かもしれない。ただし、既に何度か書いているがハードウェア構成が影響するところがあるので、あくまで自己責任で。

この記事を書くきっかけは自分がこのエディションの違いによって苦しんだのもあるが、一番大きな理由はHomeとProの差額よりもHomeからProへアップグレードする方が4倍以上高いことが分かったからだ。マジでいま後悔している。

Microsoft Storeの画像。高い。

あくまで記事執筆時点(2022/06/27時点)でAmazonのパッケージ版準拠での話だが、HomeとProのパッケージ版差額が3221円に対して、HomeからProへのアップグレード価格は13824円。4倍以上違うこれだけ価格が違うならば、必要になるかも知れないから先に払っておくという選択肢もありだと思う。

プログラミングする予定があるならPro、よく分からないならHomeで

もしここまで読んでいててWindows Pro(というかWSL)の必要性が分からない人は、とりあえずはプログラミングをする予定があるかどうかで考えれば良い。もしプログラミングをする予定がある場合、たとえばこれから情報系に進学する学生なんかはProを買っておくと便利だと思う。

逆にいまいち分からんって人は(ここまで読んでいない気がするが)Homeで十分だ。よく分からないところにお金を払うよりは、Androidエミュレータで動かしているゲームに課金する方が有意義だと思う。

 

以下、自分がWSLを有効化したらWindowsPCのネットワークが死んだ様子を記載しておく。

実例:WSLを有効化するとネットワークが死ぬ様子

まず現状だが、WSLを有効化(インストール)せずにUbuntu for Windowsを起動するとこんな感じになる。

Ubuntu for Windowsを動かそうとした様子

これは当然で、WSLを動かすための設定をなにもしていないからだ。以下ページに則ってWSLをインストールする。

 

docs.microsoft.com

PowerShellでWSLをインストールした様子

インストールすると再起動を促されるので再起動する。すると自分の環境ではネットワークが死ぬ。

windowsの設定画面
LANケーブルが繋がっているのに繋がっていないことになっている

ひどいもんである。ネットワークが死んでいるので通信自体が全部できなくなる。当然ブラウザもクラウドストレージも動かなくなる。

だが直し方はそんなに難しくない。

「設定」で「windowsの機能の有効化または無効化」と検索するとウィンドウが出てくる。この中のLinuxWindowsサブシステムのチェックを外せば良い。

windowsの機能の有効化または無効化画面

もしそれでも上手くいかない場合は、上記画像の他項目も調整してみると良いかもしれない。自分の場合は上記設定でAndroidエミュレータが動く、かつネットワークが使えるようになった。