WindowsにWSLをインストールすると、そのLinuxにはデフォルトで1TBの領域が割り当てられます。
今回、大きなディスク領域を必要とする作業を予定していて、Windows用のVMに3TBのディスクを割り当てましたが、WSLのUbuntuの領域としては1TBだけが割り当てられていました。この領域を拡張できることがわかったのでやってみました。
参考:
【作業前の状態】
Linux Df コマンドを使用して、WSL 2 と共にインストールされた Linux ディストリビューションの VHD で使用可能なディスク領域の量を確認します。
PS C:\Users\user01> wsl.exe --system -d Ubuntu df -h /mnt/wslg/distro
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 1007G 99G 857G 11% /mnt/wslg/distro
参考)WSL Ubuntuコマンドラインからのdf -h
出力
user01@DESKTOP-2RV6EAU:~$ df -h
Filesystem Size Used Avail Use% Mounted on
none 16G 4.0K 16G 1% /mnt/wsl
none 3.0T 230G 2.8T 8% /usr/lib/wsl/drivers
none 16G 0 16G 0% /usr/lib/modules
none 16G 0 16G 0% /usr/lib/modules/5.15.146.1-microsoft-standard-WSL2
/dev/sdc 1007G 99G 857G 11% /
none 16G 172K 16G 1% /mnt/wslg
none 16G 0 16G 0% /usr/lib/wsl/lib
rootfs 16G 1.9M 16G 1% /init
none 16G 792K 16G 1% /run
none 16G 0 16G 0% /run/lock
none 16G 168K 16G 1% /run/shm
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
none 16G 76K 16G 1% /mnt/wslg/versions.txt
none 16G 76K 16G 1% /mnt/wslg/doc
C:\ 3.0T 230G 2.8T 8% /mnt/c
snapfuse 128K 128K 0 100% /snap/bare/5
snapfuse 74M 74M 0 100% /snap/core22/864
snapfuse 75M 75M 0 100% /snap/core22/1122
snapfuse 92M 92M 0 100% /snap/gtk-common-themes/1535
snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1276
snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1286
snapfuse 41M 41M 0 100% /snap/snapd/20290
snapfuse 40M 40M 0 100% /snap/snapd/21184
以下の手順で、Linux ディストリビューションの VHD サイズを、割り当てられたディスク領域の既定の最大容量である 1TB を超えて拡張することができます。
-
WSL インスタンスを終了します。
PowerShellにてPS C:\Users\user01> wsl.exe --shutdown
-
Linux ディストリビューション(今回の例では
Ubuntu
)の .vhdx ファイルとディレクトリ パスを見つけます。PowerShellにてPS C:\Users\user01> (Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq 'Ubuntu' }).GetValue("BasePath") + "\ext4.vhdx" C:\Users\user01\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
-
Diskpart コマンド インタープリターを起動します。
PS C:\Users\user01> diskpart
別ウィンドウでDiskPartが起動Microsoft DiskPart バージョン 10.0.22621.1 Copyright (C) Microsoft Corporation. コンピューター: DESKTOP-2RV6EAU DISKPART>
-
次のコマンドを入力し、ステップ2で取得したLinux ディストリビューションに関連付けられている ext4.vhdx ファイルへのディレクトリ パスを指定します。
DISKPART> Select vdisk file="C:\Users\user01\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx" DiskPart により、仮想ディスク ファイルが選択されました。
-
VHD が割り当てられている現在の最大サイズを表す仮想サイズなど、この仮想ディスクに関連付けられている詳細を表示します
DISKPART> detail vdisk デバイスの種類 ID: 0 (不明) ベンダー ID: {00000000-0000-0000-0000-000000000000} (不明) 状態: 追加済み 仮想サイズ: 1024 GB 物理サイズ: 100 GB ファイル名: C:\Users\user01\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx 子: いいえ 親ファイル名: 関連付けられたディスク番号: 見つかりません。
-
仮想サイズを拡張します。今回は最大サイズを2TB (2048000MB) に拡張する例です。*サイズはメガバイト単位で指定します。その後、Diskpartを終了します。
DISKPART> expand vdisk maximum=2048000 100% 完了しました DiskPart により、仮想ディスク ファイルは正常に拡張されました。 DISKPART> detail vdisk デバイスの種類 ID: 0 (不明) ベンダー ID: {00000000-0000-0000-0000-000000000000} (不明) 状態: 追加済み 仮想サイズ: 2000 GB 物理サイズ: 100 GB ファイル名: C:\Users\user01\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx 子: いいえ 親ファイル名: 関連付けられたディスク番号: 見つかりません。 DISKPART> exit DiskPart を終了しています... PS C:\Users\user01>
-
このディストリビューションのファイル システムのサイズを拡張できることを WSL に認識させます。
WSLコマンドラインにてuser01@DESKTOP-2RV6EAU:~$ sudo mount -t devtmpfs none /dev mount | grep ext4 [sudo] password for user01: mount: /dev: none already mounted on /mnt/wsl. /dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered) /dev/sdc on /mnt/wslg/distro type ext4 (ro,relatime,discard,errors=remount-ro,data=ordered) /dev/sdc on /snap type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered) user01@DESKTOP-2RV6EAU:~$ df -h Filesystem Size Used Avail Use% Mounted on none 16G 4.0K 16G 1% /mnt/wsl none 3.0T 230G 2.8T 8% /usr/lib/wsl/drivers none 16G 0 16G 0% /usr/lib/modules none 16G 0 16G 0% /usr/lib/modules/5.15.146.1-microsoft-standard-WSL2 /dev/sdc 1007G 99G 857G 11% / none 16G 88K 16G 1% /mnt/wslg none 16G 0 16G 0% /usr/lib/wsl/lib rootfs 16G 1.9M 16G 1% /init none 16G 744K 16G 1% /run none 16G 0 16G 0% /run/lock none 16G 168K 16G 1% /run/shm tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup none 16G 76K 16G 1% /mnt/wslg/versions.txt none 16G 76K 16G 1% /mnt/wslg/doc C:\ 3.0T 230G 2.8T 8% /mnt/c snapfuse 40M 40M 0 100% /snap/snapd/21184 snapfuse 128K 128K 0 100% /snap/bare/5 snapfuse 75M 75M 0 100% /snap/core22/1122 snapfuse 41M 41M 0 100% /snap/snapd/20290 snapfuse 92M 92M 0 100% /snap/gtk-common-themes/1535 snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1286 snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1276 snapfuse 74M 74M 0 100% /snap/core22/864
-
resize2fsコマンドを使用して、この Linux ディストリビューションの仮想ドライブ (ext4.vhdx) を新しいサイズに拡張します。以下は
/dev/sdc
を2TBに拡張する例です。WSLコマンドラインにてuser01@DESKTOP-2RV6EAU:~$ sudo resize2fs /dev/sdc 2048000M resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/sdc is mounted on /; on-line resizing required old_desc_blocks = 128, new_desc_blocks = 250 The filesystem on /dev/sdc is now 524288000 (4k) blocks long.
【作業後の状態】
PS C:\Users\user01> wsl.exe --system -d Ubuntu df -h /mnt/wslg/distro
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 2.0T 99G 1.8T 6% /mnt/wslg/distro
参考)WSL Ubuntuコマンドラインからのdf -h
出力
user01@DESKTOP-2RV6EAU:~$ df -h
Filesystem Size Used Avail Use% Mounted on
none 16G 4.0K 16G 1% /mnt/wsl
none 3.0T 230G 2.8T 8% /usr/lib/wsl/drivers
none 16G 0 16G 0% /usr/lib/modules
none 16G 0 16G 0% /usr/lib/modules/5.15.146.1-microsoft-standard-WSL2
/dev/sdc 2.0T 99G 1.8T 6% /
none 16G 88K 16G 1% /mnt/wslg
none 16G 0 16G 0% /usr/lib/wsl/lib
rootfs 16G 1.9M 16G 1% /init
none 16G 744K 16G 1% /run
none 16G 0 16G 0% /run/lock
none 16G 168K 16G 1% /run/shm
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
none 16G 76K 16G 1% /mnt/wslg/versions.txt
none 16G 76K 16G 1% /mnt/wslg/doc
C:\ 3.0T 230G 2.8T 8% /mnt/c
snapfuse 40M 40M 0 100% /snap/snapd/21184
snapfuse 128K 128K 0 100% /snap/bare/5
snapfuse 75M 75M 0 100% /snap/core22/1122
snapfuse 41M 41M 0 100% /snap/snapd/20290
snapfuse 92M 92M 0 100% /snap/gtk-common-themes/1535
snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1286
snapfuse 132M 132M 0 100% /snap/ubuntu-desktop-installer/1276
snapfuse 74M 74M 0 100% /snap/core22/864