使用rclone在Windows下挂载Google个人/团队云盘

Rhilip 2018-05-01 AM 22173℃ 22条

前几天上了朋友提供的Google云盘商业版的车
但是Google默认提供的工具 Backup and Sync 中并不能对团队云盘进行编辑,而 Drive File Stream 又提示不是 G Suite账号不能使用(额,虽然我个人觉得应该是管理员没有开相关权限。。。。。。
结果试了下rclone可以在Windows环境下挂载,那tm的就rclone大法好,rclone大法好,rclone大法好了喽。。。

本处仅讲mount操作,但其他rclone命令也可在windows环境下使用。

工具

其中rclone的windows版需要解压,并添加解压目录到系统路径中。(额,不添加,然后使用时写完整路径也行23333)。而依赖库winfsp下载完后一路Next直接安装就可以了。

补充工具

添加Google团队云盘

确认rclone已经添加到系统路径中后可以使用rclone config进入配置项。
具体的配置设置可参见下面他人写的帮助或者直接搜索就行,挺简单的所以本处不再累述(实际情况是没有对中间过程做保存),注意在提示“Configure this as a team drive?”时,输入Y,并填入需要使用的团队云盘。

挂载 Mount

我这里假设我前面添加的名称为GDrive,想要挂载在本机的X:上,并设置缓存目录为F:\Temp(cache路径中请不要带有空格,默认缓存目录为C盘用户目录下, C:\Users\<Your user name>\AppData\Local\rclone)。那么运行以下命令执行挂载(整个GDrive根目录)操作,然后你就会看到一个可爱的X盘出现了~

rclone mount GDrive:/ x: --cache-dir F:\Temp --vfs-cache-mode writes

关于vfs-cache-mode项设置,还是建议看下官方的说明根据自己的需求和网络情况来进行选择 https://rclone.org/commands/rclone_mount/#file-caching 。这里只做简单说明:

  • off: In this mode the cache will read directly from the remote and write directly to the remote without caching anything on disk. (本地不做任何缓存,所有文件直接从云端获取并写入。建议网速特别好时(复制粘贴大文件时建议至少100M管以上速度)使用。
  • minimal: This is very similar to “off” except that files opened for read AND write will be buffered to disks. This means that files opened for write will be a lot more compatible, but uses the minimal disk space. (和off类似,但是已经打开的文件会被缓存到本地。个人推荐,小文件基本够用,但是如果你的网络情况(梯子)不是特别好的话,用writes也行
  • writes: In this mode files opened for read only are still read directly from the remote, write only and read/write files are buffered to disk first. (如果文件属性为只读则只从云端获取,不然先缓存在本地进行读写操作,随后被同步。个人推荐使用,但是在直接从本地复制文件到GDrive时还是看网络情况
  • full:In this mode all reads and writes are buffered to and from disk. When a file is opened for read it will be downloaded in its entirety first. (所有的读写操作都会缓存到磁盘中。然后才会同步。不是很推荐。会导致所有文件均被缓存到本地。直到达到你缓存总额(--cache-total-chunk-size,默认大小10G)。但是你网速特别差时也可以使用。

后端运行以及开机自动挂载

上面的挂载操作在退出cmd后就自动结束了,所以我们需要让它后台运行。
rclone虽然提供了--daemon参数来实行后台运行,但是该参数并不适合于windows环境中。会有如下提示:

λ rclone mount GDrive:/ x: --cache-dir F:\Temp --vfs-cache-mode writes --daemon
2018/05/01 09:54:19 background mode not supported on windows platform

所以,我们需要另外想个办法让rclone能够后端运行以及开机自动挂载。

在你之前解压的rclone目录下新建一个文本文件,填入以下内容,请注意修改倒数第二行的WS.Run中相关命令为你上步成功执行的命令,然后将该文件名改为rclone.vbs (后缀名为.vbs即可)

Option Explicit
Dim WMIService, Process, Processes, Flag, WS
Set WMIService = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
Set Processes = WMIService.ExecQuery("select * from win32_process")
Flag = true
for each Process in Processes
    if strcomp(Process.name, "rclone.exe") = 0 then
        Flag = false
        exit for
    end if
next
Set WMIService = nothing
if Flag then
    Set WS = Wscript.CreateObject("Wscript.Shell")
    WS.Run "rclone mount GDrive:/ x: --cache-dir F:\Temp --vfs-cache-mode writes", 0
end if

完成后双击运行,你会看到X盘挂载成功。

补充说明下,如果你看到显示的挂载空间其实是个人空间大小,请参阅此issue: The amount of disk space incorrent when mount Team Drives (gdrive) in Windows 10 · Issue #2288 · ncw/rclone 下载最新的rclone并安装。但超大文件仍建议使用rclone copy或者rclone sync进行复制或者同步操作,而不是直接使用挂载盘,以免卡挂载盘。

TIM截图20180501100446.jpg

如果你需要中断这个挂载操作,请直接在任务管理器中kill掉rclone.exe进程即可。

然后将这个文件复制(或者剪贴)到开机项中C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp(Windows 10)即可实现开机自动挂载~

上传速度相关

rclone直接连通www.goolgeapis.com进行文件的上传与下载操作。能直接走IPv6流量,在教育网100M环境下,能做到满速上传。其他环境网速视你的网络情况决定。

TIM图片20180501164229.jpg

TIM截图20180501163934.jpg

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 22 条评论


  1. 马丁
    马丁

    在挂载 Mount时,运行出错,
    panic: cgofuse: cannot find winfsp

    goroutine 36 [running]:
    github.com/ncw/rclone/vendor/github.com/billziss-gh/cgofuse/fuse.(*FileSystemHost).Mount(0xc0422dcf60, 0xc042072088, 0x2, 0xc042314500, 0xf, 0x14, 0x0)

    C:/gopath/src/github.com/ncw/rclone/vendor/github.com/billziss-gh/cgofuse/fuse/host.go:1131 +0x4fa

    github.com/ncw/rclone/cmd/cmount.mount.func1(0xc0422dcf60, 0xc042072088, 0x2, 0xc042314500, 0xf, 0x14, 0x113a3c0, 0xc0423b0000, 0xc0422da780)

    C:/gopath/src/github.com/ncw/rclone/cmd/cmount/mount.go:142 +0x71

    created by github.com/ncw/rclone/cmd/cmount.mount

    C:/gopath/src/github.com/ncw/rclone/cmd/cmount/mount.go:140 +0x3d4

    回复 2018-05-09 21:11
    1. Rhilip
      Rhilip 博主

      都说了要下载依赖库winfsp,看看前面的工具那里。

      回复 2018-05-10 08:01
      1. 马丁
        马丁

        winfsp已经下载了,可能跟win10不太对。从GitHub下载了一个winfsp-1.0.17072.msi安装后就OK了

        回复 2018-05-10 23:15
  2. CTC
    CTC

    感谢教学 想问如果挂载用rclone加密后上传的资料能直接看到解密档案吗?

    回复 2018-09-13 16:59
  3. Joe
    Joe

    大佬,请问想一下 VBS文件怎么设置变量呀,因为国内环境挂不上GGD,所以想设置这个变量set https_proxy=http://127.0.0.1:1189
    盼复!

    回复 2018-10-22 16:54
    1. Rhilip
      Rhilip 博主

      我个人是使用Proxifier解决的。因为我本地没有http代理,所以我不确定下面方法是否可行,请自己先在命令行中测试(-vvv)是否可行后再使用。

      如果使用set的话,添加用户环境变量应该是最为方便的方法。
      具体位置在 “此电脑”-“属性”-“高级环境设置”-“环境变量”,在上方的用户变量中新建两条用户变量,分别为:
      变量名 https_proxy 变量值 https://127.0.0.1:1189
      变量名 http_proxy 变量值 http://127.0.0.1:1189

      还有种改VBS的方法就是把proxy变量放在process环境,防止污染系统以及用户变量。还请前往pasebin查看 https://pastebin.com/pRwwGTwp

      回复 2018-10-22 19:34
  4. 无产阶级
    无产阶级

    非常好的教程,感谢。不过vfs-cache-mode 设成write还是很慢的样子,电脑用的rclone和proxifier+v2ray+tls,梯子是深港线。但是直接走软路由+raidrive的话就很快,很顺滑,可能设置还有点问题

    回复 2019-02-20 23:31
    1. Rhilip
      Rhilip 博主

      raidrive总感觉有他们自己api服务器的魔法加速,但具体没仔细看。
      windows下raidrive确实体验比rclone+proxifier舒服。只是可惜两个都没有原生的sock5支持

      回复 2019-04-12 20:55
  5. Maple
    Maple

    还想请教一下如何用vbs解决proxy问题的详细方法?
    是把您贴出来网站里的那些代码全部复制下来吗?要放到哪里?
    用proxifier具体怎么个方法啊?还请告知一下要把什么程式放到proxifier中吗?谢谢
    感谢!

    回复 2019-04-05 18:42
    1. Rhilip
      Rhilip 博主

      将rclone.exe的主程序放入即可,具体可以自己看proxifier的相关日志

      回复 2019-04-12 20:56
  6. xChor
    xChor

    macOS怎么挂载gd?路径怎么设置?

    回复 2019-07-17 23:30
    1. Rhilip
      Rhilip 博主

      穷,没有macOS。可以考虑看下linux相关的方法。

      回复 2019-07-20 20:53
  7. shura
    shura

    www.goolgeapi.com -> www.googleapis.com

    回复 2019-07-19 21:46
    1. Rhilip
      Rhilip 博主

      感谢指正。实际观察其实不一定走这个域名,也有可能走其他域名连接。

      回复 2019-07-20 20:52
      1. Shokun
        Shokun

        现在教育网ipv6已经连不上了

        回复 2019-10-16 11:15
  8. bajins
    bajins

    ProcesseName="rclone.exe"

    Set WMIService = GetObject("winmgmts:{impersonationlevel=impersonate}!\.rootcimv2")
    Set Processes = WMIService.ExecQuery("select * from win32_process where name='" & ProcesseName & "'")

    For Each Process In Processes

    ' 比较两个字符串 If InStr(UCase(Process.name), UCase(ProcesseName)) = 0 Then Exit for End if Set WS = Wscript.CreateObject("Wscript.Shell") WS.Run "rclone mount GDrive:/ x: --cache-dir F:\Temp --vfs-cache-mode writes", 0

    Next

    回复 2019-10-22 17:19
  9. Kevin
    Kevin

    大佬,想问下,我同时配置了OneDrive和Google drive,有没有可以同时挂载OneDrive和GoogleDrive的vbs语言?

    回复 2020-02-18 12:18
    1. Rhilip
      Rhilip 博主

      删除vbs中判断重复进程的字段,实际就是

      Dim WS
      Set WS = Wscript.CreateObject("Wscript.Shell")
      WS.Run "xxxxxx", 0

      回复 2020-02-24 18:51
  10. chenhf
    chenhf

    博主您好,我在配置config的时候到输入从google返回的token时给出这个提示,找了很久都没有找到解决方法,请问能否提供一下协助
    Failed to configure token: failed to get token: Post https://oauth2.googleapis.com/token: read tcp 10.9.0.8:62428->216.58.200.42:443: wsarecv: An existing connection was forcibly closed by the remote host.

    回复 2020-03-06 14:47
    1. 叶子
      叶子

      我也是这样 老哥你解决了吗

      回复 2020-03-12 21:33
    2. Rhilip
      Rhilip 博主

      梯子不好,或者rclone没走代理。检查代理设置,并多次重试。

      回复 2020-03-12 22:06
  11. Acid
    Acid

    博主你好,我在挂载了googledrive后出现了CPU被rclone.exe占满的现象,请问博主有同样的问题吗?

    回复 2020-03-26 20:48