🗂

WSL2 2.0.0がこっそリリース

2023/09/19に公開

バージョンが2に到達

仕事一段落したからWSL updateしとこ。
ふと思いGithubのリリースページを覗いたところ、

WSL 2.0
WSL 2.0

(゚Д゚)ハァ
まてまて、聞いてないって。

ヾ(・ω<)ノ" 三三三● ⅱⅲ コロコロ♪

------------------- ↓ 本題はここから ↓-------------------

WSL 2.0.0

主にメモリ、ハードドライブ、ネットワークなどのインフラ系が調整されている
メモリで言えば以前の記事で書いたメモリ節約、
ハードドライブもドライブサイズを縮小させる系のもの。
ネットワークで言えばファイヤーウォールをWindowsの設定に合わせるとか、
DNS解決方法の変更など。
地味だけど嬉しい変更が多い。

https://devblogs.microsoft.com/commandline/windows-subsystem-for-linux-september-2023-update/

Added support for new opt-in experimental features(新しいオプトイン実験機能のサポートを追加)

  • autoMemoryReclaim – Makes the WSL VM shrink in memory as you use it by reclaiming cached memory(キャッシュされたメモリを再利用することで、WSL VM のメモリを縮小します。)
  • Sparse VHD – Automatically shrinks the WSL virtual hard disk (VHD) as you use it(WSLの仮想ハードディスク(VHD)を使用しながら自動的に縮小します。)
  • Mirrored mode networking – A new networking mode for WSL that adds new features and improves network compatibility(新機能を追加し、ネットワークの互換性を向上させたWSLの新しいネットワークモード)
  • dnsTunneling – Changes how WSL resolves DNS requests to improve network compatibility(WSLがDNSリクエストを解決する方法を変更し、ネットワークの互換性を向上)
  • firewall – Applies Windows firewall rules to WSL, and allows for advanced firewall controls for the WSL VM(WSLにWindowsファイアウォールルールを適用し、WSL VMの高度なファイアウォール制御を可能にします。)
  • autoProxy – Makes WSL automatically use the proxy information from Windows to improve network compatibility(WSLが自動的にWindowsからのプロキシ情報を使用するようにし、ネットワークの互換性を向上させます。)

まだExperimental features(実験的機能)はconfigで指定しない限り稼働しないが、
これはバージョン2系の安定版が登場したときに解除されると思う。

最新版のダウンロード

インストールするかは多少リスクがあるので、
実験機を用意するほうがいいかもしれない。

wsl update
wsl --update --pre-release
  更新プログラムを確認しています。
  Linux 用 Windows サブシステムをバージョンに更新しています: 2.0.0。
wsl --version
  WSL バージョン: 2.0.0.0
  カーネル バージョン: 5.15.123.1-1
  WSLg バージョン: 1.0.57  

実験的機能を使う

.wslconfig(windows側の設定ファイル)に以下のパラメータを追加する

~\.wslconfig
[experimental]
autoMemoryReclaim=gradual | dropcache | disabled
sparseVhd=true
# 以下の機能はWindows11のみ(令和5年9月19日現在)
autoProxy=true
# 以下の機能はWindows Insider Programでのみ有効(令和5年9月19日現在)
networkingMode=mirrored
dnsTunneling=true
firewall=true

------------------- ↓ 後書きはここから ↓-------------------

podmanで不具合(ver2.0.2で解決済み)

autoMemoryReclaim=gradual使用時にpodmanのコンテナ起動時にエラーがでた

bash
docker compose up -d
・・・
Error response from daemon: crun: cgroups in hybrid mode not supported, drop all controllers from cgroupv2: OCI runtime error

autoMemoryReclaim=dropcache に変更で解決

~\.wslconfig
[experimental]
autoMemoryReclaim=dropcache

Discussion