この記事はSecHack365 Advent Calendar 2024 3日目の記事です。
こんにちは、ふたばとです。
今回は、WSL の仮想ハードディスクサイズの拡張、つまり WSL に割くストレージの量を拡張します。
先日のこちらの記事は、Windows 側のストレージの話です。
1. 現在のディスク使用状況を確認する
まず、現在のディスク使用状況を確認します。以下のコマンドを実行してください。
$ df -h /mnt/wslg/distro
例として、以下のような出力が得られます。
Filesystem Size Used Avail Use% Mounted on /dev/sdc 251G 239G 0 100% /mnt/wslg/distro
2. DiskPartを使用して仮想ディスクを選択する
次に、Windows PowerShell を開き、DiskPart を使用して仮想ディスクを選択します。
仮想ディスク(.vhdxファイル)のパスの取得の仕方は、以下のブログをご参照ください。
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新機能と改善のために最新の PowerShell をインストールしてください!https://aka.ms/PSWindows PS C:\WINDOWS\system32> diskpart Microsoft DiskPart バージョン 10.0.22621.1 Copyright (C) Microsoft Corporation. コンピューター: FUTABATO-DESKTO DISKPART> Select vdisk file="$env:USERPROFILE\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx" DiskPart により、仮想ディスク ファイルが選択されました。
仮想ディスクが選択されたことを確認し、詳細をみます。
DISKPART> detail vdisk
デバイスの種類 ID: 0 (不明)
ベンダー ID: {00000000-0000-0000-0000-000000000000} (不明)
状態: 追加済み
仮想サイズ: 256 GB
物理サイズ: 250 GB
(snip)
3. 仮想ディスクのサイズを拡張する
仮想ディスクのサイズを拡張するには、以下のコマンドを実行します。
DISKPART> expand vdisk maximum=524288 100% 完了しました DiskPart により、仮想ディスク ファイルは正常に拡張されました。
拡張が完了したことを確認してみます。
DISKPART> detail vdisk
デバイスの種類 ID: 0 (不明)
ベンダー ID: {00000000-0000-0000-0000-000000000000} (不明)
状態: 追加済み
仮想サイズ: 512 GB
物理サイズ: 250 GB
(snip)
DiskPart を終了します。
DISKPART> exit DiskPart を終了しています... PS C:\WINDOWS\system32>
4. ファイルシステムのサイズを調整する
WSL を起動します。
$ df -h /mnt/wslg/distro
この時点では、まだ何も変わっていないでしょう。
Filesystem Size Used Avail Use% Mounted on /dev/sdc 251G 239G 0 100% /mnt/wslg/distro
デバイスをマウントします。
$ sudo mount -t devtmpfs none /dev
既にマウントされている場合、mount: /dev: none は /mnt/wsl にマウント済みです. とメッセージが表示されます。
マウントされたファイルシステムを確認します。
$ mount | grep ext4
例として、以下のような出力が得られます。
/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)
resize2fs コマンドを使用してファイルシステムのサイズを調整します。
$ sudo resize2fs /dev/sdc 524288M
例として、以下のような出力が得られます。
resize2fs 1.45.5 (07-Jan-2020) Filesystem at /dev/sdc is mounted on /; on-line resizing required old_desc_blocks = 32, new_desc_blocks = 64 The filesystem on /dev/sdc is now 134217728 (4k) blocks long.
これにて正常に ext4 の仮想ハードディスクサイズが拡張されました。
5. 変更を確認する
$ df -h /mnt/wslg/distro
わいわい。
Filesystem Size Used Avail Use% Mounted on /dev/sdc 503G 239G 237G 51% /mnt/wslg/distro
この記事はSecHack365 Advent Calendar 2024 3日目の記事です。
昨日 2 日の記事は しーぴーくん の WebUIをサッと作るツールとしてのhtmx でした。
明日 3 日の記事があるかはわかりません。