Jump to content

How to fix “Error Loading Kernel Cache (0x1)” on existing 10.13 installations.


Egonaut
 Share

8 posts in this topic

Recommended Posts

BEFORE TRYING THIS, DO THE OBVIOUS SOLUTION! REPLACE YOUR OPTIOFIX EFI FILE WITH VERSION 2, OR WITH VERSION 1.

ONLY PROCEED IF DOING THIS DOES NOT WORK.

 

 

Alright, so my first attempt at helping people that isn’t in a private discord. Hope this goes well.

 

No one has posted this as a direct solution to someone asking for help with this error, so I thought I’d be the one to share it.



 

I encountered this problem when I rebooted after making some minor changes and discovered I couldn’t boot back into the disk. All over the web, people keep suggesting clover-side tweaks and replacing kexts, and while they may solve the problem for some, absolutely nothing was working for me (and a few others), even when booting with no kernel cache at all.

 

No boot flags worked, no .efi files would solve it. 

Holding spacebar in clover, no change.

 

So, the solution ended up being system side, and not clover related. You needed to delete your prelinked kernel from the HDD and rebuild it. 

To do this, you just have to be able to get to your recovery drive or use an install USB that’ll give you access to the disk. Clover got me into my recovery drive just fine, another hint that it wasn’t related to clover - but regardless, whatever works for you.

After you’re in a terminal, type the following commands.



Df -h

This will list all of your volumes, make sure you’re targeting your installation drive.



 

If your volume has a space in the name, such as "Mac OS HS", you'll need to format it as such: "Mac\ OS\ HS" - This is simply how the command line associates spaces.

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



In my case, I replaced [NAME HERE] with my installation drive - "macOS\ 10.13".

 

Chances are, this command will give you the error "Child process [directory] has exited due to signal 10"

 

The line immediately after that will give you another bit of extremely important information that you need to take note of.

 

"Error 107 rebuilding /System/Library/PrelinkedKernels/prelinkedkernel"

 

That directory is what we're going to be targeting to fix our system.

So, time to nuke it.

rm -rf [location to /prelinkedkernel/prelinkedkernel]

MAKE SURE YOU DOUBLE CHECK IT IS EXACTLY WHAT WAS OUTPUT WHEN YOU TRIED THE COMMAND ABOVE.



IMPORTANT: YOU MAY RECEIVE A READ ONLY ERROR! DO NOT PANIC.

I've done this on multiple machines and it really is hit or miss whether or not this will appear. Regardless, the solution is simple. The following code tag only applies to if you encounter this issue.

Fsck

mount -uw /

RE-ENTER THE FOLLOWING COMMAND! You need a more specific location now.

rm -rf /Volumes/[NAME]/System/Library/PrelinkedKernels/prelinkedkernel

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

Now you should be receiving "/Volumes/[NAME] locked; waiting for lock."
This is a good thing. Wait a few seconds, you'll receive "Lock acquired; proceeding."
After that, you'll be back at -bash-3.2#, and it will appear as if nothing happened.
Again, this is expected.

For people who didn't have to use the Fsck command, simply type the following and receive the usual "Waiting for lock; Lock received" response.

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

Now, use your up arrow on the keyboard to re-enter this command. If nothing happens, you're golden. If it detects kexts with invalid signatures, that's still okay - but for future reference, don't go the ##### approach/philosophy of installing kexts to your system drive. Take this as a warning.

 

Go ahead and reboot, and start your installation just like normal. You'll now get past the 0x1 error. Congratulations!

 

If you get hung up anywhere, go back to clover and add “-f” to the boot flags, then boot again.

 

You should make it back to your desktop with no damage whatsoever.

 Like nothing ever happened!

Now, as for what causes this, I honestly have no idea. All I know is when you have a working system, make some kind of modication/tweak/installation that HS doesn't agree with, you can possibly get this error on some systems. It's rare, but exists, and unfortunately this is the only way I've been able to get past it. It's not too much work, so don't be too intimidated. You'll have your system back in no time.

 

If you'd like some personalized 1-on-1 support, read my signature and contact me that way. I'm more than happy to help, or at the very least take some time out of my day to analyze your issue and give my thoughts.  Thanks for reading my first guide, I'm hoping to publish some more fixes to make High Sierra as painless as possible for every user.

  • Like 7
  • Thanks 1
Link to comment
Share on other sites

Thanks for this great tip buddy  ;)

Thank you! Hoping to populate the forums with some more fixes throughout High Sierra and hopefully into the future. I've spent days at a time working on issues from other users, not necessarily from this forum, but the bottom line is I tend to enjoy helping out anyone I can, and as much as I can.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Hi, 

 

Please see this post, as I ran into this problem and your solution wasn't able to recover my partition. Therefore, it may be of your interest to add the findings here to your tutorial:

 

http://www.insanelymac.com/forum/topic/328777-high-sierra-error-loading-kernel-cache-0xe-no-fix-help/?do=findComment&comment=2522632

 

Also, make sure you edit the post to ensure the user is running commands with sudo permissions.

 

Thank you

Link to comment
Share on other sites

  • 9 months later...
On 9/30/2017 at 3:12 AM, Egonaut said:

BEFORE TRYING THIS, DO THE OBVIOUS SOLUTION! REPLACE YOUR OPTIOFIX EFI FILE WITH VERSION 2, OR WITH VERSION 1.

ONLY PROCEED IF DOING THIS DOES NOT WORK.

 

 

Alright, so my first attempt at helping people that isn’t in a private discord. Hope this goes well.

 

No one has posted this as a direct solution to someone asking for help with this error, so I thought I’d be the one to share it.



 

I encountered this problem when I rebooted after making some minor changes and discovered I couldn’t boot back into the disk. All over the web, people keep suggesting clover-side tweaks and replacing kexts, and while they may solve the problem for some, absolutely nothing was working for me (and a few others), even when booting with no kernel cache at all.

 

No boot flags worked, no .efi files would solve it. 

Holding spacebar in clover, no change.

 

So, the solution ended up being system side, and not clover related. You needed to delete your prelinked kernel from the HDD and rebuild it. 

To do this, you just have to be able to get to your recovery drive or use an install USB that’ll give you access to the disk. Clover got me into my recovery drive just fine, another hint that it wasn’t related to clover - but regardless, whatever works for you.

After you’re in a terminal, type the following commands.




Df -h

This will list all of your volumes, make sure you’re targeting your installation drive.



 

If your volume has a space in the name, such as "Mac OS HS", you'll need to format it as such: "Mac\ OS\ HS" - This is simply how the command line associates spaces.


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



In my case, I replaced [NAME HERE] with my installation drive - "macOS\ 10.13".

 

Chances are, this command will give you the error "Child process [directory] has exited due to signal 10"

 

The line immediately after that will give you another bit of extremely important information that you need to take note of.

 

"Error 107 rebuilding /System/Library/PrelinkedKernels/prelinkedkernel"

 

That directory is what we're going to be targeting to fix our system.

So, time to nuke it.


rm -rf [location to /prelinkedkernel/prelinkedkernel]

MAKE SURE YOU DOUBLE CHECK IT IS EXACTLY WHAT WAS OUTPUT WHEN YOU TRIED THE COMMAND ABOVE.



IMPORTANT: YOU MAY RECEIVE A READ ONLY ERROR! DO NOT PANIC.

I've done this on multiple machines and it really is hit or miss whether or not this will appear. Regardless, the solution is simple. The following code tag only applies to if you encounter this issue.


Fsck

mount -uw /

RE-ENTER THE FOLLOWING COMMAND! You need a more specific location now.

rm -rf /Volumes/[NAME]/System/Library/PrelinkedKernels/prelinkedkernel

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

Now you should be receiving "/Volumes/[NAME] locked; waiting for lock."
This is a good thing. Wait a few seconds, you'll receive "Lock acquired; proceeding."
After that, you'll be back at -bash-3.2#, and it will appear as if nothing happened.
Again, this is expected.

For people who didn't have to use the Fsck command, simply type the following and receive the usual "Waiting for lock; Lock received" response.


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

Now, use your up arrow on the keyboard to re-enter this command. If nothing happens, you're golden. If it detects kexts with invalid signatures, that's still okay - but for future reference, don't go the ##### approach/philosophy of installing kexts to your system drive. Take this as a warning.

 

Go ahead and reboot, and start your installation just like normal. You'll now get past the 0x1 error. Congratulations!

 

If you get hung up anywhere, go back to clover and add “-f” to the boot flags, then boot again.

 

You should make it back to your desktop with no damage whatsoever.

 Like nothing ever happened!

Now, as for what causes this, I honestly have no idea. All I know is when you have a working system, make some kind of modication/tweak/installation that HS doesn't agree with, you can possibly get this error on some systems. It's rare, but exists, and unfortunately this is the only way I've been able to get past it. It's not too much work, so don't be too intimidated. You'll have your system back in no time.

 

If you'd like some personalized 1-on-1 support, read my signature and contact me that way. I'm more than happy to help, or at the very least take some time out of my day to analyze your issue and give my thoughts.  Thanks for reading my first guide, I'm hoping to publish some more fixes to make High Sierra as painless as possible for every user.

 

 

You're awesome Man

My problem is resolved after reading your post. I already spend 2 days to fix the issue. 

I also lost my hope to resolve the issue and decided to install the complete installation. 

Now finally checked your post and read the instructions and resolved my issue. 

 

I was getting prohibit icon during the boot. That was happened when i used kext tool and suddenly my system turnoff.

After turn on my system i was not able to boot my MAC OS.

prohibited.png

 

My problem is resolved after reading your post. I already spend 2 days to fix the issue. 

I also lost my hope to resolve the issue and decided to install the complete installation. 

Now finally checked your post and read the instructions and resolved my issue. 

 

I was getting prohibit icon during the boot. That was happened when i used kext tool and suddenly my system turnoff.

After turn on my system i was not able to boot my MAC OS.

 

 

Thanks a lot to save my time. Thanks ...

prohibited.png

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

I have this error after a successful install/upgrade to High Sierra from El Capitan.  I ran into it initially trying to install the upgrade and got past it by adding OsxAptioFix-64.efi to my Clover 64 bit drivers folder.  I was successfully upgraded and at the High Sierra desktop, but without wifi.  I used [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] to install BrcmAirportFix to Library/Extensions and then ran kext utility to repair permissions. The machine rebooted towards the end of the repair.  Now I can't boot into the installer, High Sierra, OR my recovery partition.  All give the Kernel Cache error.  No I'm trying to figure out how the hell to fix it as I can't get to an OSX termo to rebuild the cache or delete the prelinked kernel.  About all I can currently is boot a live linux cd and make changes on my EFI/Clover folder.  Is the any way I can fix this without access to a real Mac to make a High Sierra bootable installer?  The bigger question here to is: on High Sierra am I going to run into this error every time I install a kext?  I'm using Lilo.kext and it's plugins.

Link to comment
Share on other sites

  • 1 year later...
On 9/30/2017 at 5:42 AM, Egonaut said:

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



In Mojave , the command “kextcache -u” need to be replaced with “kextcache -I” instead , or it will show up 

Warning: /AppleInternal/Library/Extensions: No such file or directory
Link to comment
Share on other sites

 Share

×
×
  • Create New...