在 Linux 上挂载 OneDrive — NetDrive 的实验性 Ubuntu 版本
使用 NetDrive 的实验性 Linux 版本,将个人 OneDrive 或 OneDrive for Business 挂载为 Ubuntu 上的常规 Linux 挂载点。
某个运行 Ubuntu 的构建服务器需要在每次发布前,从共享的 OneDrive for Business 资料库中读取若干份规格文档,而在无头(headless)机器上安装微软自家的同步客户端并不现实。NetDrive 的 Linux 版本绕开了这个问题:它会在一个常规挂载点上挂载 OneDrive 账户,因此脚本执行 cat /mnt/onedrive/specs/release-notes.md 时,读到的是微软服务器上的实时文件,而不是有人忘了同步的过期本地副本。

在 Ubuntu 上挂载 OneDrive
NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。
- 支持 Ubuntu 16.04 及更高版本
- 个人 OneDrive 与 OneDrive for Business 可同时并存
- 文件按需流式传输 — 不会预先下载
免费试用。提供终身与订阅方案。
为何在此场景下挂载点胜过同步文件夹
微软的 OneDrive 同步客户端的设计核心是保持本地镜像最新,这意味着在任何操作发生之前它都要先下载文件——在笔记本电脑上这是合理的取舍,但在一台只需从总容量数十 GB 的共享资料库中读取三个文件的 Linux 构建机上,就显得很别扭了。挂载省去了“先全部下载”这一步。NetDrive 会通过挂载点直接对 OneDrive 账户解析每一次读写,因此脚本的 open() 调用无需事先执行同步,就能拿到当前的远程文件。
NetDrive 自首个版本起就支持 OneDrive,并且将 OneDrive for Business 视为与个人 OneDrive 不同的独立连接类型——它使用微软的现代化 API,拥有自己独立的配置,因此工作账户和个人账户可以同时挂载,互不干扰。

在 Ubuntu 上安装 NetDrive
NetDrive 的 Linux 版本不通过 Ubuntu 的软件包仓库分发,因此安装流程走的是 GitHub,而非 apt:
- 前往 github.com/NetDrive/installer,获取与你的 Ubuntu 版本相匹配的发行版。
- 按照安装程序仓库的发行说明操作——必须先安装驱动组件,NetDrive 才能挂载任何内容。
- 安装 NetDrive 软件包本身。
- 启动 NetDrive。首次运行会加载驱动组件,视系统配置不同,可能会要求
sudo权限。
最低支持版本为 Ubuntu 16.04。更新以 GitHub 发行版的形式发布,而非 apt upgrade,并且 Linux 版本带有 NetDrive 自家标注的实验性标签——Windows 和 macOS 承担了大部分测试工作,因此这更适合用于构建机或开发机,而非未经充分测试就用于生产环境中的关键任务。
分步操作:在 Ubuntu 上连接 OneDrive
- 打开 NetDrive 的 Drive Manager,点击 + Add Drive。
- 若是个人微软账户,选择 OneDrive;若是 Microsoft 365 工作账户,则选择 OneDrive for Business。

- 通过默认浏览器打开的 OAuth 流程登录。 在没有安装浏览器的无头机器上,可以从登录同一账户的另一台机器完成一次性授权,或使用 X 转发会话。
- 设置挂载点——比如
/mnt/onedrive,或任何你有写入权限的空目录。 - 点击 Connect。 NetDrive 会向微软完成身份验证,并将账户挂载到该路径。
首次浏览某个文件夹时,目录列表来自 OneDrive API;具体文件在被真正打开之前不会被下载下来。
在终端中验证挂载
在让脚本访问该路径之前,先确认挂载确实成功了,而不要只依赖图形界面:
# Confirm the mount is listed
mount | grep onedrive
# Or just try listing it
ls /mnt/onedrive

如果列表返回为空,先回头检查 OAuth 步骤——在无头机器上浏览器流程被中断,是 OneDrive 连接未能完成的最常见原因,比任何挂载点相关的问题都更常见。对于 OneDrive for Business,请特别确认你选择的是 Business 连接类型而非个人 OneDrive;两者使用不同的登录流程,无法用对方账户完成身份验证。
使用 Linux 版本需要留意的事项
- 发布节奏独立 ——Linux 驱动组件按自己的节奏发布,因此某个在 Windows 或 macOS 上已修复的问题,不会在同一周内自动出现在 Linux 上。
- 没有
apt集成 ——安装与更新都来自 GitHub 发行版,而非 Ubuntu 的默认软件仓库。 - Windows 与 macOS 才是经过充分验证的目标平台 ——NetDrive 官方说明将 Linux 版本视为实验性质。用作每天读取几次 OneDrive 的 CI 运行器或个人开发机是合理的用法;若要用于无人值守的生产流水线,在依赖它之前值得先充分测试。
小结
在 Ubuntu 上挂载 OneDrive,能让无头或桌面版 Linux 机器获得与 NetDrive 在 Windows 和 macOS 上提供的相同挂载点访问方式,安装程序托管在 GitHub 上而非通过 apt。关于同一提供商在测试更充分的平台上的使用方法,参见在 Windows 上挂载 OneDrive;关于 Linux 版本上的另一种连接类型,参见在 Linux 上挂载 Google Drive;关于更全面的 Linux 使用情况,参见Ubuntu Linux 上的 NetDrive。
— Alex, NetDrive