Apple Mac: Kernel Panic After Reboot? This helps!
09/25/2019 (3017x read)
A Google update for the Chrome browser is supposed to stop the Mac from working when Apple’s System Integration Protection (SIP) is turned off: Then the Chrome Update deletes the symlink „/var“, which is important for the operating system, reports Mr. Macintosh. This folder is needed for Linux and Mac systems and should point to „private/var“ on a Mac: Without it the Mac won’t start anymore.
Affected by this problem are macOS 10.9 and 10.10: Apple’s SIP did not exist here yet. The following versions up to OS X 10.14 (Mojave) are only affected if SIP was deactivated. Some Pro-Users do this in order to be able to use third-party hardware e.g. with their AVID video workstations.
Whether you are affected yourself can be checked in the Mac Terminal with this command:
csrutil status
If the Mac reports „System Integrity Protection status: enabled“, everything is fine: Here the Chrome Updater cannot simply delete the important symlink.
How to fix the Kernel Panic error
To fix the problems when starting the Mac, you can press cmd + R while starting: This will start the recovery console. You can open the terminal via the „Utilities“ menu.
Here you have to enter this commands provided by Google:
chroot /Volumes/Macintosh\ HD # "Macintosh HD" is the default rm -rf /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle mv var var_back # var may not exist, but this is fine ln -sh private/var var chflags -h restricted /var chflags -h hidden /var xattr -sw com.apple.rootless "" /var
This will first delete the Google Chrome update and create a backup of „var“ if available. Via „ln“ a symlink will be created from „private/var“ to „/var“ and the rights will be adjusted. After a restart the Mac should start normally again.
However, this only helps if the current Chrome Update is actually to blame for the Kernel Panic: This does not work with other problems (e.g. defective hardware).
With this command you can check according to Mr. Macintosh whether the /var symlink was changed:
ls -ldO /var
It is important that at the end there is a reference to the target of the symlink. The answer in the console should therefore look something like this: