Windows10から公式ツールのみでインストールできるようになったWSL(Windows Subsystem for Linux)
バージョン 1903 以降、ビルド 18362からWSL2のインストールができるようになったので、WSL2をインストールすることにしました。
Microsoft社のサイトで確認しながらインストールしていきます。
設定環境
今回利用するOSはWindows10(バージョン:21H1/ビルド:19043.1151)のx64ベースプロセッサ
バージョン及びビルド番号を確認する場合は 「Windowsキー」+rボタンからファイル名を指定して実行を開き、「winver」を入力すれば↑の画像が表示されます。
x64ベースプロセッサ であるか確認したい場合はPowerShellで「Systeminfo」と入力するか、「Windowsキー」+xボタンからシステムを押下することで確認することができます。
WSL2設定
Linux 用 Windows サブシステムの有効化
WSL及びWSL2ともに予め「Linux 用 Windows サブシステムの有効化」を行う必要があります。
管理者権限のPowerShellを開き、下記コマンドを入力して「 Linux 用 Windows サブシステム」を有効化 します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
仮想マシンの機能を有効化する
WSL2はWindowsの仮想化機能を使うため、「仮想マシン プラットフォーム」を有効化します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
完了後、再起動します。
Linux カーネル更新プログラム パッケージをダウンロード&インストール
x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージをダウンロードし、インストールします。
Next押しながらさくさくと進んでいきます。(※ここも管理者権限必要になります)
WSL 2 を既定のバージョンとして設定する
PowerShellにて下記コマンドを入力し、WSL2を既定のバージョンとして設定します。
wsl --set-default-version 2
ディストリビューションの設定
Microsoft Storeを開き、お好きなLinux ディストリビューションをインストールします。
UbuntuやDebian、OpenSUSEなど選べれる模様。
CentOSは一覧にはないが、インストールはできなくもないようです。
今回はUbuntu 20.04LTSを選択しました。
454MBあるのでゆっくりと待ったあと、起動を押下します。
仮想化が有効化されていない場合はエラーになった
起動時に、「WslRegisterDistribution failed with error: 0x80370102」が表示されて起動に失敗しました。
インストールガイド(公式)に記載されている通り、CPUの仮想化が有効化されていないため、BIOS設定で仮想化をONにします。
コンピューターの BIOS 内部で仮想化が有効になっていることを確認してください。 これを行う方法の手順は、コンピューターによって異なりますが、最も可能性が高いのは CPU 関連のオプションの下です。
Windows 10 用 Windows Subsystem for Linux のインストール ガイド
WSL2 を使用するには、CPU で Second Level Address Translation (SLAT) 機能がサポートされている必要があります。これは Intel Nehalem プロセッサ (Intel Core 第 1 世代) と AMD Opteron で導入されました。 以前の CPU (Intel Core 2 Duo など) では、仮想マシン プラットフォームが正常にインストールされていても、WSL2 を実行できません。
ESXi経由で「Virtualization Technology」を有効する場合はひと手間必要
ESXiのゲストOSにも 「Virtualization Technology」 を有効にしないとWSL2が起動しないので、下記設定が必要になります。
vhv.allowを有効にする
ESXiでSSHを有効にし、TeraTerm等でSSHでログインし、「/etc/vmware/config」に下記1行追加します。
vhv.allow = "TRUE"
ゲストOSの設定
ESXiのWebコンソール画面からWindows10(ゲストOS)の設定情報を開き、CPU⇒ハードウェア仮想化(ハードウェアアシストによる仮想化ゲストOSに公開)をチェックします。
Ubuntuの設定
上記の設定が完了すると、ユーザ名およびパスワードの設定画面が表示されます。
ユーザ名とパスワードを入力すればすぐに利用できるようになります。
雑感
ESXiにインストールしているWindows 10でWSL2がうまく動かずに少し手間取りましたが何とか使えそうです。