WindowsのエクスプローラーにLinuxホームを"ドライブ"追加する方法 — WinFsp × rcloneで実現するSSHマウントと自動接続
この記事の内容
- WinFspとrcloneを組み合わせ、WindowsエクスプローラーにLinuxのファイルシステムをドライブとして追加する方法を解説します
- SFTP(SSH経由)でLinuxサーバーに接続し、ローカルドライブと同様にファイルを操作できる環境を構築します
- SSH鍵認証による安全な接続設定手順を紹介します
- Windowsタスクスケジューラを使ったログオン時の自動マウント設定も取り上げます
- VPN(Tailscaleなど)環境でのネットワーク待機問題とPowerShellスクリプトによる解決策も解説します
はじめに
LinuxサーバーでAIエージェントやコードを常時稼働させている場合、その生成物(画像やドキュメントなど)をWindowsの環境から直接確認・編集できると非常に便利です。
今回は WinFsp と rclone を組み合わせることで、LinuxサーバーのファイルシステムをWindowsのドライブとしてエクスプローラーに追加する方法を紹介します。Linux上のファイルをあたかもローカルのフォルダのように扱えるようになります。
使用するツールの概要
WinFsp(Windows File System Proxy)
WinFspはWindows上で仮想ファイルシステムを構築するためのドライバです。これを使うことで、エクスプローラーに任意の外部ファイルシステム(ネットワークやクラウドなど)をドライブとしてマウントできます。
rclone
rcloneは、クラウドストレージやリモートファイルシステムとの同期・転送を行う高機能なコマンドラインツールです。Google Drive、Dropbox、AWS S3など、さまざまなストレージに対応しています。今回はその中でも SFTP(SSH経由) を利用してLinuxサーバーに接続し、WinFspと組み合わせてWindowsにマウントします。
手順①:WinFspのインストール
- WinFsp公式サイト からインストーラーをダウンロードします
- インストーラーを実行し、基本構成(Core)を選択して「Next」で進めます
- 数秒でインストールが完了します
特に追加の設定は不要です。これで仮想ファイルシステムを扱う準備が整いました。
手順②:rcloneのインストール
rcloneはコンソールアプリですので、wingetコマンドで簡単に導入できます。
winget install rclone
インストール後、コマンドプロンプトまたはPowerShellで以下のコマンドを実行し、正しくインストールされているか確認します。
rclone version
v1.73.0 のようにバージョン情報が表示されれば成功です。
手順③:rcloneの設定(SSH接続)
次に、rcloneの設定ファイルを作成します。以下のコマンドを実行すると対話形式で設定を進められます。
rclone config
設定の手順は以下のとおりです。
- 新しいリモートを作成し、名前を入力します(例:
moviejen) - ストレージタイプで
SFTPを選択します(番号は環境により異なります) - ホスト名(例:
moviejen.local)とSSHユーザー名を入力します - ポート番号はデフォルトの
22を使用します - 認証方法としてSSH鍵ファイルを指定します(例:
~/.ssh/id_rsa)
設定が完了すると、rclone config の一覧に新しいリモートが追加されます。
手順④:接続テスト
設定が正しく行えているか確認します。
rclone lsd moviejen:
Linuxサーバーのディレクトリ一覧が表示されれば、接続は成功です。
手順⑤:Windowsへのマウント
LinuxサーバーのホームディレクトリをWindowsのドライブとしてマウントします。
rclone mount moviejen: Z: --vfs-cache-mode writes
これでLinux側のファイルシステムが Zドライブ としてエクスプローラーに表示されます。中身を開くとLinux上のファイルをそのまま閲覧・編集でき、ファイルの作成も双方向に反映されることを確認できます。
手順⑥:自動マウント(ログオン時に接続)
常時マウントしたい場合は、Windowsタスクスケジューラでログオン時に自動実行させます。
- タスクスケジューラで「基本タスクの作成」を選択します
- トリガーを「ログオン時」に設定します
- アクションは「プログラムの開始」を選択します
- プログラムにrclone.exeのフルパスを指定します(以下のコマンドで確認できます)
Get-Command rclone | Format-List Path
- 引数にマウントコマンドを指定します
ただし、VPN(Tailscaleなど)を利用している環境では、ログオン直後はまだネットワークが接続されていないため、マウントが失敗することがあります。
手順⑦:接続待機スクリプトによる改善
ログオン直後のネットワーク未接続問題を解決するために、PowerShellスクリプトを作成します。このスクリプトは一定間隔で接続確認を行い、成功したらマウントコマンドを実行します。
# mount-linux.ps1
$remote = "moviejen"
$mountPoint = "M:"
$interval = 10
while ($true) {
$result = Start-Process -FilePath "rclone" -ArgumentList "lsd $remote:" -PassThru -Wait
if ($result.ExitCode -eq 0) {
break
}
Start-Sleep -Seconds $interval
}
Start-Process -FilePath "rclone" -ArgumentList "mount $remote: $mountPoint --vfs-cache-mode writes"
このスクリプトをタスクスケジューラで指定すれば、ログオン後にネットワークが安定した時点で自動的にマウントが実行されます。
実行結果
再ログイン後、TailscaleなどのVPNが起動して接続が確立すると、エクスプローラーに Mドライブ が自動で表示されます。Linuxのホームディレクトリに完全に同期されており、ファイル操作もスムーズに行えます。
まとめ
今回の構成で実現できることは以下のとおりです。
- WindowsエクスプローラーからLinuxのファイルを直接閲覧・編集できます
- SSH鍵認証による安全な接続が行えます
- Windowsタスクスケジューラとの組み合わせで、ログオン時に自動マウントが可能になります
- PowerShellスクリプトを使った接続待機処理により、VPN環境でも安定した自動マウントが実現できます
WinFspとrcloneはどちらも無料で利用できるツールです。LinuxサーバーをWindowsから手軽に扱いたい方はぜひ試してみてください。