概要 WSL 2 で Linux ディスクをマウントする方法 (プレビュー)

Windows でサポートされていない Linux ディスク形式にアクセスする場合は、WSL 2 を使用してディスクをマウントし、そのコンテンツにアクセスできます。 このチュートリアルでは、WSL2 にアタッチするディスクとパーティションを特定する手順、マウント方法、およびアクセス方法について説明します。

注意

WSL 2 にディスクを接続するには、管理者アクセス権が必要です。 WSL 2 コマンドでは、現在使用されているディスク (またはディスクに属するパーティション) のマウント mount はサポートされていません。 wsl --mount は、パーティションだけが要求された場合でも、常にディスク全体を接続します。 インストール ディスクにWindowsマウントできない。

前提条件

この機能にアクセスするには、Windows 11 Build 22000 以上である必要があります。 Windows Insiders Programに参加して、最新のプレビュー ビルドを取得できます。

パーティション分割されていないディスクのマウント

この最も単純なケースでは、パーティションを持たなかったディスクがある場合は、 コマンドを使用して直接マウント wsl --mount できます。 まず、ディスクを識別する必要があります。

ディスクを識別する

ディスクで使用可能なディスクを一覧表示するにはWindows実行します。

GET-WMIOBJECT -query "SELECT * from Win32_DiskDrive"

ディスク のパスは、"DeviceID" 列で使用できます。 通常は、 形式 \\.\PHYSICALDRIVE* です。

ディスクのマウント

次に、PowerShell で、上で検出したディスク パスを使用してディスクをマウントできます。

wsl --mount <DiskPath>

WSL でのドライブのマウント

パーティション分割されたディスクのマウント

ディスクのファイル形式やパーティションが分からない場合は、次の手順に従ってマウントできます。

ディスクを識別する

ディスクで使用可能なディスクを一覧表示するにはWindows実行します。

GET-WMIOBJECT -query "SELECT * from Win32_DiskDrive"

ディスク のパスは、通常は 形式で "DeviceID" の後に表示 \\.\PHYSICALDRIVE* されます

WSL 2 でマウントするパーティションを一覧表示して選択する

ディスクが特定されると、次のコマンドを実行します。

wsl --mount <DiskPath> --bare

これにより、WSL 2 でディスクを使用できます。 (この例の場合、 は <DiskPath> です \\.\PHYSICALDRIVE*

アタッチすると、WSL 2 内で次のコマンドを実行してパーティションを一覧表示できます。

lsblk

これにより、使用可能なブロック デバイスとそのパーティションが表示されます。

Linux 内では、ブロック デバイスは として識別されます /dev/<Device><Partition> 。 たとえば、/dev/sdb3 は、ディスク のパーティション番号 3 です sdb

出力例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   0    1G  0 disk
├─sdb2   8:18   0   50M  0 part
├─sdb3   8:19   0  873M  0 part
└─sdb1   8:17   0  100M  0 part
sdc      8:32   0  256G  0 disk /
sda      8:0    0  256G  0 disk

ファイルシステムの種類の識別

ディスクまたはパーティションのファイルシステムの種類が分からない場合は、次のコマンドを使用できます。

blkid <BlockDevice>

これにより、検出されたファイル システムの種類が (形式で) 出力 TYPE="<Filesystem>" されます。

選択したパーティションをマウントする

マウントするパーティションを特定したら、各パーティションで次のコマンドを実行します。

wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>

注意

ディスク全体を 1 つのボリュームとしてマウントする場合 (つまり、ディスクがパーティション分割されていない場合)、 --partition 省略できます。

省略した場合、既定のファイルシステムの種類は "ext4" です。

ディスクコンテンツにアクセスする

マウントが完了すると、構成値 が指すパスの下でディスクにアクセスできます automount.root 。 既定値は /mnt/wsl です。

このWindows、次の場所からディスクエクスプローラーアクセスできます (任意の Linux ディストリビューション \\wsl$\\<Distro>\\<Mountpoint> を選択します)。

ディスクのマウント解除

WSL 2 からディスクのマウントを解除してデタッチする場合は、次を実行します。

wsl --unmount <DiskPath>

WSL に VHD をマウントする

を使用して、仮想ハード ディスク ファイル (VHD) を WSL にマウントすることもできます wsl --mount 。 これを行うには、まず、次のコマンドを使用して VHD を Windows Mount-VHD にマウントする必要Windows。 管理者特権でこのコマンドを実行してください。 このコマンドを使用し、ディスク パスも出力する例を次に示します。 を実際の <pathToVHD> VHD パスに置き換える必要があります。

Write-Output "\\.\PhysicalDrive$((Mount-VHD -Path <pathToVHD> -PassThru | Get-Disk).Number)"

上記の出力を使用して、この VHD のディスク パスを取得し、前のセクションの手順に従って WSL にマウントできます。

また、この手法を使用して、他の WSL ディストリビューションの仮想ハード ディスクをマウントして操作することもできます。各 WSL 2 ディストリビューションは、 という仮想ハード ディスク ファイルを介して格納されます ext4.vhdx 。 既定では、WSL 2 ディストリビューションの VHD は次のパスに格納されます。 は、これらのシステム ファイルにアクセスする際は注意が必要です。これはパワー ユーザー C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName] ワークフローです。 このディスクを操作 wsl --shutdown する前に を実行して、ディスクが使用されていないか確認してください。

WSL VHD のマウント

コマンド ライン リファレンス

特定のファイルシステムのマウント

既定では、WSL 2 はデバイスを ext4 としてマウントします。 別のファイルシステムを指定するには、次を実行します。

wsl --mount <DiskPath> -t <FileSystem>

たとえば、ディスクを fat としてマウントするには、次を実行します。

wsl --mount <Diskpath> -t vfat

注意

WSL2 で使用可能なファイルシステムを一覧表示するには、次を実行します。 cat /proc/filesystems
WSL2 (Linux ファイル システム) を介してディスクをマウントすると、Windows ファイル システム上の ext4 ドライバーを介してマウントできなくなりました。

特定のパーティションのマウント

既定では、WSL 2 はディスク全体のマウントを試みます。 特定のパーティションをマウントするには、次を実行します。

wsl --mount <Diskpath> -p <PartitionIndex>

これは、ディスクが MBR (マスター ブート レコード) または GPT (GUID パーティション テーブル) の場合にのみ機能します。 パーティション スタイルについて読む - MBR と GPT

マウント オプションの指定

マウント オプションを指定するには、次を実行します。

wsl --mount <DiskPath> -o <MountOptions>

例:

wsl --mount <DiskPath> -o "data=ordered"

注意

現時点では、ファイルシステム固有のオプションだけがサポートされています。 などの汎用オプション ro, rw, noatime, ... はサポートされていません。

マウントせずにディスクを接続する

上記のオプションでディスク構成がサポートされていない場合は、次を実行してマウントせずに WSL 2 にディスクを接続できます。

wsl --mount <DiskPath> --bare

これにより、WSL 2 内でブロック デバイスを使用して、そこから手動でマウントできます。 lsblkWSL 2 内で使用可能なブロック デバイスを一覧表示するには、 を使用します。

ディスクのデタッチ

WSL 2 からディスクをデタッチするには、次を実行します。

wsl --unmount [DiskPath]

Diskpath 省略すると、アタッチされているディスクはすべてマウント解除され、デタッチされます。

注意

1 つのディスクのマウント解除に失敗した場合は、 を実行して WSL 2 を強制的に終了できます。この場合 wsl --shutdown 、ディスクはデタッチされます。

制限事項

  • 現時点では、WSL 2 にアタッチできるのはディスク全体のみです。つまり、パーティションのみをアタッチできません。 具体的には、これは、ブート デバイスからデタッチできないので、ブート デバイス上のパーティションの読み取りに を使用 wsl --mount Windows。

  • 現時点では、USB フラッシュ ドライブと SD カードはサポートされていません。WSL 2 への接続は失敗します。 USB ディスクはサポートされています。

  • によってマウントできるのは、カーネルでネイティブにサポートされているファイルシステムのみです wsl --mount 。 つまり、 を呼び出して、インストールされているファイルシステム ドライバー (たとえば ntfs-3g など) を使用することはできません wsl --mount