💿

WSL2 の .vhdx をコンパクトにする

に公開

背景

WSL の Ubuntu 内でファイルを削除しても肥大化した .vhdx ファイルは自動的に小さくなりません。
ストレージがかつかつで困ったのでコンパクトにする方法を調べました。
忘れないうちにメモを残しておきます。

環境

  • Windows10 Home
  • Ubuntu 20.04(Microsoft Store よりインストール)
  • WSL2
  • WSL バージョン 2.4.13.0

方法

wsl が起動している場合、wsl --shutdown で先に停止しておく必要があります。

以下のコマンドを実行してディスク管理ツールを起動します。

diskpart

起動したら、次のコマンドでコンパクトにします。

select vdisk file="対象の.vhdxファイル"
attach vdisk readonly
compact vdisk
detach vdisk

※200GB くらいの .vhdx ファイルに対して 5-10 分程度かかりました。

.vhdx ファイルの場所

今回は Microsoft Store からインストールしたものなので、次のパスに .vhdx が保存されていました。

C:\Users\{ユーザー名}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState

まとめ

diskpart で compact vdisk をしましょう。

Discussion