はじめに
WindowsのPCでディスクサイズが100%になり保存できなくなりました。それまでも警告は何度も出ていて、wls2だとはわかっていて、いろいろと不要なものを削除したりしていましたが、あまり効果はありませんでした。
このWSL2が使用するストレージ領域、特にVHD(Virtual Hard Disk)という形式のファイルが、使っているうちにどんどん大きくなってしまうことがあります。ファイルを削除しても、このVHDのサイズが小さくならないという問題に直面することがあります。
たとえば、大きなデータをダウンロードした後でそれを削除しても、実際にはWSL2のストレージ領域が減少しないという現象が起こることがあります。
この解決方法について詳しく解説していきます。
原因
この「不要なスペースが残る」という問題は、VHDが動的ディスクであることに起因しています。VHDは実際に使用しているデータ量に応じてサイズが動的に変化しますが、ファイルを削除した場合、即座にVHDのサイズが縮小するわけではありません。
この問題を解決するためには、後に紹介する特定の手段を使って、VHDのサイズを手動で最適化する必要があります。
VHDのサイズを最適化する手順
VHDのサイズを最適化する前の確認事項
最適化を始める前に、いくつかの確認をしておきましょう。まず、WSL2が正常に動作していることを確認してください。また、予期せぬトラブルを避けるため、重要なデータは別の場所にバックアップしておくことをおすすめします。
VHDの最適化
VHDの最適化には、Optimize-VHD
というコマンドを使用します。
※「CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc」のこの部分『79rhkp1fndgsc』はそれぞれの環境によって異なります。
※以下の例は、特にサイズ問題が発生していない状態で行っています。
PS C:\WINDOWS\system32> ls C:\Users\[ユーザ]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
ディレクトリ: C:\Users\[ユーザ]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/07/08 22:38 7353663488 ext4.vhdx
PS C:\WINDOWS\system32> Optimize-VHD -Path "C:\Users\[ユーザ]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"
PS C:\WINDOWS\system32> ls C:\Users\[ユーザ]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
ディレクトリ: C:\Users\[ユーザ]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/10/23 23:02 7186939904 ext4.vhdx
VHDが最適化されてディスクサイズが減ったと思います。
以下のエラーが出る場合
Optimize-VHD : 用語 'Optimize-VHD' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前とし
て認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、
再試行してください。
Hyper-Vの導入
Windowsの機能のオン/オフからHyper-V
をインストールします。これには再起動が必要な場合があります。
Hyper-V モジュールの読み込み
PowerShellを管理者モードで開き、以下のコマンドを実行してHyper-Vモジュールを読み込みます。
PS C:\WINDOWS\system32> Import-Module Hyper-V
その後、先ほどのOptimize-VHD
コマンドを再度実行してみてください。
まとめ
WSL2を快適に使用するためには、定期的にVHDのサイズの最適化が必要です。このブログを参考にして、ストレージ領域の問題を解決し、より快適にWSL2を使いましょう。
コメント