【经验】如何解决Error Loading Kernel Cache (0x1)

Published on 2018 - 01 - 25

中午手贱安装了Paragon for Mac之后,重启显示禁止符号🚫,无法进入系统。尼玛,悲剧了。
估计是我自己组装的Fusion Drive开了APFS之后水土不服(又是手贱,在High Sierra beta的时候把分区从HFS+转换成了APFS,结果High Sierra正式版不支持APFS了,苹果给出的官方降级指引特别麻烦,所以考虑还是先停留在beta,等啥时候正式版支持了Fusion Drive+APFS再升级)。
进不去系统了,先喝杯咖啡冷静一下。
好消息是有TimeMachine备份,但是恢复系统之后不一定解决这个问题,继续不死心的Google之,果然找到了解决方案,也发现了Reddit上也有网友和我遇到了一样的问题。按照Google出来的结果,最终完美解决了问题。
这里特地把自己解决这个问题的步骤写出来(主要是翻译),供其他遇到一样问题的朋友参考。
首先关机,然后按住Command+V再开机,看一下错误码到底是啥。禁止符🚫的意思就是找不到系统,原因很多,所以必须对症下药。这个错误码不会一直显示,最好拍个照,以备后续仔细查看。我遇到的错误码是Error Loading Kernel Cache (0x1)。
接下来的步骤参考了InsanelyMac的教程
重启电脑,按住Command+R进入恢复模式,然后进入Terminal,输入

Df  -h

这个命令会列出电脑里的所有卷名称,记录一下你的卷(如果不能确定,可看空间大小判断),如果没用动过,应该是Macintosh HD这样的名字。值得注意的是,在随后的命令行中,空格需要表示为「\+空格」,即

Macintosh\ HD

记录好自己的卷名称,然后输入命令:

touch /Volumes/[NAME]/System/Library/Extensions  && kextcache -u /Volumes/[NAME]

执行后,会出现两个错误提示
"Child process [directory] has exited due to signal 10"
"Error 107 rebuilding /System/Library/PrelinkedKernels/prelinkedkernel"

正常现象,不需要理会。
接下来输入

Fsck
mount -uw /
rm -rf /Volumes/[NAME]/System/Library/PrelinkedKernels/prelinkedkernel
touch /Volumes/[NAME]/System/Library/Extensions  && kextcache -u /Volumes/[Name]

这个时候应该会出现提示
"/Volumes/[NAME] locked; waiting for lock."
等待几秒,出现提示"Lock acquired; proceeding."
然后再输入一次

touch /Volumes/[NAME]/System/Library/Extensions  && kextcache -u /Volumes/[Name]

再耐心等待几秒,会出现新的提示。这个时候就大功告成了,重启即可正常进入系统。
解决问题的步骤并不复杂,重要的是遇到问题的时候冷静思考,善用Google。另外,平时做好TimeMachine,有备无患。

Comments
Write a Comment
  • 1093496273 reply

    正式版明明支持啊

    • Ziyangxiami reply

      @1093496273 我是Fusion Drive,暂时还没提供支持

  • Steven199409 reply

    牛逼 我的哥

  • 可以可以,万分感谢