乐于分享
好东西不私藏

OPPO 互联 APP 竟导致 Mac 外置 SSD 挂载异常?我的 Mac mini “新用户”问题排查记录

OPPO 互联 APP 竟导致 Mac 外置 SSD 挂载异常?我的 Mac mini “新用户”问题排查记录
macOS · 故障排查 2026.08

Mac 重启=用户目录损坏?

开机竟把我当 「新用户」

竟是后台 APP 抢了挂载点

OPPO 互联 O+Connect · 启动竞态 · WD 1

Mac mini 外置 SSD 排查实录

挂载异常 开机自启

📦 8 Parts + Conclusion

👉 滑动

PART 01

变成新用户?

桌面空了

PART 02

SSD 变 WD 1

挂载路径不对

PART 03

检查挂载点

目录已存在

PART 04

lsof 找元凶

O+Connect

PART 05

开机自启

RunAtLoad

PART 06

启动顺序

时间线还原

PART 07

根治方案

禁用后台服务

PART 08

问题定位

完整链路

PART ///

写在最后

排查心得

数据其实没丢,只是外置 SSD 挂错了位置

最近我的 Mac mini 遇到了一个非常奇怪的问题。

有几次重启之后,登录系统时突然发现整个桌面环境像是「新装的一样」:原来的桌面文件没了,很多软件配置也没了,系统似乎把我当成了一个全新的用户。

一开始我甚至怀疑是不是用户目录损坏了。

但后来排查发现,数据其实并没有消失,真正的问题是存放用户目录的外置 SSD 没有按正常路径挂载

而最终让我没想到的是,导致这一切的竟然是一个平时很少关注的后台软件——OPPO 互联(O+Connect)

下面记录一下这次问题的完整排查过程。

01

PART

为什么重启后会变成「新用户」?

WHY A NEW USER

我的 Mac mini 外接了一块 WD SSD,并且将用户目录放到了这块 SSD 上。

正常情况下,SSD 会挂载到:

/Volumes/WD

用户目录则位于:

/Volumes/WD/Users/<用户名>

因此,每次登录系统时,macOS 都需要能够正常访问这个路径。

但出现问题的时候,SSD 没有挂载到 /Volumes/WD,而是变成了:

/Volumes/WD 1

于是原来的 /Volumes/WD/Users/<用户名> 就无法按照正常路径访问了。

这就导致 macOS 登录之后表现得像是进入了一个全新的用户环境:

原来的桌面文件看不到

软件配置像第一次运行

桌面环境恢复成默认状态

但实际上,原来的用户数据还在 SSD 里,只是 SSD 挂载到了错误的位置。

02

PART

为什么 SSD 会变成 WD 1?

WHY WD 1

先确认实际的挂载位置:

CMD mount | grep "/Volumes/WD"

正常情况下应该类似:

/dev/disk7s1 on /Volumes/WD

而出现问题时变成:

/dev/disk7s1 on /Volumes/WD 1

这里的 /dev/disk7s1 是 macOS 给磁盘分区分配的设备名称,/Volumes/WD 则是这块磁盘的挂载路径。

所以这并不是 SSD 真的改名成了 WD 1

macOS 原本准备把 SSD 挂载到 /Volumes/WD,但发现这个路径已经存在,于是换成了 /Volumes/WD 1

于是问题就变成了:谁提前创建了 /Volumes/WD?

03

PART

检查 /Volumes/WD 和 /Volumes/WD 1

INSPECT THE MOUNT POINTS

执行:

CMD ls -ldO "/Volumes/WD" "/Volumes/WD 1"

可以看到:/Volumes/WD 是一个普通目录,而 /Volumes/WD 1 才是真正的 SSD 挂载点。

这说明:在 SSD 真正挂载之前,系统里已经出现了一个 /Volumes/WD 目录。

接下来需要找出是谁创建、使用了这个目录

04

PART

用 lsof 找到占用 /Volumes/WD 的程序

FIND THE CULPRIT WITH LSOF

执行:

CMD sudo lsof +D "/Volumes/WD"

这个命令可以查看当前有哪些进程正在使用指定目录

结果发现:

O+Connect

正在访问:

/Volumes/WD/Users/<用户名>/Library/Application Support/O+Connect/dcs.db

这时候,OPPO 互联(O+Connect)成为了重点怀疑对象。

不过仅凭 lsof 还不能直接确定就是它导致的,所以继续检查它的启动方式

05

PART

发现 O+Connect 是开机自动启动的

AUTO-START ON BOOT

查看 O+Connect 对应的进程:

CMD ps -p <PID> -o pid,ppid,user,lstart,command

发现它运行的是:

/Applications/O+Connect.app/Contents/Resources/daemon/O+Connect Service

而且是由 macOS 的 launchd 以系统服务的方式运行。

继续查看它的 LaunchDaemon:

CMD sudo cat /Library/LaunchDaemons/com.oplus.dsp.core.plist

其中有:

. . . plist

<key>Label</key>

<string>com.oplus.dsp.core</string>

<key>ProgramArguments</key>

<array>

    <string>/Applications/O+Connect.app/Contents/Resources/daemon/O+Connect Service</string>

</array>

<key>RunAtLoad</key>

<true/>

<key>KeepAlive</key>

<true/>

这里最关键的是:

<key>RunAtLoad</key>

<true/>

说明 O+Connect 的后台服务会在系统启动时自动运行

06

PART

检查文件创建时间,确认启动顺序

CONFIRM THE BOOT ORDER

到这里已经有了比较明确的怀疑,但还需要确认:是不是 O+Connect 启动后,在 SSD 挂载之前创建了 /Volumes/WD?

于是继续检查:

. . . bash

sudo stat "/Volumes/WD"

sudo stat "/Volumes/WD/Users"

sudo stat "/Volumes/WD/Users/<用户名>"

sudo stat "/Volumes/WD/Users/<用户名>/.oplus_devicespace_pid_flag"

sudo stat "/Volumes/WD/Users/<用户名>/Library/Application Support/O+Connect/dcs.db"

结果发现,这些目录和文件的创建时间都集中在 O+Connect 服务启动之后

尤其是:

.oplus_devicespace_pid_flag

以及:

O+Connect/dcs.db

都出现在这个提前创建的 /Volumes/WD 目录中。

至此,整个启动过程基本可以还原出来:

Mac 开机

  ↓

外置 SSD 还在初始化

  ↓

O+Connect Service 提前启动

  ↓

访问 /Volumes/WD

  ↓

创建 /Volumes/WD 目录及相关文件

  ↓

SSD 后续完成挂载

  ↓

发现 /Volumes/WD 已经存在

  ↓

SSD 挂载到 /Volumes/WD 1

  ↓

原用户目录路径失效

  ↓

登录后表现得像一个「新用户」

这也解释了为什么问题不是每次重启都会出现。

本质上是 O+Connect 的启动时间和外置 SSD 的挂载时间存在竞争。有时候 SSD 先完成挂载就不会出问题,有时候 O+Connect 抢先启动,就会出现 WD 1

07

PART

最终解决:禁用 O+Connect 核心后台服务

THE FIX

确认问题来自 O+Connect 后,我不需要它在 Mac 启动阶段运行,因此直接禁用了它的核心后台服务

com.oplus.dsp.core

先停止当前运行的服务:

CMD sudo launchctl bootout system /Library/LaunchDaemons/com.oplus.dsp.core.plist

然后禁止它以后开机自动启动:

CMD sudo launchctl disable system/com.oplus.dsp.core

可以通过下面的命令检查:

CMD sudo launchctl print-disabled system | grep -i oplus

如果看到:

"com.oplus.dsp.core" => true

就说明已经禁用。

✦ 不需要处理的部分

这里不需要处理 com.oplus.O+Connect.uninstall。这次真正导致问题的是 com.oplus.dsp.core,也就是 O+Connect 的核心后台服务。

08

PART

问题最终定位

ROOT CAUSE SUMMARY

整个问题最终可以归纳成:

OPPO 互联(O+Connect)

          ↓

开机时过早启动

          ↓

提前创建 /Volumes/WD

          ↓

WD SSD 无法使用原挂载点

          ↓

macOS 将 SSD 挂载为 /Volumes/WD 1

          ↓

外置 SSD 上的用户目录无法通过原路径访问

          ↓

登录后看起来像进入了一个全新的用户

最终通过禁用 com.oplus.dsp.core 解决了这个问题。

这次排查过程中,最关键的几个命令就是:

. . . bash

mount | grep "/Volumes/WD"

ls -ldO "/Volumes/WD" "/Volumes/WD 1"

sudo lsof +D "/Volumes/WD"

sudo stat "/Volumes/WD"

从最开始的「Mac 怎么突然变成新用户了」,一路查到外置 SSD 的挂载点,再查到占用挂载点的进程,最终定位到 OPPO 互联的开机服务,整个问题也就串起来了。

///

LAST

写在最后

A PERSONAL NOTE

这次问题折腾了我一段时间,最开始看到「进入了一个全新的用户」,确实很容易往用户数据丢失或者 SSD 出问题的方向去想。

最后顺着用户目录的位置、SSD 的实际挂载点,一步步查到 /Volumes/WD 被谁提前创建,再定位到 OPPO 互联的后台服务,才把整个问题串了起来。

最终禁用 com.oplus.dsp.core 后,外置 SSD 可以正常挂载到 /Volumes/WD,用户环境也恢复正常。

记录下来,主要是给自己留个备忘。如果以后这台 Mac 再出现类似问题,至少知道应该从哪里开始查

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING