🦁

【WSL】 割り当てるディスク領域を増やす

2024/02/15に公開

こちらで紹介した方法で、STARのindex作成を行ったところ、以前は成功していたのに同じコマンドでエラーが出るようになった。


エラー画面



書き込み権限関係かと思っていたが、調べてみるとディスク書き込み容量のせいだとか。

https://github.com/alexdobin/STAR/issues/410
https://groups.google.com/g/rna-star/c/qkGJFlE5qh8


しかし、WSLがあるドライブはまだまだ空き容量がある。
ということでWSLに割り当てられているドライブ容量を変更する。
https://learn.microsoft.com/ja-jp/windows/wsl/disk-space#how-to-check-your-available-disk-space


手順

1. WSLを終了

Powershellでwsl --shutdownする。
wsl -l -vで全てのディストリビューションが終了していることを確認できる。)

Docker Desktopが動いているときはwsl --shutdownでちゃんと終わらないかも。タスクバーのDockerアイコンを右クリックしてメニューから終わらせる。

2. diskpart

管理者権限でコマンドプロンプトを立ち上げて、diskpartと打ち込む。

プロンプトが「DISKPART> 」に変わる。

3. 仮想ディスクファイルを選択

「ext4.vhdx」というファイルのファイルパスを使用する。私の場合は次のようなパスであった。

select vdisk file="C:\Users\admin\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"

4. ディスク割り当てサイズを指定する。

detail vdiskコマンドで現在のディスク割り当てが確認できる。

この仮想サイズの上限を上げる。
MB単位で指定するとのこと。1024 GB (1024000 MB)から2048000 MBへ変更する。

expand vdisk maximum=2048000

再び詳細を見ると、仮想サイズの上限が上がっていた。(2048GBではなく2000GBになっていた。)

5. DiskPartを終了

exitでDiskPartを終了する。

exit


6. WSL側も設定

紹介通り進めた。

sudo mount -t devtmpfs none /dev

mount | grep ext4

私の場合は「sdc」だが、ここはドライブによって変わる?みたい。一つ上のコマンドの出力を参照すればいいみたい。

sudo resize2fs /dev/sdc 2048000M


これでSTAR index作成でのディスク容量エラーが解消した。


compact vdiskも行ったが、私の場合は効果が無かった。

https://qiita.com/siruku6/items/c91a40d460095013540d#5-diskpartを使う

Discussion