目的:
WSLに割り当てられているディスク容量を拡張する概要:
WSL の空き容量に不安があったため、使用できるディスク容量の拡張を行う。WSL は仮想ハードディスク上にインストールされているため、この仮想ハードディスクの容量を増やし、WSLのファイルシステムサイズを拡張する。
尚、WSLの仮想ハードディスクは ext4 であるが、ext4 の場合、拡張はできるが縮小はできないとのこと。
容量の拡張は、
仮想ハードディスクの保存パスの探索
仮想ディスク容量の拡張
ファイルシステムのサイズを変更
の順に行う。仮想ディスク容量の拡張
ファイルシステムのサイズを変更
手順:
事前準備
- 端末等、WSL が起動していれば 終了させる。
- PowerShell を 管理者権限で起動する。
念のため、PowerShell から
wsl.exe --shutdownを実行しておく。
仮想ハードディスクの保存パスの探索
- ディストリビューションのパッケージ名を探す。
PowerShell で "Get-AppxPackage" コマンドでディストリビューションのパッケージ名を探す。(Debian, Ubuntu, openSUSE 等で 探す)
Get-AppxPackage "*[WSLディストリビューション名の一部]*" | select packagefullname例えば debian の場合
Get-AppxPackage "*Debian*" | select packagefullnameで パッケージ名が表示される。
- ディストリビューションのパスを探す。
PowerShell で "Get-ChildItem" コマンドでパッケージのフルパスを探す。Get-ChildItem $env:LOCALAPPDATA\packages\[パッケージ名の先頭]を入力して Tab キー を押下すると パッケージのパスが表示される。
(そのまま [Enter] を押下するとディレクトリの内容が表示される )
仮想ディスク容量の拡張
PowerShellで、以下の様に仮想ディスク容量の拡張を行う。- diskpart コマンド起動
- select vdisk コマンドで 容量を拡張する仮想ディスクを指定する。
仮想ディスクは ディストリビューションのパスに LocalState\ext4.vhdx を付加したもの。 - detail vdisk コマンド で現在の仮想ディスクの情報(サイズ等) を確認する。
- EXPAND VDISK MAXIMUN=[仮想ディスクサイズ] で 拡張を行う。
diskpart
select vdisk file=[パッケージのフルパス]\LocalState\ext4.vhdx
detail vdisk
EXPAND VDISK MAXIMUM=393216
exit
select vdisk file=[パッケージのフルパス]\LocalState\ext4.vhdx
detail vdisk
EXPAND VDISK MAXIMUM=393216
exit
ファイルシステムのサイズを変更
仮想ディスクの容量を拡張した後、ファイルシステムのサイズを拡大する。- WSLのディストリビューション(端末) を起動
- 現在のファイルシステムのデバイス名とサイズを確認しておく。
WSLの端末から
df -hを実行し、マウント位置 が / になっている デバイス名と容量を確認する。
例
(この場合、デバイス名 /dev/sdb , 容量 251G) - ファイルシステムサイズを変更 resize2fs コマンドでファイルシステムサイズを変更。
- 拡張後のサイズを確認する。
書式 : sudo resize2fs [デバイス名] [拡張後の容量]
例
sudo resize2fs /dev/sdb 384G
df -h
結果例サイズが 377G に拡張されたことを確認できた。
0 件のコメント:
コメントを投稿