系统 macOS 15.8.1(24H32),生成于 2026-10-03。完整备份落在 /Volumes/SSD/backup-before-reinstall/,本页是索引与恢复方法。

一、核心结论

内置盘共 39 个应用:8 个来自 App Store、1 个来自 Homebrew、其余 30 个手动安装(DMG/pkg)。手动安装的应用没有统一恢复入口,必须逐个处理。

四类应用不能只靠”回官网重下”:

  1. 破解版(Magnet)
  2. 无签名第三方重打包(Blender、Chromium)
  3. 内部自研工具(TianxiCode、LLM Space Performance)
  4. 装了系统级特权组件、拷 .app 无效的(Docker、ClashX、Tunnelblick 等 25 个)

反查下载源的可靠方法:读应用的 SUFeedURL(它向哪个地址要更新,哪个就是官方发行渠道);再配合 codesign -dv 看签名厂商。com.apple.quarantine 只记录下载浏览器、不记录 URL,隔离事件库的 URL 字段在新版 macOS 已为空。

二、恢复策略分类

A. 不再安装(4 个)

OrbStack、Paragon NTFS、TeamViewer、Fortinet FortiClient。

其中 Paragon 装了内核扩展 com.paragon-software.filesystems.ntfs;外置盘均为 APFS,不再需要。其余三个已只剩残留 helper/daemon,抹盘即清。

B. 用备份的 .app 本体恢复(5 个)

应用版本原因
Magnet2.5.0破解版(签名 Authority=TNT、无 TeamIdentifier)
Blender5.2.1无签名,官方版应有签名+公证
Chromium120.0.6058.0无签名,第三方重打包
TianxiCode0.1.492自研,无公开源
LLM Space Performance4.3.0内部工具,含 bspatch

C. App Store 重下(7 个)

DeepChat、Microsoft Excel / Outlook / PowerPoint / Word、OneDrive、The Unarchiver。

Magnet 虽有 App Store 收据,但已被破解,走 B 类。

D. 官方渠道重下(22 个)

VS Code、Google Chrome、iTerm、Obsidian、Postman、Sourcetree、Sublime Text / Merge、VLC、Eudic、uPic、Scroll Reverser、Lark、WeChat、WorkBuddy、WPS、Nutstore、Multica、ChatGPT、UURemote、Microsoft Teams、CC Switch。

E. 必须用安装包重装(含特权组件)

Docker、ClashX、Tunnelblick、UURemote、Microsoft Teams、Office 系列、Zoom、Charles 等。

  • ClashX 官方:https://github.com/yichengchen/clashX/releases(appcast https://yichengchen.github.io/clashX/appcast.xml)
  • Tunnelblick 官方:https://tunnelblick.net/downloads.html(appcast https://tunnelblick.net/appcast-v3.rss)

三、三个易丢配置的保存与恢复

这三类配置不在应用包里,重装后必须单独还原。

Tunnelblick(3 个内网 VPN 配置)

位置:~/Library/Application Support/Tunnelblick/Configurations/

配置内容
config.ovpn独立文件,含 remote + CA 引用
mbg.tblk/配置包:config.ovpn + mbgca.crt
mbg-dev.tblk/配置包:上述 + pass.txt.unknown
  • 保存:整目录拷走;或用 Tunnelblick 菜单逐个「Export Configuration…」导出 .tblk
  • 恢复:拷回原位(先启动一次 Tunnelblick 建目录),或直接双击 .tblk 导入;首次连接需重输内网账号密码

ClashX

两处:

  • ~/.config/clash/*.yaml — 订阅/节点配置(当前生效项由 plist 的 selectConfigName 决定)

  • ~/Library/Preferences/com.west2online.ClashX.plist — 选中配置名、端口、忽略列表、订阅 URL

  • 保存:拷 .yaml + plist(cache.db、Country.mmdb 可不拷)

  • 恢复:启动 ClashX → 拷回 yaml → 恢复 plist(或重填订阅 URL)→ 菜单里选中原配置

CC Switch

位置:~/.cc-switch/(cc-switch.db 含 provider/API Key/skills、settings.json、skills/)+ ~/Library/Application Support/com.ccswitch.desktop/。

  • 保存:整体拷 ~/.cc-switch/(备份前先退出应用,避免拷到写入中的 SQLite)
  • 恢复:拷回原位,启动即读 db

四、CLI 与开发环境

  • Homebrew:39 formula + 2 tap,brew bundle --file=Brewfile 恢复
  • npm 全局 16 个:@anthropic-ai/claude-code、opencode-ai、openclaw、@larksuite/cli、botmux、playwright、skills、vite 等
  • 自定义命令:~/bin/sshlenovo(expect 脚本,含明文密码)、~/bin/ffmpeg_bin/(ffmpeg 7.1.1 + ffserver 3.4.2)

五、重装后恢复顺序

  1. 装 Homebrew → brew bundle
  2. App Store 登录,重下 7 个
  3. 拷回 5 个特殊 app 本体
  4. 重装特权类应用
  5. 恢复配置(credentials / dotfiles / vpn-proxy / licenses / ai-cli / bin)
  6. 重建家目录软链(0backup 1lenovo 4project 6ai 9tool miniconda3 指向 /Volumes/SSD/...,卷名必须保持 SSD)
  7. Docker 磁盘镜像位置改回 /Volumes/SSD/docker/data
  8. 重加 Time Machine 排除项

六、安全提示

备份目录含明文凭据:bin/sshlenovo(密码)、credentials/.ssh(私钥)、ai-cli/.cc-switch/cc-switch.db(API Key)、vpn-proxy/ClashX/*.yaml(节点密码)、vpn-proxy/Tunnelblick-Configurations/(CA+dev 密码)、licenses/Preferences/(可能含 token)。切勿同步到公开仓库或云端。