LinuxとWindowsのファイル共有入門|WSL2でWindowsフォルダにアクセスする方法

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)【Linux入門】初心者のための基礎知識・講座 > LinuxとWindowsのファイル共有入門|WSL2でWindowsフォルダにアクセスする方法
「LinuxからWindowsのファイルにアクセスしたい」
WSL2を使い始めたばかりの人が最初に戸惑うのが、LinuxとWindowsのファイルのやり取りです。
「ダウンロードしたファイルをLinuxで使いたい」「Linuxで編集したファイルをWindowsで開きたい」——そんな場面で迷った経験はないでしょうか。

この記事では、WSL2環境でLinuxとWindowsのファイルを相互に行き来する方法を、初心者向けに手順を追って解説します。
WindowsのどこにLinuxからアクセスできるか、逆にWindowsからLinuxのファイルを開く方法まで、実際のコマンド出力例を交えながら説明します。

この記事のポイント

・WSL2からWindowsのCドライブは /mnt/c でアクセスできる
・Windowsの「デスクトップ」「ドキュメント」は /mnt/c/Users/ユーザー名/の配下にある
・エクスプローラーで \\wsl$ を開くとWSL2のLinuxファイルを確認できる
・cp・mv コマンドで Linux ⇔ Windows 間のファイルコピーが可能


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜWSL2ではLinuxとWindowsのファイルが共存できるのか

WSL2(Windows Subsystem for Linux 2)は、Windows 10/11の中でLinuxを動かす仕組みです。
インストールしたUbuntuなどのLinuxは、Windowsの中で動く「小さなLinux環境」のようなものです。

Windowsのファイルシステム(Cドライブなど)は、WSL2のLinux側から/mnt/というディレクトリ配下に「マウント」された形でアクセスできます。
「マウント」とは、外付けドライブを差し込んで使えるようにする操作と同じ概念です。WSL2はWindows起動時に自動でCドライブなどをLinux側に接続してくれます。

この仕組みのおかげで、LinuxとWindowsの間でファイルをやり取りするのに、わざわざUSBメモリを使ったり、専用のツールを用意したりする必要はありません。

WindowsのファイルをLinuxから確認する

1. /mnt ディレクトリを確認する

WSL2のターミナルを開き、以下のコマンドで/mntの中身を確認します。

ls /mnt

実行結果の例:

c d wsl wslg

「c」がWindowsのCドライブです。「d」が表示されている場合は、DドライブもLinuxからアクセスできる状態です。

2. WindowsのCドライブの中身を表示する

ls /mnt/c

実行結果の例:

'$Recycle.Bin' PerfLogs Recovery Users pagefile.sys ProgramData 'Program Files' 'Program Files (x86)' Windows

Windows環境でおなじみのフォルダが見えています。Linuxターミナルから、普通にWindowsのファイルが見えていることに驚く方も多いです。

3. Windowsのデスクトップ・ドキュメントにアクセスする

Windowsのユーザーフォルダは /mnt/c/Users/Windowsのユーザー名/ の配下にあります。

# Windowsのデスクトップを確認する例(ユーザー名はtomohiroの場合) ls /mnt/c/Users/tomohiro/Desktop

Windowsユーザー名が分からない場合は以下で確認できます:

ls /mnt/c/Users/

実行結果の例:

tomohiro Public Default

自分のユーザー名のフォルダが表示されます。

LinuxとWindowsの間でファイルをコピーする

1. WindowsからLinuxへファイルをコピーする

Windowsのデスクトップにある「sample.txt」をLinuxのホームディレクトリにコピーする例です。

# Windowsデスクトップ → Linuxホームディレクトリへコピー cp /mnt/c/Users/tomohiro/Desktop/sample.txt ~/

コピー後に確認します:

ls ~/sample.txt

/home/ubuntu/sample.txt

2. LinuxからWindowsへファイルをコピーする

Linuxで作成したファイルをWindowsのデスクトップに置く例です。

# Linuxで作ったファイルをWindowsデスクトップにコピー cp ~/myfile.txt /mnt/c/Users/tomohiro/Desktop/

コピーが終わったら、Windowsのデスクトップを開いて確認してみてください。ファイルが表示されているはずです。

3. フォルダごとコピーする(-rオプション)

フォルダ(ディレクトリ)ごとコピーする場合は -r オプションを使います。

# LinuxのプロジェクトフォルダをまるごとWindowsドキュメントへ cp -r ~/myproject /mnt/c/Users/tomohiro/Documents/

WindowsエクスプローラーからLinuxのファイルを開く

WSL2では、逆にWindows側からLinuxのファイルを確認する方法もあります。

1. エクスプローラーで \\wsl$ を開く

Windowsのエクスプローラーのアドレスバーに以下を入力します。

\\wsl$

インストールしているLinuxディストリビューション(例:Ubuntu-24.04)のフォルダが表示されます。
そこからLinuxのファイルシステムを、Windows側からフォルダとして閲覧・編集できます。

2. WSL2ターミナルからエクスプローラーを開く

現在いるLinuxのディレクトリをWindowsのエクスプローラーで直接開くこともできます。

# 現在のディレクトリをエクスプローラーで開く explorer.exe .

このコマンドで、Linuxで作業中のフォルダをWindowsのGUI(グラフィカルな画面)で確認できます。
ファイルをドラッグ&ドロップで移動したいときにも便利です。

よくあるトラブルと対処法

「Permission denied」エラーが出る場合

WindowsのシステムフォルダやProgram Filesなど、管理者権限が必要なフォルダにアクセスしようとすると Permission denied エラーが出ることがあります。

ls: cannot open directory '/mnt/c/Windows/System32': Permission denied

この場合は、アクセス先をユーザーフォルダ(/mnt/c/Users/ユーザー名/)配下に限定してください。
Windowsの管理者フォルダへのアクセスは、WSL2の通常操作では行わないほうが安全です。

ファイル名に日本語が含まれる場合の注意

日本語ファイル名はLinuxコマンドで扱えますが、タブ補完が効きにくい場合があります。
ファイル名をシングルクォートで囲むと安全に指定できます。

# 日本語ファイル名を含む場合はシングルクォートで囲む cp '/mnt/c/Users/tomohiro/Desktop/作業メモ.txt' ~/

コピーが遅く感じる場合

WSL2から/mnt/c(Windowsファイルシステム)へのアクセスは、Linux内部のファイル操作より若干遅くなる場合があります。
大量のファイルを頻繁にやり取りする開発作業では、作業フォルダはLinux側(~/配下)に置き、完成したファイルだけをWindowsに移すのが効率的です。

本記事のまとめ

やりたいこと コマンド・方法
WindowsのCドライブを確認する ls /mnt/c
Windowsのデスクトップを確認する ls /mnt/c/Users/ユーザー名/Desktop
WindowsからLinuxへファイルをコピー cp /mnt/c/Users/名前/Desktop/ファイル名 ~/
LinuxからWindowsへファイルをコピー cp ~/ファイル名 /mnt/c/Users/名前/Desktop/
エクスプローラーでLinuxを開く アドレスバーに \\wsl$ と入力
現在のLinuxディレクトリをエクスプローラーで開く explorer.exe .

WSL2は「LinuxとWindowsの壁」を取り払ってくれる便利な環境です。
最初は /mnt/c という仕組みに戸惑うかもしれませんが、一度使い方がわかると「意外と簡単だ」と感じる方がほとんどです。

ファイルのやり取りに慣れてきたら、次はLinuxコマンドでWindowsのテキストファイルを加工したり、スクリプトで自動処理したりと、活用の幅が一気に広がります。
ぜひ手を動かして試してみてください。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>

次に読む記事

ファイル操作をもっと活用したい方には、以下の記事もあわせてご覧ください。

tarコマンドでファイルをまとめる方法|圧縮・解凍の全オプション
ssコマンド・lsofでポートの使用状況を確認する方法
Linuxのディレクトリ構造を理解する|/etc・/var・/usrの役割と違い
chmodコマンドで権限を設定する方法|数値指定と記号指定の使い分け
grepコマンドでファイル内の文字列を検索する方法|-r・-l・--excludeの実践例
rsyncコマンドでファイルを同期・バックアップする方法|--deleteの安全な使い方
scpコマンドでLinuxサーバー間のファイルを安全に転送する方法

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。