Open3

WSL備忘録

ichitadonichitadon

WindowsのエクスプローラからWSLのファイルシステムにアクセスする

Windows10(19H1)以降であれば、ネットワークドライブとして出現する wsl$ というホストでアクセスが可能になる。エクスプローラのアドレスに以下を入力してアクセスすればよい。

\\wsl$
ichitadonichitadon

DockerDesktop (Use the WSL 2 based engine) で解放されないディスクを返却させる

DockerDesktop のバックエンドをWSL2にしていると、確保されたディスクが解放されずにそのままになり、ホスト側のディスクを圧迫することがある。この場合は、Optimize-VHD を使用してディスクの最適化を行うことでディスクを返却させることができる。

まず、Dockerをきれいにした後、DockerDesktopをコンソールなどから停止する。
次にPowerShellを管理者権限で起動し、以下のコマンドでWSLを停止する。

wsl --shutdown

Dockerのディスクファイルに対して Optimize-VHD を実行する。ディスクファイルは以下の場所に配置されている。

  • %LocalAppData%\Docker\wsl\data\ext4.vhdx

以下のコマンドでディスクの最適化を実行する。

Optimize-VHD -Path $env:LocalAppData\Docker\wsl\data\ext4.vhdx -Mode full

https://docs.microsoft.com/ja-jp/powershell/module/hyper-v/Optimize-VHD?view=win10-ps

ichitadonichitadon

Optimize-VHD のインストール

Hyper-Vの機能をインストールすれば Optimize-VHD が使用可能になる。Hyper-Vの利用ができない Windows Home は使用できない。

コントロールパネルから [プログラム] -> [Windows の機能の有効化または無効化] で 「Windows の機能」のダイアログを表示し、[Hyper-Vの項目] にチェックを入れてOKする。Windows再起動後、機能が有効になり、Optimize-VHD も利用可能になる。