前文のおすすめ#
「折腾」VSCode + wsl2 + Docker 探究_コンピューターネットワーク_沈氷浮水
「折腾」謎の方法で wsl2 内の Docker の自動起動を解決する_コンピューターネットワーク_沈氷浮水
しかし、結果的には wsl2 内の Docker の自動起動は解決されませんでした。zsh を変更したことで、npm コマンドが実行できなくなりました。「後で気づいたら、zsh を変更しなくてもできることに気づきました。。囧」
それから、少なくとも wsl をバックアップしておくことにしました。
wsl --export Ubuntu-18.04 "wsl-$(date +%Y-%m-%d).tar"
得られたファイルは 29.1GB ですが、前回のバックアップはちょうど 1 ヶ月前で、サイズは 5.88GB でした。
wsl2 の停止#
Docker Desktop をインストールしている場合は、まず終了してください。
# リストを表示
wsl.exe --list --verbose
# NAME STATE VERSION
# * Ubuntu-18.04 Running 2
# 停止
wsl.exe --terminate Ubuntu-18.04
wsl.exe --list --verbose
# NAME STATE VERSION
# * Ubuntu-18.04 Stopped 2
ファイルパス#
まず、いくつかのフォルダのパスをメモしておきます。
%USERPROFILE%\AppData\Local\
%USERPROFILE%\AppData\LocalLow\
%USERPROFILE%\AppData\Roaming\
wsl2 の保存場所は %USERPROFILE%\AppData\Local\Packages\
内にあり、異なる Linux ディストリビューションには異なる接頭辞があります。例えば、Pengwin はWhitewaterFoundryLtd.Co
、Ubuntu はCanonicalGroupLimited
、Debian はTheDebianProject
です。
私が使っているのは Ubuntu-18.04 で、最終的なパスは次のようになります:%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
diskpart を使用して wsl2 の仮想ディスクを圧縮する#
コマンドプロンプトで diskpart ツールを起動します。
diskpart
新しいウィンドウが開き、そのウィンドウで次のコマンドを実行します。
# 実際のパスを置き換えてください
select vdisk file="%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"
# DiskPart は仮想ディスク ファイルを正常に選択しました。
# 圧縮を実行
compact vdisk
# 100% 完了しました
# DiskPart は仮想ディスク ファイルを正常に圧縮しました。
wsl --export
よりも実行速度が速く、実行後に気づいたのですが、圧縮前の ext4.vhdx
ファイルのサイズを覚えていません。おそらく 39G だったと思いますが、実行後は 30G になりました。
出典#
WSL2 のディスク使用量をクリーンアップする - enrio - 博客园:
https://www.cnblogs.com/enrio/p/14222648.html
まとめ#
以前、古いノートパソコンで docker desktop を使用したことがありますが、動作が非常に遅かったため、あまり良い印象はありませんでした。そのため、今回は最初にそれを選択しませんでした。
一応、次のようにインストールしました。
wsl -l -v
# NAME STATE VERSION
# * Ubuntu-18.04 Running 2
# docker-desktop Running 2
# docker-desktop-data Running 2
また、次のオプションも有効にしましたが、その後どうなりましたか?
リソース
WSL インテグレーション追加のディストリビューションとの統合を有効にする:
[√] Ubuntu-18.04