跳到主要内容
AnyStorage
免费下载

挂载 OneDrive

把 OneDrive 挂载成网络驱动器(Windows / Mac)

在 Windows 11 拿到盘符、在 macOS 拿到卷的四种做法,微软实际支持的是哪一种,以及哪些路子会被多因素认证打断。

OneDrive 给的是同步而不是盘符。subst 的真相、已经过时的 WebDAV 端点,以及一次覆盖所有连接的本机 WebDAV 挂载。

OneDrive 网络驱动器,映射 OneDrive 为网络驱动器,OneDrive 挂载 Windows 11

微软给的是同步,你要的是一个盘

搜这个问题,出来的要么是某个早就失效的 WebDAV 地址教程,要么是卖虚拟盘的产品页。两类都不先说清楚微软到底提供了什么,所以我们从这里开始。

官方 OneDrive 客户端会在用户目录下建一个文件夹,通常是 %USERPROFILE%\OneDrive,并与云端保持一致。打开「按需文件」后,里面是占位文件,打开时才下载,磁盘开销很小。但它不是盘符,不是挂载点,批处理脚本、渲染节点或者认死 Z:\ 的老软件都用不上。

这就是这个搜索词存在的原因。补上这个缺口有四种办法,好坏差别不小。

把 OneDrive 放到盘符后面的四种办法
做法实际得到什么重启后还在吗代价
OneDrive 客户端 + subst同步文件夹上的一个盘符不在,subst 只对当前会话有效底下仍然是同步文件夹
个人版 OneDrive 走 WebDAV一个映射的网络驱动器有时旧端点,开了两步验证就容易挂
SharePoint / OneDrive for Business 走 WebDAV一个映射的网络驱动器不在Basic 凭据无法被凭据管理器保存
本机 WebDAV 桥接,例如 AnyStorage一个盘符覆盖 OneDrive 与其他所有连接登录时映射即可保留免费版只读

做法一:用 subst 给同步文件夹一个盘符

subst 是一条有官方文档的 Windows 命令,它的全部工作就是「把一个路径关联到一个盘符」。这是从 OneDrive 文件夹到 Z:\ 最短的一条路,不需要服务、不需要改注册表、也不需要管理员权限。

cmd

subst Z: "%USERPROFILE%\OneDrive"
subst
subst Z: /d

两个限制要先知道。第一,subst 建立的是当前登录会话的虚拟盘,重启就没了,所以应该放进登录脚本或设为登录时触发的计划任务。第二,底下仍然是同步文件夹:任何遍历整棵目录树的程序(备份代理、索引服务)都会把占位文件实体化、真的把字节拉下来——而这恰恰是想挂载 2TB OneDrive 的人要避免的。

另外,net use 不接受本地路径,它要 UNC 路径或 URL。这正是 WebDAV 路线存在的原因。

做法二:WebDAV 路线,以及它令人失望的地方

个人版 OneDrive 历史上有一个 WebDAV 端点,形式是 https://d.docs.live.net/<CID>,其中 CID 是能在 OneDrive 网页地址里看到的十六进制账号标识。

cmd

net use Z: https://d.docs.live.net/00A1B2C3D4E5F678 /user:you@example.com *

请把它当成遗留方案。微软自己的存档文章说明,开启两步验证的账号需要使用应用密码而不是账号密码;而 2026 年的 Microsoft Q&A 里有不少帖子反映,即便把站点加入受信任站点,这种映射也会直接以拒绝访问或找不到网络名失败。微软给的建议是用同步客户端。个人版 OneDrive 的 WebDAV 映射属于被容忍,而不是被支持。

工作或学校账号的情况好一些。SharePoint 或 OneDrive for Business 的文档库可以用 WebDAV 重定向程序文档里的 UNC 形式映射,即 \\server[@SSL][@port][\path],其中 DavWWWRoot 表示服务器根:

cmd

net use Z: \\contoso.sharepoint.com@SSL\DavWWWRoot\personal\alice_contoso_com\Documents

如果这时返回「发生系统错误 67。」或资源管理器显示「错误代码: 0x80070043」,原因几乎总是 WebClient 服务没有运行——微软在 2023 年 11 月弃用了它,现在默认不启动。完整原因见 net use 错误 67WebDAV 错误 0x80070043。另外要有心理准备:每次登录后都要重新建立映射,因为微软明确说明从 Windows 7 起 Basic 认证的凭据无法由凭据管理器保存。

AnyStorage 的做法

AnyStorage 把 OneDrive 当作众多存储连接中的一个,然后通过跑在你自己机器上的 WebDAV 服务把所有已打开的连接一起暴露出来。侧边栏 Services,WebDAV 标签,按 Start,端点是 http://127.0.0.1:3211,HTTP Basic 认证始终开启:默认用户名 anystorage,外加首次使用时生成的 24 个字符密码,两者都带复制按钮。

映射一次,盘里的文件夹就是你的连接:OneDrive 和 S3 桶、Cloudflare R2、Backblaze B2、MinIO、Google Cloud Storage、Azure Blob、阿里云 OSS、腾讯云 COS、Google Drive、Dropbox、WebDAV 服务器、FTP、SFTP 以及本地文件夹并列。一个映射,而不是每个服务一个。

cmd

reg add "HKLM\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" /v BasicAuthLevel /t REG_DWORD /d 2 /f
net stop WebClient
net start WebClient
net use Z: http://127.0.0.1:3211/ /user:anystorage *

BasicAuthLevel 必须是 2,因为端点是回环上的 HTTP,而 Windows 默认拒绝在明文 HTTP 上发送 Basic 凭据。这是一次性改动,流量也不出本机。

两个要说清楚的限制:免费版的 WebDAV 挂载是只读的,读写属于 Pro;免费版可用两个存储连接。另外连接是懒加载的,只有在本次会话里于应用内打开过的连接才会出现在 WebDAV 根目录下。

在 Mac 上

不需要 WebClient 那样的服务,也不需要 macFUSE 之类的内核扩展。Finder 里按 Cmd+K,输入 http://127.0.0.1:3211,填同样的凭据,卷就会像普通网络共享一样出现在 /Volumes 下。Mac 上 OneDrive 的同步文件夹是 ~/OneDrive~/Library/CloudStorage/OneDrive-<租户>,同样是文件夹而不是卷。AnyStorage 需要 macOS 11 或更高;0.2.24 于 2026 年 9 月 23 日发布,最快的安装方式是 brew install --cask kilerd/tap/anystorage

能直接用 net use 映射 OneDrive 吗?

工作或学校账号可以,走上面的 SharePoint @SSL\DavWWWRoot 形式。个人账号的 d.docs.live.net 是遗留端点且越来越不可用,请按「同步文件夹 + subst」或本机 WebDAV 桥接来规划。

挂载后的 OneDrive 会占本地磁盘吗?

走 WebDAV 挂载不会,文件按需取回,不做镜像。用 subst 套在同步文件夹上则会,只要占位文件被读取就会实体化。

为什么映射每次重启后都消失?

两个独立原因。subst 的盘符按设计只存在于当前会话。Basic 认证的 WebDAV 映射在 Windows 7 及以后无法由凭据管理器恢复,所以微软自己的建议是用登录脚本重新执行 net use

Windows 11 和 Windows 10 有区别吗?

机制完全一样。实际差别在于 WebClient 自 2023 年 11 月起被弃用且默认不启动,越新的机器越容易在第一次映射时失败。

接着看