2020 年 4 月 2 日,我的个人电脑(MacBook Pro 13-inch, 2018)遭到了不可逆转的毁灭性打击,损失严重,特此记录。

由于博客也是灾后重建的一部分,之后又花了一些时间完成毕业设计,因此晚了三个月才写下这篇文章。

损坏与修复

首先来捋一下时间线。

  • 目测 4 月 1 日凌晨触发了一次系统更新,因此当我 2 日打开电脑时指纹登录被停用,需要我输入密码。
  • 2 日晚上一边使用网易云音乐,一边使用 Sidecar 功能连接 iPad 做第二屏幕,之后突然就卡住了。于是强制关机。
    • 18 年的 mbp 有个通病,总会突然卡住然后重启,和 Apple T2 安全芯片有关。
    • 我遇到过几次上述问题,尤其是刚拿到手那段时间。但是每一次都有网易云音乐正在播放,可能有毒…
    • 这次尤为严重,卡住后不能重启了
    • 系统版本应该是 macOS Catalina 10.15.4
  • 关机后尝试马上开机,没有任何反应。抱着一丝希望等它恢复到可以启动的状态,于是去洗澡了。然而等到机身都冰凉了,还是没有任何响应。
  • 通过搜索引擎,尝试了几种常见的 Mac 开机无响应的解决办法,无果。遂访问 Genius Bar,预约了第二天的电话支持和周末的现场支持。
  • 3 日电话支持,大部分依然是前一天查到的操作,似乎也尝试了一个没看到过的办法,但依旧无果。感觉时间拖得越长,对这种能自己操作的办法越不抱希望,预感到拆机是不可避免的了。
  • 4 日直奔附近的 Apple Store,跟店员说了大概的情况(包括常用方法已经尝试无果),几分钟就交机了,结论是直接换主板,主板含存储盘,数据不保证能挽救。
  • 11 日中午 Apple Store 来电通知数据不可恢复,傍晚通知可以取机,于是第一时间前往,取回更换主板后的「新机」。

从损坏到修复,一共过去 10 天。维修效率还是比较符合预期的。但是损坏这件事情本身就完全是预期外的。进一步询问维修人员,也只是表示主板出这种问题几率很小(个人推断还是 T2 芯片直接把主板整个锁死了)

于是偶尔考虑了下离开生态,毕竟 Mac 也没有很可靠嘛。然而并过不去键和键合并的坎。已经习惯了ctrl:nocaps的键位,有个⌘Command键对我来说是十分重要了(⌃Control键就应该干 control 的事情嘛)。不过不得不说,除了这个键盘问题,其他方面 M$ Windows 做得已经日趋完善了。

Genius Bar 工作授权

数据恢复

在损坏之前,我并没有很重视数据的备份。所以是真的很痛。

幸好,还是有一部分数据可以立马找回来的。主要分别是

  • GitHub 上的代码,例如 CustOJ、CustIDE 等
  • 阿里云上部署的代码,例如 CustReg、高德地铁路线爬虫脚本
  • 百度网盘,保存了两个收钱做的外包项目、JoblabX的参赛代码等
  • 公司的 Mac 和开发机里,终端配置和.zshrc.vimrc

丢失的主要有

  • 毕设开题报告,虽然上交给老师了,但刚好老师的电脑被他老婆格式化了…
  • 为了毕设找的一些参考文献,有些公网不好找的还是只能麻烦 @bigstomach 再下一份
  • 本 Blog 的部署源码,毕竟 GitHub Page 只托管静态产物
  • ACM 模板,源码和产物都丢失了(虽然也退役了
  • 个人简历的 tex 源码,现在只有 pdf 留在 Google Drive 上了
  • 一些出题用到的代码和数据
  • 一些 pyspark 脚本
  • 各种杂物,主要集中在以前的~/

当然,还有很多软件要装。主要麻烦的可能是一些 Adobe,以及 Wolfram Mathematica。不过最近 Wolfram Cloud 免费大放送,暂时先用着。

由于 4 月刚好是毕设中期,所以抓紧先重写了开题报告(幸好当时还没有真正开始写毕设,否则可能还没 git 过就 gg)

至于博客,则是到了最近才开始着手重建。这次干脆就从老的 Next Theme 换成了新的 Butterfly,多了许多功能和特效,然而也吃图。

过渡的设备

事实上我有两台💻,但是公司发的 15-inch 实在是太重了,并不想背来背去,而且新买的 iPad 当然要体验一下。于是 iPad 就当了几天家用主力机。

我购入的是 iPad Pro 2020 11” Wifi 版,几乎是国内最早一批拿到手的。当然当时还没有发售「悬浮」的 Magic Keyboard,临时用一把 Logitech k380 顶着,没有触控板也没有鼠标。

买它的时候,我确实被「你的下一台电脑,何必是电脑。」的广告语吸引住了。没想到一语成谶,直接把 mbp 搞挂来使得 iPad 替代「电脑」的位置…(具体的使用体验,可能将来会开一篇文章分享)

不过,在那几天,iPad 确实表现还是比较出色的。至少,我使用它和自己写的 CustIDE 通过了 Google Code Jam 的初赛,还通过带有 ssh 功能的 app 在云主机上做了一些小修改和运维。不过,很大一部分时间,是用浏览器来调研网盘了。

备份方案

数据备份确实很重要的,可能只有翻过车才能意识到。

这次拿到全新系统后,首先是确认了 iCloud 处于启用状态。iCloud 在生态内还是很好用的,桌面、文稿等几个位置都可以自动同步到云上,也可以跨设备同步小文件什么的。当然,网盘的使用也要考虑到非的设备。

各方面考虑下来(具体怎么考虑的已经忘了,有空想起来再补吧),最后选择了 M$ 家的 OneDrive 做数据备份和同步。因为买的是 365,所以还享受到了正版的 Office 三件套,在毕设的论文撰写和答辩中还是起到了很大作用的,感觉不亏。之后文档备份,如果使用 Word 之类的,可以直接建到 OneDrive 里,所有设备都可以同步。

OneDrive 在 Mac 是可以映射成一个文件夹来使用的(Windows 貌似是挂盘,本质上同理)。我把这个文件夹直接放在~/下了。它支持软连接出来,映射到本机的其他路径下,但反过来不行。于是像博客源码这一类的,我会先在 OneDrive 建立好路径,然后ln -s~/blog,这样在本机操作blog目录就直接同步到 OneDrive 了。

另一方面,如上所述,我习惯放很多杂物在~/里。这些东西我也是需要备份的,但是显然做不到实时。于是基于rsync写了个脚本,来支持~/下单文件的准实时同步,用crontab实现每 10 分钟同步一次。

1
2
3
4
5
6
7
# sync_home.sh
set -e

src_dir="$HOME/"
dest_dir="$HOME/OneDrive/ccw/"

rsync -a --delete --exclude='*/' $src_dir $dest_dir
1
2
$ crontab -e
*/10 * * * * ~/sync_home.sh

能解决~/里的杂物,其实就解决了很大一部分问题。其他成库的代码,都会被传到 GitHub(微软接手后放开了私有仓库的限制,好好利用)。

总结,我可能又要成为软吹了【