LoginSignup
2
2

More than 3 years have passed since last update.

WSL2 移行メモ

Last updated at Posted at 2020-08-23

WSL2が Windows 10 バージョン 1903/1909 にバックポートされ(なぜか2004が降ってこない)Sufrace proでようやく使えるようになったので、WSL2への移行メモ。

今使っているWSL1のubuntuをWSL2に変換する

WSL2をデフォルトにするのは> wsl.exe --set-default-version 2だが、今使っているものは明示的に変換しないとWSL1のまま。

> wsl --list -v
  NAME      STATE           VERSION
* Ubuntu    Running         1
> wsl.exe --set-version ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
ディストリビューションは既に、要求されているバージョンです。
> wsl --list -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

WSL2のネットワーク構成

WSL1ではホストのWindows 10側とネットワークインタフェースは共有されていたが、WSL2ではvEthernet(WSL)なるHyper-V Virtual Ethernet AdapterがWin 10側に作られ、Win 10と WSL2 がHyper-V仮想スイッチで接続されるようになった。WSL2上のsshdに接続するような使い方で注意が必要そう。

win10
> ipconfig
イーサネット アダプター vEthernet (WSL):

   接続固有の DNS サフィックス . . . . .:
   リンクローカル IPv6 アドレス. . . . .: fe80::18b8:bb13:4def:276a%22
   IPv4 アドレス . . . . . . . . . . . .: 172.17.80.225
   サブネット マスク . . . . . . . . . .: 255.255.255.240
wsl2
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.80.234  netmask 255.255.255.240  broadcast 172.17.80.239
...

Windows 10側の IP アドレスを知る

Hyper-V 仮想スイッチで接続された Windows 10側のIPアドレスは動的に生成される/etc/resolv.confを見るとよい。

$ cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.17.80.225

Windows X server (例えば VcXsrv)を動かす場合の DISPLAY 変数の設定に使える。

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

WSL環境かどうかのチェック方法

これまでWSL1環境でif [[ `uname -a` =~ Microsoft ]]; thenで判定していた方法は使えなくなったのでWSL2ではif [[ `uname -r` =~ microsoft ]]; thenで判定するよう変更。

$ uname -a
Linux NX-01 4.19.104-microsoft-standard #1 SMP Wed Feb 19 06:37:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ uname -r
4.19.104-microsoft-standard
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2