LoginSignup
0
0

More than 1 year has passed since last update.

wsl2のディスクサイズ最適化

Last updated at Posted at 2022-08-18

自分用まとめ。

optimize-vhdコマンドが使えない人向け。(おそらくHyper-V関連をインストせずWSL2?Docker?を利用しているからと思われる)

vhdxファイルのパスを調べる

PowerShellを起動し以下のコマンド実行。(WSL2でUbuntuを利用の場合)
PackageFamilyNameの値をメモ。

> Get-AppxPackage -Name "*Ubuntu*"

Name              : CanonicalGroupLimited.Ubuntu20.04onWindows
Publisher         : CN=23596F84-C3EA-4CD8-A7DF-550DCE37BCD0
Architecture      : X64
ResourceId        :
Version           : 2004.2021.825.0
PackageFullName   : CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2021.825.0_x64__79rhkp1fndgsc
InstallLocation   : C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2021.825.0_x64__79rhkp
                    1fndgsc
IsFramework       : False
PackageFamilyName : CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc
PublisherId       : 79rhkp1fndgsc
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
NonRemovable      : False
Dependencies      : {CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2021.825.0_neutral_split.scale-150_79rhkp1fndgsc,
                    CanonicalGroupLimited.Ubuntu20.04onWindows_2004.2021.825.0_neutral_split.scale-100_79rhkp1fndgsc, C
                    anonicalGroupLimited.Ubuntu20.04onWindows_2004.2021.825.0_neutral_split.scale-125_79rhkp1fndgsc}
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok

PackageFamilyNameの値をもとにエクスプローラなどで次のディレクトリを確認。

C:\Users\{ユーザ名}\AppData\Local\Packages\{PackageFamilyName}\LocalState\ext4.vhdx

最適化実施(DISKPART利用)

1.PowerShellでWSLを止める

> wsl --shutdown

2. diskpartの操作

PowerShellでdiskpartを起動する(コマンドプロンプトが別途起動)
※Docker DesktopなどWSL上で動いている物があれば、予め停止しておく。

> diskpart

# ここから別に起動したコマンドプロンプト
> select vdisk file="C:\Users\{ユーザ名}\AppData\Local\Packages\{PackageFamilyName}\LocalState\ext4.vhdx"

DiskPart により、仮想ディスク ファイルが選択されました。

> attach vdisk readonly

  100% 完了しました

DiskPart により、仮想ディスク ファイルがアタッチされました。

> compact vdisk

  100% 完了しました

DiskPart により、仮想ディスク ファイルは正常に圧縮されました。

> detach vdisk

DiskPart により、仮想ディスク ファイルがデタッチされました。

> exit

3. WSL起動

PowerShellでディストリビューションの確認

> wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-20.04 (既定)
docker-desktop-data
docker-desktop

ディストリビューションの実行

> wsl -d Ubuntu-20.04
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0