Skip to content

WSL2 から Google Drive を rclone でマウントする手順

1. 前提条件

  • WSL2 上の Ubuntu
  • Google アカウント
  • インターネット接続

2. rclone のインストール

bash
sudo apt update
sudo apt install rclone fuse3

3. Google Cloud Console で OAuth クライアント ID を作成(推奨)

空のままスキップしても動作するが、rclone 内蔵の共有キーはレートリミットに引っかかりやすいため、自分専用の ID を作ることを推奨。

  1. Google Cloud Console にアクセス
  2. プロジェクトを作成(または既存を選択)
  3. API とサービス → ライブラリ で「Google Drive API」を検索し有効化
  4. API とサービス → OAuth 同意画面 を設定
    • ユーザータイプ: 外部
    • アプリ名: 任意(例: my-rclone
    • スコープ: 追加不要
    • テストユーザーに自分の Google アカウント(Gmail)を追加
  5. API とサービス → 認証情報 → 認証情報を作成 → OAuth クライアント ID
    • アプリケーションの種類: デスクトップアプリ
    • 名前: 任意
  6. 作成後に表示される クライアント IDクライアントシークレット を控える

注意: テストユーザーに自分を追加しないと「アクセスをブロック: my-rclone は Google の審査プロセスを完了していません」というエラーが出る。

4. rclone の設定

bash
rclone config

対話形式で以下を設定する。

項目入力内容
n/s/q>n(新規作成)
name>任意(例: gdrive
Storage>Google Drive を選択
client_id>手順 3 で取得した クライアント ID(スキップ可)
client_secret>手順 3 で取得した クライアントシークレット(スキップ可)
service_account_file>空のまま Enter(個人利用では不要)
Use auto config?WSL2 ではブラウザが開けない場合があるので No を選び、表示された URL を Windows のブラウザで開いて認証する

認証画面で「このアプリは Google で確認されていません」と警告が出た場合は、「詳細」→「(アプリ名)(安全ではないページ)に移動」 をクリックして進める。

5. 手動マウントの確認

bash
mkdir -p ~/gdrive
rclone mount gdrive: ~/gdrive --vfs-cache-mode writes &

マウントの確認:

bash
df -h | grep gdrive
ls ~/gdrive

アンマウント:

bash
fusermount -u ~/gdrive

6. WSL 起動時の自動マウント(.bashrc)

~/.bashrc に以下を追加する。

bash
# rclone Google Drive 自動マウント
if ! mountpoint -q ~/gdrive 2>/dev/null; then
    mkdir -p ~/gdrive
    (
        for i in $(seq 1 10); do
            rclone mount gdrive: ~/gdrive --vfs-cache-mode writes 2>/dev/null && break
            sleep 2
        done
    ) &
fi

WSL 起動直後は FUSE デバイスが準備できていない場合があるため、2 秒間隔で最大 10 回リトライする構成にしている。2>/dev/null で途中のエラーメッセージを抑制する。

7. よく使うオプション

オプション説明
--vfs-cache-mode writes書き込みのみキャッシュ(通常はこれで十分)
--vfs-cache-mode full読み書き両方キャッシュ(大きいファイルの読み込みが多い場合)
--vfs-cache-max-size 1Gキャッシュの上限サイズ
--vfs-cache-max-age 1hキャッシュの保持時間
--dir-cache-time 5mディレクトリ一覧のキャッシュ時間
--bwlimit 10M帯域制限
--drive-shared-with-me共有ドライブも表示

8. トラブルシューティング

マウントが残って再マウントできない

bash
fusermount -u ~/gdrive 2>/dev/null

Permission denied エラー

bash
# fusermount に setuid ビットがあるか確認
ls -l /bin/fusermount*

# なければ付与
sudo chmod u+s /bin/fusermount3

ログの確認

bash
# systemd 方式の場合
journalctl --user -u rclone-gdrive -f

# .bashrc 方式でログを出力する場合は --log-file オプションを追加