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 間のファイルコピー・移動が可能
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜWSL2ではLinuxとWindowsのファイルが共存できるのか
WSL2(Windows Subsystem for Linux 2)は、Windows 10/11の中でLinuxを動かす仕組みです。インストールしたUbuntuなどのLinuxは、Windowsの中で動く軽量な仮想マシン(VM)として動作しています。
Windowsのファイルシステム(Cドライブなど)は、WSL2のLinux側から/mnt/というディレクトリ配下に「マウント」された形でアクセスできます。
「マウント」とは、外付けドライブを差し込んで使えるようにする操作と同じ概念です。WSL2はWindows起動時に自動でCドライブなどをLinux側に接続してくれます。
この仕組みのおかげで、LinuxとWindowsの間でファイルをやり取りするのに、わざわざUSBメモリを使ったり、専用のツールを用意したりする必要はありません。
WindowsのファイルをLinuxから確認する
1. /mnt ディレクトリを確認する
WSL2のターミナルを開き、以下のコマンドで/mntの中身を確認します。ls /mnt
c d wsl wslg
「wsl」と「wslg」はWSL2が内部で使う特殊なマウントポイントです。
wslgはWSL2のGUI機能(WSLg)が使うソケットファイル領域で、通常は触る必要はありません。2. WindowsのCドライブの中身を表示する
ls /mnt/c
'$Recycle.Bin' PerfLogs Recovery Users pagefile.sys ProgramData 'Program Files' 'Program Files (x86)' Windows
3. Windowsのデスクトップ・ドキュメントにアクセスする
Windowsのユーザーフォルダは/mnt/c/Users/Windowsのユーザー名/ の配下にあります。# Windowsのデスクトップを確認する例(ユーザー名はtomohiroの場合) ls /mnt/c/Users/tomohiro/Desktop
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/
3. フォルダごとコピーする(-rオプション)
フォルダ(ディレクトリ)ごとコピーする場合は -r オプションを使います。# LinuxのプロジェクトフォルダをまるごとWindowsドキュメントへ cp -r ~/myproject /mnt/c/Users/tomohiro/Documents/
4. ファイルを移動する(mvコマンド)
コピーではなくファイルを移動したい場合はmv コマンドを使います。cp はコピー元を残しますが、mv はコピー元が削除されます。# LinuxのファイルをWindowsのDocumentsへ移動(元のファイルは消える) mv ~/report.txt /mnt/c/Users/tomohiro/Documents/
cp で確認してから移動するか、操作前にバックアップを取ることをお勧めします。WindowsエクスプローラーからLinuxのファイルを開く
WSL2では、逆にWindows側からLinuxのファイルを確認する方法もあります。1. エクスプローラーで \\wsl$ を開く
Windowsのエクスプローラーのアドレスバーに以下を入力します。\\wsl$
そこからLinuxのファイルシステムを、Windows側からフォルダとして閲覧・編集できます。
2. WSL2ターミナルからエクスプローラーを開く
現在いるLinuxのディレクトリをWindowsのエクスプローラーで直接開くこともできます。# 現在のディレクトリをエクスプローラーで開く explorer.exe .
ファイルをドラッグ&ドロップで移動したいときにも便利です。
3. LinuxファイルをWindowsアプリで編集する
\\wsl$ 経由でLinuxのファイルにアクセスできるため、Visual Studio CodeなどのWindowsアプリから直接編集することも可能です。エクスプローラーでLinuxのファイルを右クリックして「プログラムから開く」を選べば、任意のWindowsアプリでLinuxのファイルを直接開けます。
VS Codeを使っている場合は「Remote - WSL」拡張機能を導入すると、LinuxのファイルをWindowsのエディタで快適に編集できるようになります。
よくあるトラブルと対処法
「Permission denied」エラーが出る場合
WindowsのシステムフォルダやProgram Filesなど、管理者権限が必要なフォルダにアクセスしようとすると Permission denied エラーが出ることがあります。ls: cannot open directory '/mnt/c/Windows/System32': Permission denied
Windowsの管理者フォルダへのアクセスは、WSL2の通常操作では行わないほうが安全です。
ファイル名に日本語が含まれる場合の注意
日本語ファイル名はLinuxコマンドで扱えますが、タブ補完が効きにくい場合があります。ファイル名をシングルクォートで囲むと安全に指定できます。
# 日本語ファイル名を含む場合はシングルクォートで囲む cp '/mnt/c/Users/tomohiro/Desktop/作業メモ.txt' ~/
コピーが遅く感じる場合
WSL2から/mnt/c(Windowsファイルシステム)へのアクセスは、Linux内部のファイル操作より若干遅くなる場合があります。大量のファイルを頻繁にやり取りする開発作業では、作業フォルダはLinux側(~/配下)に置き、完成したファイルだけをWindowsに移すのが効率的です。
/mnt/c へのアクセスが突然できなくなった場合
WSL2の起動直後や、長時間使用した後に /mnt/c へのアクセスが不安定になることがあります。その場合は、WSL2を完全に再起動することで解決することが多いです。
# PowerShellまたはコマンドプロンプトで実行: WSLを停止して再起動 wsl --shutdown wsl
wsl --shutdown はすべてのWSL2インスタンスを停止します。再度 wsl を実行すると起動し直せます。本記事のまとめ
| やりたいこと | コマンド・方法 |
|---|---|
| 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からWindowsへファイルを移動 | mv ~/ファイル名 /mnt/c/Users/名前/Desktop/ |
| エクスプローラーでLinuxを開く | アドレスバーに \\wsl$ と入力 |
| 現在のLinuxディレクトリをエクスプローラーで開く | explorer.exe . |
| WSL2を完全に再起動する | PowerShellで wsl --shutdown 後に wsl |
WSL2は「LinuxとWindowsの壁」を取り払ってくれる便利な環境です。
最初は /mnt/c という仕組みに戸惑うかもしれませんが、一度使い方がわかると「意外と簡単だ」と感じる方がほとんどです。
ファイルのやり取りに慣れてきたら、次はLinuxコマンドでWindowsのテキストファイルを加工したり、スクリプトで自動処理したりと、活用の幅が一気に広がります。
ぜひ手を動かして試してみてください。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
<PR>手元に置いて学びを深める1冊
ざっくり WSL: Windows と Linux を融合して快適開発環境を実現 ざっくり解説シリーズ
まず無料メルマガでWSL2の基礎を学び、さらに体系的に理解を深めたい方は手元に置いておきたい1冊。
次に読む記事
ファイル操作をもっと活用したい方には、以下の記事もあわせてご覧ください。・tarコマンドでファイルをまとめる方法|圧縮・解凍の全オプション
・ssコマンド・lsofでポートの使用状況を確認する方法
・Linuxのディレクトリ構造を理解する|/etc・/var・/usrの役割と違い
・chmodコマンドで権限を設定する方法|数値指定と記号指定の使い分け
・grepコマンドでファイル内の文字列を検索する方法|-r・-l・--excludeの実践例
・rsyncコマンドでファイルを同期・バックアップする方法|--deleteの安全な使い方
・scpコマンドでLinuxサーバー間のファイルを安全に転送する方法
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 次のページへ:AIアシスタントでLinuxエラーを解決する入門・ChatGPTにエラーを貼り付けてトラブルシュートする方法
- 前のページへ:Tiny Core Linuxとは?世界最小級の軽量OSを試す方法【上級者向け・学習用】
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます