WSLでは全てのLinux上のソフトウェアを動かせるようになるわけではなかった。
Linuxカーネルへのファンクションコールをlxcore.sysとlxss.sysいうカーネルドライバーが,Windowsカーネルへのファンクションコールに変換して動いていて,このサポートが限定的なものであるので動かないソフトウェアがあった。
WSL2ではHyper-V上の仮想マシンを使用してLinuxを動作させるので,このような制約がなくなり多くのプログラムが動作すると思われる。
WSL2はWindows10でアップグレードである2004で正式にリリースされる予定のようだ。
現状では,Windows Insider Program*1 を使用している場合には,WSL2を有効化して使用する事ができる。
Windows Insider Programに参加するには,設定>更新とセキュリティ>Windows Insider Programをクリックして,指示に従いPreviewプログラムを受け取れるようにして,PCを再起動する。
現在のWindows10のビルド番号を確認するには,以下のようにする。(Windows Insider Programに参加していないWindows10 1909)
D:\home\ueno>ver Microsoft Windows [Version 10.0.18363.476]
Windows Insider Programに参加すると,Windows10のビルド番号は18917以降になる。
WSL2を利用するには,
のように,Hyper-VとWSLを利用する設定が必要。
WSLと同様にしてLinuxをインストールする。インストールしたLinuxは,この状態ではWSLで動作する。
インストールしたLinux(例:Ubuntu 18.04 LTS)を,WSL2用に変換する。
まず,Powershellを起動してインストールしたLinuxの状況を確認する。
PS C:\Users\yueno> wsl -l Windows Subsystem for Linux ディストリビューション: Ubuntu-18.04 (既定)
以下のようにして,Powershellを使用してWSL2用に変換する。
PS C:\Users\yueno> wsl --set-version Ubuntu-18.04 2
変換されたか確認してみる。
PS C:\Users\yueno> wsl -l -v NAME STATE VERSION * Ubuntu-18.04 Running 2
WSL2を利用できるようにすると(WSL2だけでなくWindows サンドボックス等でも),VMware Workstation PlayerやOracle VirtualBoxは動作しなくなってしまう。
VMware Workstation PlayerやOracle VirtualBoxを再度使用できるようにするためには,Hyper-V関連機能を削除する必要がある。
Hyper-V関連機能を削除するには,コントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化を開いて,
などのマークが入っているもののマークを外す。
PCの再起動が必要。
または,管理者権限でPowerShellを起動し,
> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
を実行すること,Hyper-V関連サービスを全て削除できる。
新しくコメントをつける