
Rclone 挂载 OneDrive 为本地硬盘
Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
参考:https://zhuanlan.zhihu.com/p/139200172
Rclone (rsync for cloud storage) 是一个命令行程序,用于同步文件和目录,支持常见的 Amazon Drive 、Google Drive 、OneDrive 、Dropbox 等云存储。本文将演示在 Windows 平台下将 OneDrive 挂载为本地硬盘,并使用跨平台的 Rclone GUI 连接到云盘。
rclone下载地址
首先下载适用于 Windows 的 rclone
官网下载:
Rclone downloadsrclone.org/downloads/
GitHub下载:
rclone/rclonegithub.com/ncw/rclone
在rclone官网中,Windows 平台下选择下载 AMD64 - 64 Bit

或者在github下载。

下载后解压到一个英文路径中。

必安装
另外在Windows平台使用rclone还需要另一个依赖工具winfsp,下载地址:
http://www.secfs.net/winfsp/download/www.secfs.net/winfsp/download/
下载后一路安装即可。

rclone配置环境变量
- 在电脑桌面右键点击“此电脑”的“属性”选项
- 选择“高级系统设置”选项
- 在系统变量中找到path,添加刚才解压后的路径

检查rclone是否配置成功
按win+X,然后按A 打开 powershell ,当然也可以去打开 cmd ,输入rclone --version,如果出现下面的输出则安装成功,否则检查上面步骤的环境变量是否配置正确。

开始配置rclone
在终端中依次输入以下命令行,请根据下的步骤进操作。
第一步在终端输入 rclone config
$ rclone config
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config第二步输入n创建新的配置
$ e/n/d/r/c/s/q> n第三步 输入一个英文名称,用来表示,中间也不要有空格
$ name> OneDriveLocal第四步 输入要配置的网盘类型 因为我们要配置Microsoft OneDrive 因此输入5(具体问题具体分析)
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / 1Fichier
\ "fichier"
2 / Alias for an existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
5 / Microsoft OneDrive
\ "onedrive"
Storage> 5第五步 要输入 client_id 时直接回车
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id> 第六步 要输入 client_secret 时直接回车
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>第七步 输入n 不进行高级配置
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n 第八步 输入y 使用自动配置授权
输入y后会打开默认浏览器 登录Microsoft账号后 选择 是 即可
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> y 第九步 输入1 因为现在我配置的是 OneDrive Personal or Business 类型的网盘
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=sUuYaGWtxruA81JiCokJGg
Log in and authorize rclone for access
Waiting for code...
Got code
Choose a number from below, or type in an existing value
1 / OneDrive Personal or Business
\ "onedrive"
2 / Root Sharepoint site
\ "sharepoint"
3 / Type in driveID
\ "driveid"
4 / Type in SiteID
\ "siteid"
5 / Search a Sharepoint site
\ "search"
Your choice>1 第十步 输入0
Found 1 drives, please select the one you want to use:
0: OneDrive (business) id=b!qDQvcsZUTU-8eoYyKmtyyP1Jc0D8urZLlkATnfH1nWdJ1kkbrLsvQZLzVUTpeTrc
Chose drive to use:> 0 第十一步 输入y
Found drive 'root' of type 'business', URL: https://pmjs-my.sharepoint.com/personal/wld_365_w/Documents
Is that okay?
y) Yes (default)
n) No
y/n> y 第十二步 输入y
[OneDrive_local]
type = onedrive
token = {"access_token":"eyJ0UxjTLIAA","expiry":"2020-02-10T11:32:10.852646+08:00"}
drive_id = b!qDvcsZUTU8eoYyKmtyyP1Jc0D8urZLlkTnH1nWdJ1kbrLsvQZLzVUTpeTrc
drive_type = business
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>y此时,就会出现刚刚配置好的网盘名称了

最后输入q退出配置即可
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q 在 C:\Users\你的用户名\.config\rclone文件夹下就可以看见配置文件 rclone.conf 啦。

5、挂载OneDrive为本地硬盘
在 git bash 或 cmd 中输入以下挂载命令:
rclone mount OneDriveLocal:/ Q: --cache-dir E:\OneDrive --vfs-cache-mode writes &其中:
OneDriveLocal 替换为你自己前面设置的名称 。
Q: 替换为你想要挂载后硬盘的盘符名称即可,记得不要和本地的C盘、D盘等重复。
E:\OneDrive 为本地缓存目录,可自行设置 。
出现:The service rclone has been started 则说明挂载成功。
然后输入 exit 退出终端即可。

然后就可以看见本地多了一个盘,往里面复制文件就是上传,从里面复制文件到其它盘就是下载。
6、设置开机自启动挂载
进入C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 中
运行中输入%appdata% 后点击确定即可进入
创建一个名称为 startup_rclone.txt 的文件
CreateObject("WScript.Shell").Run "rclone mount OneDriveLocal:/ Q: --cache-dir E:\OneDriveLocalCache --vfs-cache-mode writes ",0保存后改文件后缀.txt为.vbs即可,仅需要修改""内的东西,最后没有’&’

Linux平台下使用Rclon 挂载 OneDrive 为本地硬盘
参考:https://blog.csdn.net/qq_46264836/article/details/131964857
申请OneDrive API
前往Microsoft Azure管理界面,登录你的微软账号,打开“应用注册”服务。



注册成功后会跳转到应用首页面,记下图中所示的“应用程序(客户端) ID”,供将来挂载使用。

然后再点击“证书与密码”→“生成客户端密码”。注意,这里的密码一般是有时间限制,到时需要重新换密码

添加密码后,记录我们刚刚创建的密码值,供将来挂载使用。注意这里一定要将密码记录下来,因为它只显示一次。

接下来,点击“API权限”,为我们的API获取权限。Files中的权限全部勾选就可以了。

这一步做完我们就获得了OneDrive的API,以及客户端ID以及密码值。
自启动挂载OneDrive网盘
获取认证token
可以挂载Windows以及Linux。以下演示Linux(Ubuntu系统)挂载OneDrive
在rclone下载对应操作系统安装包,后面需要登录获取token我VPS没有浏览器因此需要下载安装Windows版本的rclone。
- 下载windows系统下的rclone并解压,按win+R调出运行,输入“cmd”。
- 输入cd + 解压的文件夹路径,进入rclone文件夹下,再输入以下命令开始授权。(如果是win11,进入目录右键在终端打开)
ID和密码替换成你自己的
rclone.exe authorize "onedrive" "客户端ID" "密码值"此时,浏览器将会自动打开,然后登录会为我们为刚才创建的api授权。


接受后页面返回这个就说明成功了,控制台会返回token。

token先保留,后面绑定会用到。

安装rclone
在Ubuntu安装rclone:
apt update
apt install curl && apt install fuse3
curl https://rclone.org/install.sh | sudo bash安装成功后,命令行输入rclone config挂载OneDrive网盘,输入“n”新建一个云盘,并输入名称。
这个名称就是挂载后磁盘的名称,我起的是“OneDrive”。

接下来找对应OneDrive的序号,这个随着版本更新序号可能会变动,注意看清楚。

输入序号后,就用到前面保存的客户端ID(client ID)、密码值(Value),不是SecretID。

然后是网盘类型。此处注意区分你的网盘是什么类型,国内大部分都是(1),部分高校是世纪互联版(4)。

接下来不进行高级配置(n),也不进行自动配置(n)。

然后就用到我们上面获取的token了,我们将整个大括号复制填入。


配置完成后,我们选择类型为OneDrive Personal or Business(1)。再选择OneDrive(1)此时系统会读取网盘路径,我们输入y确认。


最后,程序还会列出主要信息让你再次确认:

此时,我们看到一个"onedrive"类型的、名为“OneDrive”的网盘已经创建好,我们输入q退出程序,准备将这块网盘挂载到本地目录。

2.3下载rclone自启动挂载脚本
- 下载并编辑自启脚本
wget -N git.io/rcloned
vim rcloned- 修改内容:
NAME="OneDrive" #rclone 配置时填写的name
REMOTE='/VPS' #远程文件夹,网盘里的挂载的一个文件夹,留空为整个网盘
LOCAL='/root/OneDrive' #挂载地址,VPS本地挂载目录- 设置开机自启
mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
#(选项一)Debian/Ubuntu
update-rc.d -f rcloned defaults
#(选项二) CentOS
chkconfig rcloned on
# 最后,启动脚本!
bash /etc/init.d/rcloned start看到 [信息] rclone 启动成功 ! 即可。
查看挂载磁盘
df -h
这样就可以了,遇到问题可以留言评论看到就会回复!
管理
#开始挂载
bash /etc/init.d/rcloned start
#停止挂载
bash /etc/init.d/rcloned stop
#重新挂载
bash /etc/init.d/rcloned restart
#查看日志
tail -f /$HOME/.rclone/rcloned.log卸载自启挂载
bash /etc/init.d/rcloned stop
update-rc.d -f rcloned remove # Debian/Ubuntu
chkconfig rcloned off # CentOS
rm -f /etc/init.d/rcloned- 文章作者:
- Lthero博客
- 版权声明:
- 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自 Lthero博客!




