Rclone 挂载 OneDrive 为本地硬盘
Windows平台下使用 Rclone 挂载 OneDrive 为本地硬盘
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
1 | $ rclone config |
第二步输入n创建新的配置
1 | $ e/n/d/r/c/s/q> n |
第三步 输入一个英文名称,用来表示,中间也不要有空格
1 | $ name> OneDriveLocal |
第四步 输入要配置的网盘类型 因为我们要配置Microsoft OneDrive 因此输入5(具体问题具体分析)
1 | Type of storage to configure. |
第五步 要输入 client_id 时直接回车
1 | ** See help for onedrive backend at: https://rclone.org/onedrive/ ** |
第六步 要输入 client_secret 时直接回车
1 | Microsoft App Client Secret |
第七步 输入n 不进行高级配置
1 | Edit advanced config? (y/n) |
第八步 输入y 使用自动配置授权
输入y后会打开默认浏览器 登录Microsoft账号后 选择 是 即可
1 | Remote config |
第九步 输入1 因为现在我配置的是 OneDrive Personal or Business 类型的网盘
1 | If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=sUuYaGWtxruA81JiCokJGg |
第十步 输入0
1 | Found 1 drives, please select the one you want to use: |
第十一步 输入y
1 | Found drive 'root' of type 'business', URL: https://pmjs-my.sharepoint.com/personal/wld_365_w/Documents |
第十二步 输入y
1 | [OneDrive_local] |
此时,就会出现刚刚配置好的网盘名称了
最后输入q退出配置即可
1 | e) Edit existing remote |
在 C:\Users\你的用户名\.config\rclone
文件夹下就可以看见配置文件 rclone.conf 啦。
5、挂载OneDrive为本地硬盘
在 git bash
或 cmd
中输入以下挂载命令:
1 | 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
的文件
1 | 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和密码替换成你自己的
1 | rclone.exe authorize "onedrive" "客户端ID" "密码值" |
此时,浏览器将会自动打开,然后登录会为我们为刚才创建的api授权。
接受后页面返回这个就说明成功了,控制台会返回token。
token先保留,后面绑定会用到。
安装rclone
在Ubuntu安装rclone:
1 | apt update |
安装成功后,命令行输入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自启动挂载脚本
- 下载并编辑自启脚本
1 | wget -N git.io/rcloned |
- 修改内容:
1 | NAME="OneDrive" #rclone 配置时填写的name |
- 设置开机自启
1 | mv rcloned /etc/init.d/rcloned |
看到 [信息] rclone 启动成功 !
即可。
查看挂载磁盘
1 | df -h |
这样就可以了,遇到问题可以留言评论看到就会回复!
管理
1 | #开始挂载 |
卸载自启挂载
1 | bash /etc/init.d/rcloned stop |