M1崩溃了,你可能手足无措,到底是什么问题呢?我是不是只能去苹果店天才吧?先别慌,看看我们自己能干嘛。
首先,是个系统就会崩溃,常见到家里的智能电视,不常见到大型机,都会崩溃。既然崩溃是不可避免的,为了防止可能因为崩溃而导致的不可恢复的故障,极端苛刻场景下会使用1+1,甚至1+2的备份,比方说火箭上的计算机系统。Mac相比Windows崩溃的几率其实小很多,倒不是因为Mac开发的质量比Windows要好,而是Mac驱动等这些在系统态运行的软件是由苹果内置的而Windows则是由第三方厂家提供,Windows系统就更容易见到崩溃的状况。
Mac自然会崩溃,特别是新硬件(新系统)刚刚推出的时候,由于系统不够成熟,崩溃的机会会见的多一些。通常情况下,个别软件的崩溃并不会导致整个系统的奔溃,其实软件奔溃几乎每台电脑都会遇到,系统崩溃倒是少见很多,但是并不表示没有。
系统崩溃的原因通常可能由硬件和系统软件故障导致的,硬件的故障其实比你想象中要多的多,现代硬件其实很大程度上是可编程的,也就是说硬件故障可以通过固件更新来修复,当然并不是所有的固件都是可以通过系统软件的升级而自动升级的。也就是说需要特殊手段来升级,有的甚至需要特殊的硬件工具。
你遇到系统崩溃首先需要确定的是硬件还是软件的问题,硬件故障就只能去苹果走售后了,这点苹果绝对是做的很好。而系统软件故障除了等待系统更新修复之外,如果能了解为什么触发,也一定程度上可以规避。那我们如何来区分是硬件故障还是软件故障呢?
M1 Macbook自带系统诊断程序,可以一定程度诊断是不是硬件的故障。你如果去苹果专卖店天才吧,他们也是使用同样的诊断程序来判断。由于需要规避系统软件的影响,诊断程序通常是独立于MacOS运行。M1进入系统诊断程序的步骤如下:
按下电源键,松开,并持续按住电源键不放,直到屏幕出现选项和系统磁盘按钮。重新安装系统也是这个步骤
按住Ctrl+D键直到出现系统诊断字样
在这里需要Internet连接,通常需要重新选择WIFI热点并输入密码
如果你想把诊断结果发送给苹果就选同意,否则就选择离线
大概几分钟就可以完成诊断
这里ADP000就表示没有任何故障,还有其他的代码,苹果网站上面都有介绍。(点击Get Started)可以直接到相应的苹果网站网页。
这里检测显示没有问题也并无绝对的意味着硬件就是好的,诊断程序也是程序,是个程序就有可能犯错误。不过,这样的诊断一般情况下,并不能完成对内存的检测,而内存故障是最常见的硬件故障之一(当然硬盘也有可能有故障)。内存故障通常是你存储了1,结果读回来0,自然数据一致性就很差了。其实内存的读写错误比你想象中要多的多,所以通常情况下,服务器会使用自带校验的内存颗粒,说远了。
Mac同样可以对内存进行检测,这里就需要用到额外的程序。memtest是跨平台的内存检测软件,Mac下面Rember是memtest前端,可以直接使用这款。下载如下:
Kelley Computingwww.kelleycomputing.net
内存检测需要做多遍,完整的检测需要数个小时,把检测次数设置到比方说100次可以跑差不多一夜。
由于M1 Mac使用的是统一内存,其内存是封装在M1 SoC里面的,出现故障的可能性进一步降低。这里只是告诉你如何去做内存检测这样一件事情。
到这里,如果测试都没有问题,那基本上可以排除硬件的故障了,恭喜你!
而系统软件故障如何排查呢?系统崩溃我们通常称之为Kernel Panic,这里知道英文非常重要,因为中文网站上几乎找不到关于系统崩溃的信息,英文则多很多。在非M1版本里面,Console会记录Kernel Panic的日志信息,不知道为啥在M1 Macbook Console里没有了。你需要到如下目录寻找Kernel Panic的日志信息。
/Library/Logs/DiagnosticReports
/Library/Logs/DiagnosticReports/Retired
如果你的系统曾经崩溃,那通常你会看到这样的文件,比方说我的系统崩溃:
panic-full-2020-12-28-113807.000.panic
这是一个文本文件,里面通常会告知系统崩溃的地点。切记,这个是崩溃了之后事后收集的信息,并不是实际发生崩溃的原因。通常系统在出错的时间点并不会崩溃而是运行了一段时间之后。比方说,程序错误的在错误的地点写入数据,把以前的有效数据覆盖了,而可能在几分钟或者几个小时之后,读写这段信息的程序就会导致系统崩溃。例如:
panic(cpu 5 caller 0xfffffe0023fcbc4c): "Kernel stack memory corruption detected
你可以在搜索引擎上搜索这样的字样来看看别人是不是遇到同样的问题等等,也可以把整个文件发送给苹果技术支持来请他们帮忙分析。
知道这些可能也不会帮你解决实际的问题,下面是一些我看到M1 Macbook常见的问题,反正死马当活马医。
通常情况下,系统运行特别是持续性升级系统会导致一些无法解释的故障,通常情况下,重新全新安装系统可以解决。保持一个干净的系统还是非常重要的。
M1 Macbook很多用户反应在外接HDMI或者进入睡眠的时候,会导致系统崩溃
连接了不兼容的外设。我的崩溃就是连接了USB Hub,虽然我的Hub来头很大,但是我拔掉Hub之后没有遇到一次系统崩溃
这里总结了一些帮助你排查系统崩溃的方法,希望对你有用。