Post

Mounting AWS S3 Bucket on Windows Local Filesystem Using Rclone as Drive or Folder

A step-by-step guide to mounting an AWS S3 bucket as a local folder, drive letter, or background service on Windows using rclone.

Mounting AWS S3 Bucket on Windows Local Filesystem Using Rclone as Drive or Folder

Introduction

Amazon S3 is one of the most widely used object storage services in the cloud. But navigating the AWS Console or running CLI commands every time you need to access files can be tedious. What if your S3 bucket appeared as a regular folder or drive letter in Windows Explorer — just like a USB drive?

In this guide, I’ll walk you through how to mount an AWS S3 bucket as a local filesystem on Windows using rclone — a powerful, open-source command-line tool for managing cloud storage — paired with WinFsp, which enables FUSE-style filesystem mounting on Windows.

By the end of this guide you’ll be able to:

  • Browse and manage S3 files directly from Windows Explorer
  • Mount the bucket as a folder path or a drive letter (e.g. Z:)
  • Run the mount silently in the background
  • Auto-mount the bucket on every Windows startup

Step 1: Download and Install rclone

Go to the official rclone downloads page and grab the Windows AMD64 zip:

🔗 https://rclone.org/downloads/


Step 2: Install WinFsp

rclone requires WinFsp (Windows File System Proxy) to mount remote storage as a local filesystem. Without it, mounting will fail with:

1
Fatal error: failed to mount FUSE fs: cgofuse: cannot find winfsp

Download and install the latest WinFsp release:

🔗 https://winfsp.dev/rel/

Run the installer with default settings. No reboot is required — just reopen your terminal after installation.


Step 3: Create an IAM User and Access Key

rclone needs AWS credentials to authenticate with S3. You can use an existing IAM user or create a new one.

Go to the AWS IAM ConsoleUsersCreate user (or select an existing user).

Under Security credentialsAccess keysCreate access key.

Creating an AWS Access Key

Save your Access Key ID and Secret Access Key — you’ll need them in the next step.


Step 4: Configure rclone

Run the rclone configuration wizard:

1
rclone config

Follow the interactive prompts to create a new S3 remote:

rclone config step 1 rclone config step 2 rclone config step 3 rclone config step 4 rclone config step 5 rclone config step 6 rclone config step 7

Verify the remote

1
2
3
4
5
rclone listremotes
# Output: js3:

rclone ls js3:janak-shrestha
# Lists the contents of your bucket

Verify remote

Tip: If you see InvalidAccessKeyId errors, open the rclone config file at C:\Users\YourName\AppData\Roaming\rclone\rclone.conf and verify the credentials are correct.


Step 5: Mount the S3 Bucket

Now the fun part. rclone supports multiple mounting styles depending on your workflow.

S3 bucket in AWS Console

Mount as a Folder

1
rclone mount js3:janak-shrestha C:\Users\Jack\Desktop\My-s3bucket --vfs-cache-mode full --links
FlagDescription
--vfs-cache-mode fullEnables full local caching for read/write support
--linksTranslates symlinks so they work correctly on Windows

Mount output

The terminal window stays open while the mount is active. Do not close it — closing it unmounts the bucket.

Mount as a Drive Letter

For a more native Windows experience, mount as a drive letter:

1
rclone mount js3:janak-shrestha Z: --vfs-cache-mode full --links

Your S3 bucket will appear as Z: in Windows Explorer, just like a local disk.

Drive letter mount

Run in Background (No Terminal Window)

To mount silently without keeping a terminal open, add the --no-console flag:

1
rclone mount js3:janak-shrestha Z: --vfs-cache-mode full --links --no-console

Auto-Mount on Windows Startup

To mount the bucket automatically every time you log in:

  1. Create a file named mount-s3.bat with the following content:
1
2
@echo off
C:\rclone\rclone.exe mount js3:janak-shrestha Z: --vfs-cache-mode full --links --no-console
  1. Press Win + R, type shell:startup, and press Enter
  2. Copy mount-s3.bat into the Startup folder that opens

The bucket will now mount automatically on every login.


Conclusion

You now have your AWS S3 bucket mounted as a local filesystem on Windows using rclone. This makes it easy to drag-and-drop files, open S3 objects in any Windows application, and manage cloud storage without touching the AWS Console.

What we covered:

  1. Downloading and installing rclone and WinFsp
  2. Creating an IAM user with the correct S3 permissions
  3. Configuring rclone with AWS credentials
  4. Mounting the bucket as a folder, drive letter, and background service
  5. Setting up auto-mount on startup

References


Other Essential Rclone Commands

Rclone is extremely powerful with S3 — here’s what you can do:


Bucket & File Operations

# List all buckets
rclone lsd js3:

# List files in a bucket
rclone ls js3:my-bucket

# List with sizes and dates
rclone lsl js3:my-bucket

# List only directories
rclone lsd js3:my-bucket

# Tree view
rclone tree js3:my-bucket

Upload & Download

# Upload a single file
rclone copy C:\file.txt js3:my-bucket/

# Upload entire folder
rclone copy C:\myfolder js3:my-bucket/myfolder

# Download a file
rclone copy js3:my-bucket/file.txt C:\Downloads\

# Download entire bucket
rclone copy js3:my-bucket C:\local-backup

Sync (One-way mirror)

# Sync local → S3 (deletes files in S3 not present locally)
rclone sync C:\myfolder js3:my-bucket --progress

# Sync S3 → local
rclone sync js3:my-bucket C:\myfolder --progress

# Dry run first (see what WOULD happen without doing it)
rclone sync C:\myfolder js3:my-bucket --dry-run

sync deletes files at the destination that don’t exist at the source. Always --dry-run first.


Bucket Management

# Create a bucket
rclone mkdir js3:new-bucket

# Delete empty bucket
rclone rmdir js3:empty-bucket

# Delete bucket with all contents (DANGEROUS)
rclone purge js3:my-bucket

# Delete a single file
rclone deletefile js3:my-bucket/old-file.txt

# Delete all files but keep bucket
rclone delete js3:my-bucket

Copy Between Buckets (Even Cross-Account)

# Copy between two buckets in same account
rclone copy js3:bucket-a js3:bucket-b

# Copy between two different AWS accounts/remotes
rclone copy js3:my-bucket aws2:destination-bucket

# Sync across regions
rclone sync js3:us-bucket js3:ap-bucket

This is server-side when possible — data flows directly between S3 buckets without passing through your machine.


Encryption (rclone Crypt)

Encrypt files transparently before uploading to S3:

# First create an encrypted remote on top of S3
rclone config
# Type: crypt
# Remote: js3:my-bucket/encrypted
# Set password when prompted

Then use it like any other remote:

# Files are encrypted on upload, decrypted on download automatically
rclone copy C:\sensitive-data crypt-remote:
rclone mount crypt-remote: C:\secure-mount --vfs-cache-mode full

Storage Analysis

# Total size of a bucket
rclone size js3:my-bucket

# Size of a specific folder
rclone size js3:my-bucket/logs

# Count files and size
rclone size js3:my-bucket --human-readable

Serve S3 as HTTP/FTP/WebDAV

# Serve bucket as HTTP server (access via browser)
rclone serve http js3:my-bucket --addr :8080

# Serve as FTP server
rclone serve ftp js3:my-bucket --addr :2121

# Serve as WebDAV (mount in other apps)
rclone serve webdav js3:my-bucket --addr :8081

# Serve as SFTP
rclone serve sftp js3:my-bucket --addr :2222

Bandwidth & Performance Tuning

# Limit upload speed (useful on metered connections)
rclone copy C:\folder js3:my-bucket --bwlimit 10M

# Increase transfer parallelism
rclone copy C:\folder js3:my-bucket --transfers 16 --checkers 16

# Use multipart upload for large files
rclone copy largefile.iso js3:my-bucket --s3-upload-cutoff 100M --s3-chunk-size 50M

# Progress bar
rclone copy C:\folder js3:my-bucket --progress

Bisync (Two-way Sync)

# Two-way sync between local and S3 (like Dropbox behavior)
rclone bisync C:\myfolder js3:my-bucket --resync

Mount with Advanced Options

# Mount read-only (safe for production data)
rclone mount js3:my-bucket C:\s3bucket --read-only

# Mount with cache size limit
rclone mount js3:my-bucket C:\s3bucket --vfs-cache-mode full --vfs-cache-max-size 10G

# Mount with custom cache directory
rclone mount js3:my-bucket C:\s3bucket --vfs-cache-mode full --cache-dir D:\rclone-cache

Deduplicate & Check

# Find duplicate files in a bucket
rclone dedupe js3:my-bucket

# Verify local files match S3 (checksum comparison)
rclone check C:\local-folder js3:my-bucket

# Check with hashes
rclone check C:\local-folder js3:my-bucket --one-way

Quick Summary Table

CategoryCommand
Mount bucketrclone mount
Upload/Downloadrclone copy
One-way mirrorrclone sync
Two-way syncrclone bisync
Encrypt datarclone crypt remote
Serve as HTTP/FTPrclone serve
Analyze storagerclone size
Cross-bucket copyrclone copy remote1: remote2:
Verify integrityrclone check

rclone essentially gives you a Swiss Army knife for S3 — backup, sync, mount, encrypt, serve, and analyze all from one tool.


This post is licensed under CC BY 4.0 by the author.