WSL2 のディスクサイズを削減する

 

NOTE

WSL2 のディスク使用量は、残念ながら WSL2 内部のファイルを消してもサイズが小さくならないらしいです。私のPC環境でも全く効果ありませんでした。

Windows の管理ツールを使用して WSL2 ディスク使用量を削減する方法について調べたのでここに記載します。

 

 

 

 

1. Optimize-VHD コマンドによる方法

 

NOTE

Optimize-VHD を使う方法がよく紹介されていますが、Optimize-VHD は Hyper-V に含まれる機能です。Hyper-V は "Windows11 Pro" では使用できますが、"Windows11 Home" では残念ながら使用できません。

"Windows11 Home" をお使いの方は後述の記事[2. diskpart コマンドによる方法」を参照ください。

 

"*Ubuntu*" でフィルタして Get-AppxPackage することで自分の Ubuntu (WSL2) 一覧を見つけることができます。
下図例では Ubunt24.04LTS と Ubuntu22.04LTS の2つがあることを示しています。

ここで注意したいことは、PackageFullName:CanonicalGroupLimited.Ubuntu24.04LTS_2404.1.26.0_x64__79rhkp1fndgsc が実際に存在するパスは "C:\Users\kinos\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx" であることです。今後使用するコマンドでは後者のフルパスを使用します。(※私の場合の実例です)

 

テスト

 

以下の手順で Optimize-VHD コマンドによる VHD ファイルを最適化を行います。

  1. PowerShell で WSL を停止します
    wsl --shutdown
  2. optimize-vhd コマンドを以下のように実行し、vhdx ファイルを最適化します
    ここでは "Ubuntu24.04" の vhdx ファイルを最適化する例を記載します。
    optimize-vhd -Path C:\Users\kinos\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx -Mode full
  3. WSL 再起動は "wsl -d" の後に対象ディストリビューションを指定することで行います。
    同様に "Ubuntu-24.04" を引数にして実行します。

    wsl -d による起動

 

2. diskpart コマンドによる方法

Optimize-VHD を利用できない場合、diskpart コマンドを使用して VHD ファイルを最適化することも可能です。以下の手順を試してみてください。

  1. PowerShell で WSL を停止します
    wsl --shutdown
  2. 以下のコマンドを実行することで diskpart を起動します
    diskpart
  3. diskpart のコマンドプロンプトで以下のコマンドを実行します
    select vdisk file="C:\<path>\your.vhdx"
    attach vdisk readonly
    compact vdisk
    deatch vdisk
    exit
    前章で紹介の例と同じ内容だと下記のように入力します
    select vdisk file="C:\Users\kinos\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"
    attach vdisk readonly
    compact vdisk
    deatch vdisk
    exit

 

 

ライセンス

本ページの情報は、特記無い限り下記 MIT ライセンスで提供されます。

The MIT License (MIT)

  Copyright 2025 Kinoshita Hidetoshi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

 

参考

 


 

変更履歴

2025-03-26 - 新規作成

 

Programming Items トップページ

プライバシーポリシー