Windows10でWSL2を使ってみる anchor.png

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以降になる。

Page Top

WSL2の特徴 anchor.png

  • WSLで使えなかったnmapやtcpdumpが動く
  • WSL2とWSLは併用できる
  • WSLで入れていたLinuxをWSL2に変換することが出来る
  • ネットワークコンポーネントは仮想化されている
    Hyper-V上で動作するため,ネットワークコンポーネントは仮想化されている。
  • 仮想化環境で動作するが高速である
    WSLに比べても動作速度は意外と高速である。
  • 他の仮想化環境が動作しなくなる
    VMware Workstation PlayerやOracle VirtualBoxは動作しない。
Page Top

WSL2を利用する準備 anchor.png

WSL2を利用するには,

  • コントロールパネルのプログラムと機能を開く
  • Windowsの機能の有効化または無効化をクリック
  • Hyper-Vにマークを付けてOKを押す
  • Windows Subsystem for Linuxをマークを入れて有効にする
  • OKを押す

のように,Hyper-VとWSLを利用する設定が必要。

Page Top

WSLと同様にLnuxをMicrosoftストアからインストールする anchor.png

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
Page Top

Hyper-V関連機能を無効化する anchor.png

WSL2を利用できるようにすると(WSL2だけでなくWindows サンドボックス等でも),VMware Workstation PlayerやOracle VirtualBoxは動作しなくなってしまう。

VMware Workstation PlayerやOracle VirtualBoxを再度使用できるようにするためには,Hyper-V関連機能を削除する必要がある。

Hyper-V関連機能を削除するには,コントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化を開いて,

  • Hyper-V
  • Windows Subsystem for Linux(WSL2)
  • Windows サンドボックス
  • Windows ハイパーバイザー プラットフォーム
  • 仮想マシンプラットフォーム
  • インターネットインフォメーションサービスのホスト可能なWebコア

などのマークが入っているもののマークを外す。
PCの再起動が必要。

または,管理者権限でPowerShellを起動し,

> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

を実行すること,Hyper-V関連サービスを全て削除できる。


*1 将来リリースされる予定の現在開発中の機能を,いち早く入手して使用することが出来るプログラム。開発中の機能ということで,不具合や安定性が損なわれているOSを使用することになるためリスクがある。

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

Front page   Freeze Diff Backup Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 27, today: 1, yesterday: 1
Last-modified: 2023-01-15 (Sun) 10:29:16 (JST) (67d) by yuji