【Windows】リナックスの仮想ディスク容量をコマンド操作で手動で拡張する手順

【Windows】リナックスの仮想ディスク容量をコマンド操作で手動で拡張する手順
🛡️ 超解決

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トラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

リナックス仮想ディスクをコマンドで拡張する具体的な手順

仮想ディスクの拡張は、Windows側でのVHDXファイルの最大サイズ変更と、リナックス側でのファイルシステム拡張の2段階で実施します。

拡張準備と仮想ディスクパスの特定

  1. WSL環境を完全に停止する
    コマンドプロンプトまたはPowerShellを管理者として開き、wsl --shutdownと入力してEnterキーを押します。
    この操作により、すべてのWSLディストリビューションが停止し、仮想ディスクファイルへのアクセスが可能になります。
  2. リナックスディストリビューションのインストール場所を確認する
    コマンドプロンプトまたはPowerShellでwsl --list --verboseと入力し、拡張したいディストリビューション名を確認します。
  3. 仮想ディスクファイルVHDXのパスを特定する
    通常、WSL2の仮想ディスクファイルは以下のパスにあります。
    %LOCALAPPDATA%\Packages\<ディストリビューションID>\LocalState\ext4.vhdx
    <ディストリビューションID>は、ディストリビューション名によって異なります。
    例えば、Ubuntuの場合はCanonicalGroupLimited.UbuntuonWindows_<ランダムな文字列>のようなフォルダ名になります。
    エクスプローラーで%LOCALAPPDATA%\Packagesを開き、該当するディストリビューションのフォルダを見つけて、LocalStateフォルダ内のext4.vhdxファイルのフルパスをコピーしておきます。

Diskpartで仮想ディスクの最大サイズを拡張する

  1. 管理者としてコマンドプロンプトを起動する
    Windowsの検索ボックスに「cmd」と入力し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。
  2. diskpartを起動する
    コマンドプロンプトでdiskpartと入力し、Enterキーを押します。
    diskpartのプロンプトDISKPART>が表示されます。
  3. 仮想ディスクを選択する
    select vdisk file="<手順3で特定したVHDXファイルのフルパス>"と入力し、Enterキーを押します。
    例: select vdisk file="C:\Users\your_user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_xxxxxxxxxxxxx\LocalState\ext4.vhdx"
    「仮想ディスク ファイルが選択されました」と表示されます。
  4. 仮想ディスクの最大サイズを拡張する
    expand vdisk maximum=<新しい最大サイズ_MB単位>と入力し、Enterキーを押します。
    例: expand vdisk maximum=500000 (これは500GBに拡張する例です。必要なサイズをMB単位で指定してください。)
    「DiskPart は仮想ディスクを正常に拡張しました」と表示されます。
  5. diskpartを終了する
    exitと入力し、Enterキーを押してdiskpartを終了します。

WSL環境を起動しファイルシステムを拡張する

  1. WSL環境を起動する
    スタートメニューから拡張したリナックスディストリビューションを起動するか、コマンドプロンプトでwslと入力しEnterキーを押します。
  2. リナックスシェルを起動する
    リナックスのシェルプロンプトが表示されます。
  3. ディスクのパーティション情報を確認する
    lsblkコマンドを実行し、拡張した仮想ディスクのデバイス名を確認します。
    通常、WSL2では/dev/sdd/dev/sdcなどのデバイス名が割り当てられます。
    また、df -hコマンドで現在のディスク使用状況を確認します。
  4. ファイルシステムを拡張する
    sudo resize2fs /dev/<デバイス名>と入力し、Enterキーを押します。
    <デバイス名>は、lsblkで確認した仮想ディスクのデバイス名です。
    例: sudo resize2fs /dev/sdd
    「Filesystem at /dev/sdd is mounted on /; on-line resizing required」のようなメッセージが表示され、ファイルシステムが拡張されます。
  5. 拡張後のディスク容量を確認する
    再度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環境でのディスク容量不足の問題を解決し、安定した開発やテスト作業を継続できます。

今後のリソース管理のために、定期的なディスク使用状況の確認と計画的な拡張を検討してください。

💻
Windowsトラブル完全解決データベース 起動不能、更新の不具合、動作が重い、設定の消失など、Windows 10/11のあらゆるトラブル解決手順を網羅しています。

ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。