Windows Subsystem for Linux (WSL) 環境でディスク容量が不足し、業務が中断されて困っている方もいるでしょう。
仮想ディスクの容量は初期設定のままだと、すぐに上限に達する場合があります。
この記事では、WSL2で利用するリナックス仮想ディスクの容量を、コマンドを使って手動で拡張する手順を解説します。
本記事を読むことで、WSL2のディスク容量不足の問題を解消し、安定した開発環境を維持できるようになります。
【要点】WSL2リナックス仮想ディスクの容量不足を解消する
- WSL環境の終了: 拡張操作中にデータ破損を防ぎます。
- 仮想ディスクパスの確認: 拡張対象となるVHDXファイルを特定します。
- 仮想ディスク容量の拡張: Windowsのdiskpartコマンドで仮想ディスクの上限サイズを変更します。
- WSL環境の起動とファイルシステム拡張: リナックス側で新しい容量を認識させ、利用可能にします。
ADVERTISEMENT
目次
WSL2リナックス仮想ディスク拡張の概要と前提条件
WSL2は、Hyper-V仮想化技術を利用してWindows上でリナックス環境を提供します。
リナックスのファイルシステムは、VHDX形式の仮想ディスクファイル内に保存されています。
初期設定の仮想ディスクは最大256GBに制限されており、これを超えるとディスク不足エラーが発生します。
この手順では、wsl --shutdownコマンドでWSLを終了させ、diskpartコマンドでVHDXファイルの最大サイズを拡張します。
その後、リナックス環境を起動し、resize2fsコマンドを用いてファイルシステムの容量を実際に拡張します。
この操作はWSL2環境でのみ有効です。WSL1ではファイルシステムがNTFS上に直接存在するため、仮想ディスクの拡張は不要です。
WSL2環境の確認
まず、拡張対象のリナックスディストリビューションがWSL2で動作していることを確認します。
コマンドプロンプトやPowerShellでwsl --list --verboseと入力し、StateがRunningまたはStoppedで、Versionが2であることを確認してください。
リナックス仮想ディスクをコマンドで拡張する具体的な手順
仮想ディスクの拡張は、Windows側でのVHDXファイルの最大サイズ変更と、リナックス側でのファイルシステム拡張の2段階で実施します。
拡張準備と仮想ディスクパスの特定
- WSL環境を完全に停止する
コマンドプロンプトまたはPowerShellを管理者として開き、wsl --shutdownと入力してEnterキーを押します。
この操作により、すべてのWSLディストリビューションが停止し、仮想ディスクファイルへのアクセスが可能になります。 - リナックスディストリビューションのインストール場所を確認する
コマンドプロンプトまたはPowerShellでwsl --list --verboseと入力し、拡張したいディストリビューション名を確認します。 - 仮想ディスクファイルVHDXのパスを特定する
通常、WSL2の仮想ディスクファイルは以下のパスにあります。
%LOCALAPPDATA%\Packages\<ディストリビューションID>\LocalState\ext4.vhdx
<ディストリビューションID>は、ディストリビューション名によって異なります。
例えば、Ubuntuの場合はCanonicalGroupLimited.UbuntuonWindows_<ランダムな文字列>のようなフォルダ名になります。
エクスプローラーで%LOCALAPPDATA%\Packagesを開き、該当するディストリビューションのフォルダを見つけて、LocalStateフォルダ内のext4.vhdxファイルのフルパスをコピーしておきます。
Diskpartで仮想ディスクの最大サイズを拡張する
- 管理者としてコマンドプロンプトを起動する
Windowsの検索ボックスに「cmd」と入力し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。 - diskpartを起動する
コマンドプロンプトでdiskpartと入力し、Enterキーを押します。
diskpartのプロンプトDISKPART>が表示されます。 - 仮想ディスクを選択する
select vdisk file="<手順3で特定したVHDXファイルのフルパス>"と入力し、Enterキーを押します。
例:select vdisk file="C:\Users\your_user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_xxxxxxxxxxxxx\LocalState\ext4.vhdx"
「仮想ディスク ファイルが選択されました」と表示されます。 - 仮想ディスクの最大サイズを拡張する
expand vdisk maximum=<新しい最大サイズ_MB単位>と入力し、Enterキーを押します。
例:expand vdisk maximum=500000(これは500GBに拡張する例です。必要なサイズをMB単位で指定してください。)
「DiskPart は仮想ディスクを正常に拡張しました」と表示されます。 - diskpartを終了する
exitと入力し、Enterキーを押してdiskpartを終了します。
WSL環境を起動しファイルシステムを拡張する
- WSL環境を起動する
スタートメニューから拡張したリナックスディストリビューションを起動するか、コマンドプロンプトでwslと入力しEnterキーを押します。 - リナックスシェルを起動する
リナックスのシェルプロンプトが表示されます。 - ディスクのパーティション情報を確認する
lsblkコマンドを実行し、拡張した仮想ディスクのデバイス名を確認します。
通常、WSL2では/dev/sddや/dev/sdcなどのデバイス名が割り当てられます。
また、df -hコマンドで現在のディスク使用状況を確認します。 - ファイルシステムを拡張する
sudo resize2fs /dev/<デバイス名>と入力し、Enterキーを押します。
<デバイス名>は、lsblkで確認した仮想ディスクのデバイス名です。
例:sudo resize2fs /dev/sdd
「Filesystem at /dev/sdd is mounted on /; on-line resizing required」のようなメッセージが表示され、ファイルシステムが拡張されます。 - 拡張後のディスク容量を確認する
再度df -hコマンドを実行し、ファイルシステムが正しく拡張され、新しい容量が反映されていることを確認します。
仮想ディスク拡張時の注意点とよくある問題
仮想ディスクの容量を拡張する際には、いくつかの注意点やよくある問題があります。これらを知っておくことで、スムーズな作業が可能です。
WSL環境の終了を忘れるとエラーになる
diskpartで仮想ディスクを操作する前に、wsl --shutdownコマンドでWSLを完全に終了させる必要があります。
WSLが動作している状態では、仮想ディスクファイルがロックされ、diskpartでエラーが発生します。
エラーメッセージが表示された場合は、WSLをシャットダウンしてから操作をやり直してください。
VHDXファイルのパスを間違えて指定してしまう
select vdisk file="..."コマンドでVHDXファイルのパスを誤って指定すると、正しい仮想ディスクを操作できません。
特に、複数のWSLディストリビューションをインストールしている場合、誤ったファイルを指定する可能性があります。
%LOCALAPPDATA%\Packages以下のフォルダ構造を慎重に確認し、目的のディストリビューションに対応するext4.vhdxファイルを指定してください。
diskpartで指定するサイズが不適切である
expand vdisk maximum=<サイズ>コマンドで指定するサイズは、現在の仮想ディスクサイズよりも大きくする必要があります。
また、Windowsがサポートする最大値や、ファイルシステムがサポートする最大値を超えるサイズを指定すると、エラーになる場合があります。
必要な容量をMB単位で正確に計算し、無理のない範囲で拡張サイズを設定することが重要です。
リナックス側でファイルシステム拡張コマンドを間違える
リナックス側のresize2fsコマンドは、対象となるデバイス名を正確に指定する必要があります。
/dev/sddのようなデバイス名は、環境によって異なる場合があります。
必ずlsblkコマンドで現在のデバイス構成を確認し、正しいデバイス名を指定してください。
また、sudoを付けて管理者権限で実行することも忘れないでください。
ADVERTISEMENT
Windows 11とWindows 10でのWSL仮想ディスク拡張の違い
| 項目 | Windows 11 | Windows 10 |
|---|---|---|
| WSL2の利用 | 標準で利用可能 | バージョン2004以降で利用可能 |
| 基本的な拡張手順 | 共通のコマンド操作 | 共通のコマンド操作 |
| WSLのインストール | ストアアプリまたはwsl --installで容易 |
手動での機能有効化が必要な場合がある |
| 設定画面のUI | 「設定」アプリのデザインが刷新 | 従来の「設定」アプリデザイン |
| 推奨される操作環境 | PowerShell 7またはWindows Terminal | PowerShellまたはコマンドプロンプト |
まとめ
WSL2のリナックス仮想ディスク容量を、コマンド操作で手動で拡張する手順を解説しました。
wsl --shutdownからdiskpart、そしてリナックス側でのresize2fsまでの一連の操作を理解できたでしょう。
これにより、WSL環境でのディスク容量不足の問題を解決し、安定した開発やテスト作業を継続できます。
今後のリソース管理のために、定期的なディスク使用状況の確認と計画的な拡張を検討してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】Cドライブが赤い!空き容量不足を解消して数GBを一瞬で空ける4つの最強クリーンアップ術
