Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

仮想マシン上のWindows10 HomeでWSL2を体験したい

$
0
0

はじめに

普段WSL1やVMware Workstation Player上に構築したLinuxをちょこっと触ったりしています。
そんな中、次期バージョンのWSL2ではDockerがインストールできるということで興味があるのですが、プレビュー機能のため利用してみたい場合はWindows Insider Programを導入する必要があるとのこと。
Windows Insider Programは評価版のWindowsが導入されるとのことで、普段使いのPCには導入をためらっていました。

そこで未使用のWindows10 Homeエディションを使って、VMware Workstation Player上にWSL2を導入できないか試してみました。

簡単なまとめ

  • Windows Insider Programのビルド種類ですが、2020/03/03時点では、WSL2のみを使う目的であれば安定性の面で「ファスト」よりも「スロー」をおすすめします 1
  • WSL2がHyper-Vの機能を利用する関係上、VMware Workstation Playerの「Intel VT-x/EPT または AMD/RVI を仮想化」を有効化しないと動作しません。
  • 仮想環境へのメモリ割り当ては最低6GB欲しいところです 2

検証環境

ホスト側

  • Windows10 Pro バージョン1909 64bit
  • CPU:Intel Core-i5 2540M
    • ハードウェア仮想化支援機能として「VT-x」「VT-d」が利用可能
  • メモリ:16GB搭載

ゲスト側

  • VMware Workstation Player 15.5.1
    • Windows10 Home側にVMware Tools for Windows (11.0.0) をインストール済み
  • Windows10 Home バージョン1909 64bit
  • メモリ:6GB割り当て
  • ストレージ:60GB割り当て

導入手順

仮想化ソフトウェアに「VMware Workstation Player」を利用し、その上でWindows10 Homeが導入済みという前提になります。
※前提の導入手順は省略いたします。

  • PCのBIOSまたはUEFIの設定で、ハードウェア仮想化支援機能を有効化します。

    • Intel CPUの場合は「VT-x」の有効化が必須です。
  • ゲスト側の仮想マシンを停止した状態で、VMware Workstation Playerの「仮想マシン設定」を開き、「ハードウェア」→「プロセッサ」の項目で「仮想化エンジン」の設定を有効化します。

    • Intel VT-x/EPT または AMD/RVI を仮想化 ※必須
    • CPU パフォーマンス カウンタを仮想化 ※お好みでOKかと。
    • IOMMU(IO メモリ管理ユニット)を仮想化 ※Intel VT-dが有効の場合は、チェックを入れても良いかと。
  • 設定を保存し、ゲストの仮想マシンを起動します。

  • ゲストの起動後、「スタート」メニューの「設定」から「更新とセキュリティ」→「Windows Insider Program」をクリックします。

  • 画面表示に従って手続きを進め、「Insider の設定を選択」画面で「スロー」を選択します。

  • 「Windows Insider Program」への登録完了後、ゲストの再起動を行います。

  • 「Windows Update」を実行し、バージョン2004を導入します。

  • ゲストのコマンドプロンプトを起動し、「winver」と入力してEnterキーを押下し、「Windows のバージョン情報」ダイアログからOSビルドが「18917」以降であることを確認します。

  • ゲストにおいて管理者権限でPowerShellを起動し、以下のコマンドを実行します。
    または、「Windows の機能の有効化または無効化」画面より、以下の2つにチェックを入れます。

    • Linux 用 Windows サブシステム
    • 仮想マシン プラットフォーム
PowerShell
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestartdism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart
  • ゲストを再起動します。
  • ゲストのMicrosoft StoreよりWSL用のディストリビューションをダウンロードします。
    • 既にWSL1のディストリビューションを導入済みの場合、PowerShellにてWSL2に変換します。
    • 初めてダウンロードする場合、PowerShellで設定することで、デフォルトをWSL2形式にすることができます。

以下のコマンドについては、管理者権限は不要です。

PowerShellでWSL1をWSL2に変換する例
# 導入済みのディストリビューションを確認します。wsl-l-vNAMESTATEVERSION*Ubuntu-18.04Stopped1# 以下のコマンドでWSL1をWSL2に変換します。環境によりある程度の時間がかかります。wsl--set-versionUbuntu-18.042
PowerShellでデフォルトにWSL2を指定する
wsl--set-default-version2# 以下のコマンドでデフォルトをWSL1に戻すことができます。wsl--set-default-version1
  • 変換後またはダウンロード済みのディストリビューションを開いて、問題なく動作することを確認します。

ハマった点など

  • ゲスト側のWindows10 Homeで、「Microsoft Defender」以外のウィルス対策ソフトが動作している場合、WSL2への変換や起動が行えない可能性があります。
    • ゲスト側にてavastを動作させていたところ「エラー 0x80370102」が発生して、WSL2をどうやっても起動または変換できませんでした。avastをアンインストールすると解決しました 3

その他

WSL2のUbuntu (無印版:バージョンは18.04.4) にDockerを入れてみましたが、通常のLinuxへの導入と同じ方法で簡単に入れることができて感動しました。
また、VS CodeのRemote - WSL機能拡張も問題なく動作しました。

一方、2020/03/03時点ではDocker Desktop WSL2 BackendがWindows10 Home環境にインストール出来ないため、VS CodeのRemote - Containers機能拡張は使えないようでした。こちらは今後に期待です。

仮想環境としてVMware Workstation Playerを使っている関係上、WSL2が正式リリースされた場合はホスト側で同居できなくなりそうですが、VMware様側でWSL2と同居可能なバージョンを開発しているみたいなので、こちらも今後に期待です 45

参考サイト様


  1. ファスト導入時に文字化けが発生したりしたため、自分の環境では厳しいと判断しました。 

  2. 起動直後で2.6GB程度、ブラウザ・VS Code・WSL2を起動で3.6GB程度メモリを消費していました。 

  3. avastの設定より「ハードウェア仮想化支援機能を有効にする」のチェックを外すと動作する、という情報も見たのですが、自分の環境では問題が解消しませんでした。 

  4. 現時点ではIntel 第4世代以降のCPUが対象のようですが、第2・3世代のサポートも検討しているとのことです。 

  5. 製品エディションはWorkstation Pro版が対象のように見えますが、無償版にも対象を広げてもらえることを期待しています。 


Viewing all articles
Browse latest Browse all 21089

Trending Articles