SOLVED: MacBook Will Not Start Up After macOS Update
I have a MacBook pro running MacOS Mojave.
For the past year or so, every time a new MacOS update rolls out, and is attempted to be installed on my MacBook, it ends up displaying the circle slash (Prohibitory Symbol). Rebooting still produces a prohibitory symbol. I’m still able to boot into recovery mode (CTRL-R at Startup), however running disk repair on my MacBook HD does NOT solve the problem. I have also tried: (a) specifying the startup disk (problem still persists); (b) attempting to start in safe mode (problem persists); doing the NVRAM reset (problem persists). In the past, the only way i was able to get around the problem, is by re-formatting my HD, installing latest version of Mojave OS, and then migrating all my data from my TimeMachine backup.
This happened again the other day with the recent Mojave update 10.14.2.
My computer automatically installed the update overnight, and in the morning, my screen was showing circle slash. This time i did some more research, and discovered that the issue may be caused by UNSIGNED KERNEL EXTENSION (KEXT) files existing on my HD.
Kernel Extension is a piece of code that extends the capability of the base kernel of an operating system. The kernel typically manages I/O requests, and in OS X, the file ends in “.kext.”
Starting with Yosemite, kernel extensions must be code signed by the developer with Apple authorization or OS X won’t load them. Sometimes these un-signed kernel extensions cause this headache after an OS X or macOS update.
USING TERMINAL COMMANDS IN RECOVERY MODE, YOU SHOULD BE ABLE TO RESOLVE THIS PROBLEM BY REMOVING UNSIGNED KEXT EXTENSIONS FROM LOCATION: /Volumes/<your system's drive name>/Library/Extensions/
After I removed the following KEXT files from the /Volumes/<your system's drive name>/Library/Extensions/ directory, my MacBook booted up properly, and finished installing the Mojave update.
UNSIGNED KEXT EXTENSIONS REMOVED FROM Directory:
<your system's drive name>/Library/Extensions/
(note: this is DIFFERENT directory from /System/Library/Extensions/)
BJUSBLoad.kext (Creator: Canon)
CIJUSBLoad.kext (Creator: Canon)
ParagonSnapshot.kext (Creator: Paragon)
ufsd_NTFS.kext (Creator: Paragon)
VDMounter.kext (Creator: Paragon)
LittleSnitch.kext (Creator: LittleSnitch)
Note: When I removed these KEXT Extensions, the “circle slash” problem did not resolve until i finally removed: ParagonSnapshot.kext and VDMounter.kext
FURTHER DETAILS:
Below is a link to a useful article which provides some helpful information regarding:
MacBook Will Not Start Up After macOS Update, How-To Fix
https://appletoolbox.com/2016/10/macbook-will-not-start-macos-sierra-update-fix/
In that article, the section titled “
Un-Assigned Kernel Misfiring” explains how to boot into recovery mode and launch Terminal utility. However, one problem with that article is that the
kextstat command is not available in Terminal utility running in recovery mode.
As a work-around, these are the steps i took to
solve the problem:
1. Boot to Recovery (with CMD + R or CMD + Shift + R if you don't have recovery partition)
2. First, pick Disk Utility, select your main disk and Mount it; this is required if your disk is encrypted and requires password to be mounted
3. Now select Disk Utility -> Quit; then Utilities -> Terminal
4. Begin typing in Terminal following commands:
4a. cd /Volumes/
4b. cd <your system's drive name>
(Note: If your system drive has any spaces in it’s name, then put the name in single quotes. For example, my MacBook boot drive is called “MacBook HD”, so the command I would type is: cd ‘MacBook HD’
4c. cd library
4d. cd extensions
4e. ls
(Note: first letter is a lower case L)
After you type ‘ls’, you should see a list of KEXT extensions like this:
ACS6x.kext CIJUSBLoad.kext
ATTOCelerityFC8.kext CalDigitHDProDrv.kext
ATTOExpressSASHBA2.kext HighPointIOP.kext
ATTOExpressSASRAID2.kext HighPointRR.kext
ArcMSR.kext PromiseSTEX.kext
BJUSBLoad.kext SoftRAID.kext
The KEXT extensions listed above are all ones properly signed by Apple.
These KEXT extensions can remain, but if you have other KEXT extensions listed, chances are that some or all of those others are causing the issue.
If you see any of these extensions (listed below), you should be able to safely delete them in order to fix your problem. I’d recommend removing each extension, one at a time, then rebooting to see if it worked, and if not, repeat steps above and delete next one. Based on my limited research, the ones i’d recommend deleting first are:
ParagonSnapshot.kext (Creator: Paragon)
VDMounter.kext (Creator: Paragon)
LittleSnitch.kext (Creator: LittleSnitch)
ufsd_NTFS.kext (Creator: Paragon)
While in Terminal utility (in Recovery mode), to delete (or remove) a desired KEXT extension (eg., LittleSnitch.kext) type:
rm -r <full name of extension>
(eg, “rm -r LittleSnitch.kext”)
9. quit the terminal and restart
Hope this helps!
Good luck!!