前言

第一次升级 macOS 在抱着对 Apple 高质量软硬件的幻想中破灭,从 macOS High Sierra 手贱升级到 macOS Mojave (version 10.14),各种字体发虚,Kernel Panic(六国语言重启),系统卡顿,耗电快等问题接踵而至。本来寄希望于升级 macOS Mojave (version 10.14.1-10.14.6)可以解决部分稳定性和兼容性问题,但是 MacBook 居然开机卡在进度条,然后我等了一上午都没有完成,差点以为要悲剧的重装系统丢失数据了。所以很有必要给大伙提个醒,无论是 Windows 还是 macOS 在新版本推送的早期都不要点击更新,升级到高版本后如果不选择 erase 擦除数据是无法降级至低版本的,比如从 Catalina 降级至 Mojave 或 High Sierra。抑制住你体内的洪荒之力和强迫症,不要手贱,不要手贱,不要手贱。实在手痒的厉害,千万记住先备份后折腾。

拒绝重装!教你如何拯救开机失败的 Mac 电脑


更新记录

2019 年 08 月 22 日 - 更新解决问题的常见套路,可修复截止至 10.14.6 之前的大多数问题,对 Catalina 不抱有 Bug 变少希望
2019 年 01 月 30 日 - 更新解决唤醒时黑屏只看见鼠标的问题
2018 年 11 月 01 日 - 初稿

阅读原文 - https://wsgzao.github.io/post/macos/

扩展阅读

Upgrade to macOS Mojave - https://www.apple.com/macos/how-to-upgrade/
如何升级到 macOS Mojave - https://support.apple.com/zh-cn/HT201475
如何通过 macOS 恢复功能重新安装 macOS - https://support.apple.com/zh-cn/HT204904
如何创建可引导的 macOS 安装器 - https://support.apple.com/zh-cn/HT201372
使用 “时间机器” 备份您的 Mac - https://support.apple.com/zh-cn/HT201250


macOS history

第一次体验苹果虚拟机和黑苹果记得还是 Tiger 和 Leopard 的时候

Version Codename Most recent version
Mac OS X 10.0 Cheetah 10.0.4 (June 22, 2001)
Mac OS X 10.1 Puma 10.1.5 (June 6, 2002)
Mac OS X 10.2 Jaguar 10.2.8 (October 3, 2003)
Mac OS X 10.3 Panther 10.3.9 (April 15, 2005)
Mac OS X 10.4 Tiger 10.4.11 (November 14, 2007)
Mac OS X 10.5 Leopard 10.5.8 (August 5, 2009)
Mac OS X 10.6 Snow Leopard 10.6.8 v1.1 (July 25, 2011)
Mac OS X 10.7 Lion 10.7.5 (September 19, 2012)
OS X 10.8 Mountain Lion 10.8.5 (12F45) (October 3, 2013)
OS X 10.9 Mavericks 10.9.5 (13F1112) (September 18, 2014)[170]
OS X 10.10 Yosemite 10.10.5 (14F27) (August 13, 2015)
OS X 10.11 El Capitan 10.11.6 (15G31) (July 18, 2016)
macOS 10.12 Sierra 10.12.6 (16G29) (July 19, 2017)
macOS 10.13 High Sierra 10.13.6 (17G65) (July 9, 2018)
macOS 10.14 Mojave 10.14 (18A391) (September 24, 2018)
macOS 10.15 Catalina N/A

macOS release history - https://en.wikipedia.org/wiki/MacOS

常见的拯救方法

苹果官方客服的标准答复三板斧,有一定道理但不一定可以解决你的问题,属于玄学。重点还是要掌握正确的分析思路,检查日志和启动项,通过安全模式做对比交叉分析寻找蛛丝马迹

  1. Reset NVRAM
  2. Rest SMC
  3. Use safe mode to isolate issues

重置 SMC

先关机,然后断开电源,拔掉所有 USB 的连接,然后同时按住键盘左下角的 Shift,Control,Option 和开机键 15 秒。全过程 Mac 不会开机。15 秒后松手插上电源开机。

如何重置 Mac 上的系统管理控制器 (SMC) - https://support.apple.com/zh-cn/HT201295

重置 NVRAM

将 Mac 关机,然后开机并立即同时按住以下四个按键:Option、Command、P 和 R。您可以在大约 20 秒后松开这些按键,在此期间您的 Mac 可能看似在重新启动。

重置 Mac 上的 NVRAM 或 PRAM - https://support.apple.com/zh-cn/HT204063

使用安全模式

要以安全模式启动,请按照以下步骤操作:

  1. 启动或重新启动 Mac,然后立即按住 Shift 键。显示屏上将出现 Apple 标志。如果没有看到 Apple 标志,请了解该如何操作。
  2. 看到登录窗口时,松开 Shift 键。如果启动磁盘使用 FileVault 进行了加密,系统可能会两次提示登录:第一次为解锁启动磁盘,第二次则为登录 Finder。

使用安全模式查明 Mac 的相关问题 - https://support.apple.com/zh-cn/HT201262

重装系统

如果以上都不能解决你的问题,且系统是最新的,硬件是没问题的,那么重装系统吧。哈哈,重装系统总是这么简单霸气的解决一些问题。

前提:

  1. 保证你能连到 wifi 或者有线,因为重装系统需要连接远程服务器
  2. 保证有足够的电源,最好是附件有插板可以充电的情况下重装系统,这个过程还是比较久的,50 分钟左右。

步骤如下:

  1. 开机按住 Command (⌘)-R
  2. 出现的四个选项的界面选择第二个重装系统(Reinstall macOS)
  3. 等待重装系统完成即可

如何通过 macOS 恢复功能重新安装 macOS - https://support.apple.com/zh-cn/HT204904

TimeMachine 恢复

TimeMachine 数据恢复的成本太高,需要先 Reinstall macOS 然后使用 TimeMacthine 恢复,再重新配置软件,不到万不得已之时不推荐

  1. 制作 U 盘启动
  2. TimeMachine 恢复

如何创建可引导的 macOS 安装器 - https://support.apple.com/zh-cn/HT201372

使用 “时间机器” 备份您的 Mac - https://support.apple.com/zh-cn/HT201250

Mac 的启动组合键

若要使用这些组合键中的任何一个,请在按下电源按钮以开启 Mac 后或在 Mac 开始重新启动后,立即按住相应按键。请一直按住,直至电脑出现对应的行为。

Command (⌘)-R:从内建的 macOS 恢复系统启动。或者,您也可以使用 Option-Command-R 或 Shift-Option-Command-R 以通过互联网从 macOS 恢复功能启动。macOS 恢复功能可以安装不同版本的 macOS,具体取决于您在电脑启动时使用的组合键。如果您的 Mac 使用了固件密码,系统将要求您输入这个密码。

Option (⌥):启动进入“启动管理器”,您可以从中选取其他启动磁盘或宗卷(若可用)。如果您的 Mac 使用了固件密码,系统将要求您输入这个密码。

Option-Command-P-R:重置 NVRAM 或 PRAM。如果您的 Mac 使用了固件密码,它会忽略这个组合键或从 macOS 恢复功能启动。

Shift (⇧):以安全模式启动。

D:从内建的 Apple Hardware Test 或 Apple Diagnostics 实用工具启动,具体取决于您的 Mac 机型。或者,您也可以使用 Option-D 通过互联网从这个实用工具启动。

N:从兼容的 NetBoot 服务器启动(若可用)。要使用 NetBoot 服务器上默认的引导映像,则请按住 Option-N。配备 Apple T2 芯片的电脑不支持这个启动键。

Command-S:以单用户模式启动。这个组合键要求使用 macOS High Sierra 或更早版本。

T:以目标磁盘模式启动。

Command-V:以详细模式启动。

Mac 的启动组合键 - https://support.apple.com/zh-cn/HT201255

有效的解决方法

如果你遇到和我类似的问题,不妨尝试寻找下具体的错误日志,然后向 Google 或者咨询苹果客服求助

  1. command + v 进入代码界面,等出现不停的输出 Too many corpses being created 这段代码的时候,说明是缓存太多造成的
  2. command + R 进入 macOS 使用工具页面,左上角找到终端工具
  3. 输入以下代码,重命名数据库缓存就行了
  4. 然后再重新启动电脑,耐心等待一会儿就可以重新进入桌面
1
2
cd /Volumes/Macintosh\ HD/var/db/caches/opendirectory/
mv ./mbr_cache ./mbr_cache-old

解决唤醒时黑屏只看见鼠标的问题

先关机,然后开机快速同时点击 Command + S 按键进入 single-user 单用户模式

1
2
3
4
5
/sbin/fsck -fy
/sbin/mount -uw /
rm -f /Library/Preferences/com.apple.loginwindow.plist
rm -f /var/db/.AppleUpgrade
reboot

其它异常

最直接的方法莫过于检查日志文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 如果非意外重启报错可以打开 console 控制台查看
pmset -g log

# 常见的手动清理步骤
brew list
brew uninstall
brew uninstall v2ray-core

brew cask list
brew cask uninstall
brew cask v2rayu

brew services list
brew services stop
brew services stop v2rayu

# 如果 system.log 有已删除但没有清理干净的自启动服务
launchctl unload -w ~/Library/LaunchAgents/yanue.v2rayu.v2ray-core.plist

# open(/var/db/DetachedSignatures) - No such file or directory
sudo touch /var/db/DetachedSignatures

# 检查启动项清理脏数据
cd /Library/LaunchAgents
cd /Library/LaunchDaemons
sudo rm
Name Path
系统日志文件夹 /var/log
系统日志文件 /var/log/system.log
Mac 分析数据 /var/log/DiagnosticMessages
系统应用程序日志 /Library/Logs
系统报告 /Library/Logs/DiagnosticReports
用户应用程序日志 ~/Library/Logs
用户报告 ~/Library/Logs/DiagnosticReports

如果 Mac 因为出现问题而重新启动

排查 Mac 中的 Finder 无限卡住的问题

How to Use the Mac Console App to Diagnose a Crash

macOS Reversion: How to Downgrade from Mojave

如果遇到频繁卡死并黑屏无法唤醒,最后经常自动重启,我的解决步骤是

  1. 移除了一些比较旧的应用
  2. 关闭了蓝牙等不需要使用的服务
  3. 清理了自启动的脏数据
  4. 最后 Reset NVRAM 和 SMC
  5. 如果电脑目前非常稳定,请不要考虑升级,一个从坑里爬出来的肺腑之言

不着急的解决方案

联系 Apple 支持 - https://getsupport.apple.com/

文章目录
  1. 1. 前言
  2. 2. 更新记录
  3. 3. macOS history
  4. 4. 常见的拯救方法
    1. 4.1. 重置 SMC
    2. 4.2. 重置 NVRAM
    3. 4.3. 使用安全模式
    4. 4.4. 重装系统
    5. 4.5. TimeMachine 恢复
  5. 5. Mac 的启动组合键
  6. 6. 有效的解决方法
  7. 7. 解决唤醒时黑屏只看见鼠标的问题
  8. 8. 其它异常
  9. 9. 不着急的解决方案