WSL2の覚書

WSL2とは?

Linux 用 Windows サブシステムです。

Windows で GNU/Linux を使用できる仮想環境となってます。

一次情報源

Microsoft / Windows Subsystem for Linux に関するドキュメント

注意事項

  1. 2024/10 時点の Windows 11, version 23H2 で確認しています。
  2. コマンドは管理者として実行したターミナル (PowerShell) で入力します。

Linux ディスクを WSL2 にマウントする

ドキュメントにある通りですが

ディスク識別

PS > GET-CimInstance -query "SELECT * from Win32_DiskDrive"

マウント

次の例では、PHYSICALDRIVE2 として識別された ext4 のパーティション1 を /mnt/wsl/PHYSICALDRIVE2p1 にマウントします。

PS > wsl --mount \\.\PHYSICALDRIVE2 --partition 1

ファイルシステム指定を省略しているので、ext4として認識してくれます。

WSL2でネットワークが遅い

apt や git が明らかに遅い場合があります。

Hyper-V firewall の Large Send Offload を無効化すると改善するとのことです。

WSL2が起動している場合、シャットダウンしておきます。

PS > wsl --shutdown

ネットワークアダプター名を確認します。

PS > ipconfig /all

イーサネット アダプター vEthernet (WSL (Hyper-V firewall)):

   接続固有の DNS サフィックス . . . . .:
   説明. . . . . . . . . . . . . . . . .: Hyper-V Virtual Ethernet Adapter

設定を確認します。

PS > Get-NetAdapterAdvancedProperty -IncludeHidden -Name "vEthernet (WSL (Hyper-V firewall))"

Name                      DisplayName                    DisplayValue RegistryKeyword RegistryValue
----                      -----------                    ------------ --------------- -------------
...
vEthernet (WSL (Hyper-V … Large Send Offload Version 2 … Enabled      *LsoV2IPv4      {0}
vEthernet (WSL (Hyper-V … Large Send Offload Version 2 … Enabled      *LsoV2IPv6      {0}
...

Enabled になっていますので、これを無効化します。

PS > Disable-NetAdapterLso -IncludeHidden -Name "vEthernet (WSL (Hyper-V firewall))"

再度確認して、Disabledになっていればネットワークの速度が改善されるはずです。

0 件のコメント:

コメントを投稿