OS X El Capitan / Sierra Hanging on Boot [FIXED]

If your OS X El Capitan/Sierra update won’t reboot you can skip to the fix or check here for the (mostly) automated fix script. Otherwise feel free to read the saga below!

Update 3/23/2016 – It happened again when I updated to 10.11.4! Even fewer clues this time, additional details and an updated script to remove non-default kext files at the very bottom.

Update 5/14/2017 – This has been an issue for myself and others running OS X Sierra as well.

After Update, OS X Won’t Reboot

After upgrading to OS X El Capitan (10.11) when it was released, I had been generally pleased with the new version but there were a few quirks – like random beach ball pauses – that made me think the 10.11.1 update would address some of them. Thus when I was notified that it was available, I dutifully upgraded… and then my MacBook Pro Retina wouldn’t reboot. I reset the SMC (Shft+Ctrl+Opt+Pwr while off, then Pwr), I reset the PRAM (Cmd+Opt+P+R+Pwr while booting, then hold until the chime sounds again), I tried to boot into Safe Mode (Shft+Pwr). Nothing.

Single User and Verbose Mode

I was unable to boot into Single User Mode (Cmd+S+Pwr), but it and Verbose Mode (Cmd+V+Pwr) did show that the boot process was hanging and the last message it displayed was:

pci pause: SDXC

This seemed to be meaningful, but was ultimately a wild goose chase.

Recovery Mode Reinstall

I could boot into Recovery Mode (Cmd+R+Pwr) and used this to access Disk Utility to run First Aid (no errors were found), and then used Terminal to run resetpassword which was then used to reset permissions on my user folder. Nope.

I reinstalled the operating system over the Internet. No dice.

Using Terminal accessible in Recovery Mode I found several crash logs located in /Volumes/Macintosh HD/Library/Logs/DiagnosticReports/. I took a look at the latest one and it had the following details about the crash. Spoiler alert, this also ended up being a dead end, but I’m posting it because the only other place on the Internet it exists is a deleted Apple Developer Forum post that I was able to view using the Google Cache.

Process:               ctkd [220]
Path:                  /System/Library/Frameworks/CryptoTokenKit.framework/ctkd
Identifier:            ctkd
Version:               79.1.1
Code Type:             X86-64 (Native)
Parent Process:        launchd [1]
Responsible:           ctkd [220]
User ID:               0

Date/Time:             2015-10-22 11:04:40.949 -0700
OS Version:            Mac OS X 10.11.1 (15B42)
Report Version:        11
Anonymous UUID:        F17F633A-3BDD-90AB-37F3-86B22856B7C6


Time Awake Since Boot: 14 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes:       0x0000000000000001, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
Sandbox creation failed: AppSandboxUtilRealPathForPath(self.userAccountHomeDirectoryPath) failed
open() for F_GETPATH failed.
NSPOSIXErrorDomain:2 No such file or directory
 
WR/DST: /var/root
  0 lstat() errno: 2
 -1  o:0 (User) m:120755 f:restricted,hidden
    fs: hfs, fsid: 1000004/11, mf: 0480d000 avail:13621070

Application Specific Signatures:
AppSandboxUtilRealPathForPath(self.userAccountHomeDirectoryPath) faile

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_secinit.dylib       	0x000000010ade3193 _libsecinit_setup_secinitd_client + 1543
1   libsystem_secinit.dylib       	0x000000010ade2b2a _libsecinit_initialize_once + 13
2   libdispatch.dylib             	0x000000010aa393c3 _dispatch_client_callout + 8
3   libdispatch.dylib             	0x000000010aa392bb dispatch_once_f + 67
4   libSystem.B.dylib             	0x000000010962aa0c libSystem_initializer + 131
5   dyld                          	0x00007fff6005cf1b ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 265
6   dyld                          	0x00007fff6005d094 ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
7   dyld                          	0x00007fff600596cd ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 305
8   dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
9   dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
10  dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
11  dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
12  dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
13  dyld                          	0x00007fff60059662 ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 198
14  dyld                          	0x00007fff60059553 ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 127
15  dyld                          	0x00007fff600597c3 ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 75
16  dyld                          	0x00007fff6004c0f1 dyld::initializeMainExecutable() + 208
17  dyld                          	0x00007fff6004fd47 dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 3515
18  dyld                          	0x00007fff6004b276 dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 512
19  dyld                          	0x00007fff6004b036 _dyld_start + 54

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x000000000000013c  rbx: 0x00007fff57441810  rcx: 0x4300ee869eb237d3  rdx: 0x000000010ade3bd5
  rdi: 0x0000000000000000  rsi: 0x00007fb8718129bb  rbp: 0x00007fff57442090  rsp: 0x00007fff574417f0
   r8: 0x0000000000000002   r9: 0x000000010ade3bf0  r10: 0x000000010aba9201  r11: 0x00000046e5c2ef75
  r12: 0x00007fb871700060  r13: 0x00007fb8718128b4  r14: 0x00007fb8718128b4  r15: 0x00007fb871812a0c
  rip: 0x000000010ade3193  rfl: 0x0000000000010206  cr2: 0x00007fb873000000
  
Logical CPU:     4
Error Code:      0x00000000
Trap Number:     6

The OS X Fix You’ve Been Looking For

I was ultimately able to surmise that the issue was an incompatible kernel extension (kext file). After booting into Recovery Mode, I opened Terminal. First I mounted the filesystem as read write, then navigated to /Volumes/Macintosh HD/Library/Extensions, created a new folder named “Unsupported” and moved all the kext files into it, then rebooted.

Note: see the updated script at the very bottom of this post to automatically remove non-default kexts. If you have renamed your hard drive to something other than “Macintosh HD” use the new name in the following commands.

mount -rw /
cd /Volumes/Macintosh\ HD/Library/Extensions/
mkdir Unsupported
mv *.kext Unsupported
reboot

Voila! I was able to reboot.

It ended up being my Logitech Control Center kext files, as best I could determine. The full list of kext files on my system is below. Note that the 360Controller.kext, Wireless360Controller.kext and WirelessGamingReceiver.kext later caused problems with 10.11.4, see bottom.

/Volumes/Macintosh HD/Library/Extensions
> ls -1
360Controller.kext
ACS6x.kext
ATTOCelerityFC8.kext
ATTOExpressSASHBA2.kext
ATTOExpressSASRAID2.kext
ArcMSR.kext
CalDigitHDProDrv.kext
HighPointIOP.kext
HighPointRR.kext
LogiMgrDriver.kext
LogitechHIDDevices.kext
LogitechUnifying.kext
PromiseSTEX.kext
SoftRAID.kext
Wireless360Controller.kext
WirelessGamingReceiver.kext

After moving them all to Unsupported I ended up moving them all back except for LogiMgrDriver.kext, LogitechHIDDevices.kext, and LogitechUnifying.kext and am posting this from the previously unbootable machine. These may not be the same incompatible kext files you have (VirtualBox and Evernote also seem to be offenders), but hopefully sets you on the right track. Good luck!

Failed Update to El Capitan 10.11.4

Once again my El Capitan upgrade didn’t go very smoothly. Same as last time, my laptop failed to reboot after the install seemed to complete, however this time there were even fewer clues – no crash logs, etc. Luckily I had fixed this once before so I booted into Recovery mode (Cmd+R while booting), selected Utilities > TerminalΒ to access the command line. The script below creates a Library/ExtensionsDisabled folder and moves and of the non-default kext files into it by comparing against the /Library/Extensions directory on the recovery partition. You may need to move some kext files back to their original location if they aren’t the cause of the problem. Keep in mind that the default name for your hard drive will be “Macintosh HD” which means you need to escape the space on the command line, so it becomes “Macintosh\ HD”. If you have renamed your hard drive, use whatever name you selected instead.

Open Safari from Terminal in Recovery Mode

If you want to access Safari to browse the web (this post?) once you have Terminal open enter /Applications/Safari.app/Contents/MacOS/Safari & to open a browser window. Once the process is completed close the Safari and Terminal windows and reboot.

Script to Disable Non-Default Kext Files

This script will look for any extensions on your system that aren’t part of the “default” extension installed by Apple. If they are found they are moved into a directory named “/Volumes/Macintosh\ HD/Library/ExtensionsDisabled/” so that they will not be loaded when you reboot. Make sure that your hard drive is named correctly in the commands, by default it’s “Macintosh HD” unless it was changed. If you’re new to the command line the easiest way to do this is to launch Safari from Terminal and then cut and paste from this post. Good luck!

# mount the drive as read/write
mount -rw /

# create a directory for "disabled" extensions
mkdir /Volumes/Macintosh\ HD/Library/ExtensionsDisabled

# view files that exist in your Extensions folder but not the recovery partition
kexts=`comm -23 <(ls /Volumes/Macintosh\ HD/Library/Extensions|sort) <(ls /Library/Extensions|sort)`
echo $kexts

# move "extra" kext files to the "disabled" directory
for kext in $kexts; do 
    mv /Volumes/Macintosh\ HD/Library/Extensions/$kext /Volumes/Macintosh\ HD/Library/ExtensionsDisabled/$kext; 
done

exit

You may also like...

276 Responses

  1. Felix says:

    Thank you very much.
    Removing the kext and booting ok

    Thanks

  2. Tomas says:

    Justin – you bow to no one!

    You kind of saved my digital life. πŸ™‚

  3. Ranz says:

    Hi Justin. I seem to have everything the same 360controller issue and my MacBook hangs on startup. Can you give each me a step by step on how to shutdown and use the safe mode and terminal to fix it? Thanks. (using latest version of El Capitan)

    • Justin Silver says:

      Hi Ranz, you should be able to use the steps in this post to move the kext files. You’ll need to start in Recovery Mode, not Safe Mode – hold Cmd+R while booting. If you have trouble you should be able to Google for more specific info on booting into Recovery Mode. Good luck!

  4. Fortune says:

    Hello Justin,
    It turns out my hard drive was bad, luckily i was able to recover all the data I had on it. I have gotten a new hard drive, and i intend to re-install El-Capitan on the new hard drive. A guide on how to do this, would be most appreciated.
    Thanks

  5. Michael says:

    Thank you very much, your page helped repair our mac after the latest captain update.

    I booted into recover mode and opened a terminal. Checked the Extensions directory with “ls -lart” to sort them with oldest first, this is an older mbp from 2009. I took the kext extensions dated back from 2009 and 2010 and moved them into another directory. My mbp is now booting again.

    I removed some old hp printer driver extensions and EyeTv extensions.

    3 days ago the mbp crashed with hardware fault and blue stripes and could no longer boot. I disassambled it and used a heat gun on the motherboard to try and repair any bad solderings. I put it back togheter and the the hardware fault was gone and I was soo happy that I managed to repair our 7 years old mbp. Then I updated the software and ran into this new problem not certain if it was hardware related or a new software fault.
    The factory had done a really poor job with the cooling paste on the chips, I was very surprised at the poor workmanship. I am a supply chain manager and have overseen electronics assembly at factories before and this was by far the worst I have seen including other devices that I have disabled in the past. The cooling paste only covered half the cpu and gpu chips. There was about 10 times too much paste on the side of the chips as if they had added a thick layer and scraped it off, not removing it but just scraping it down the side of the chips. I have never seen factory assembling handling cooling paste in such manner, normally they should add a framed when adding it.
    This mbp has always been noisy and quick to ramp up the fan speeds. Now it is silent and keeping the chips cool when wathing netflix, before it would allmost max the fans when watching Netflix.

  6. Christian says:

    You are a hero!

    Thanks thanks thanks for writing the Script to Disable Non-Default Kext Files

    My Macbook pro is back!

  7. Ajay Ghale says:

    People like you is why this earth is still spinning. Thank you !

  8. Bob Pazden says:

    Thank you Justin. I was about to do a clean install and this saved me the potential headaches with a customer’s system. It worked like a charm. Cheers to you!

  9. Susanne says:

    For me the problem was in /System/Library/Extensions/ – moving 12 old kernel extensions out of there fixed my problem. I didn’t go back to check which one was actually at fault because I didn’t need any of them. Thanks for sharing, this saved me a lot of trouble!

  10. Jeff Dudley says:

    Hi Justin,
    The number of people you have been able to help on this issue is astounding.
    I do hope I can get some success also.

    I have exhausted several searches online but nothing works. My MacBook was operating fine prior; I have el capitan installed been using for months now. I launched a new app, that I recently installed , and I got a blue screen, with no other option but to power off.

    Since then, when I boot, I am able to enter password but then my progress bar boots up half way then stops.
    – I have a grey screen whenever I try to go to safe boot. This I suspect is because filevault is enabled on my hard drive, which makes it encrypted.
    – Whenever I also try to launch in internet recovery mode. It loads the process completely with the globe, but afterwards a quick flash of a black screen then permanent grey screen.
    – I cannot get into Recovery mode, when I hold down Option it does not show my recovery partition, therefore I cannot get to a Terminal via the method you described.

    I can however get to single-mode but what can I do once I am there?

    Do the steps you have listed still apply based on my scenario?

    Any advice would be extremely helpful.
    Thank you!

    • Justin Silver says:

      Hi Jeff, it’s hard to say for sure what is going on, but if you can get to Single User mode you should be able to do all the same things that you can in Recovery Mode, the biggest difference is that you are starting from the boot partition rather than the recovery partition. Since you install the software recently you could look for any recently added kexts, but that might not necessarily be your issue, but it might be worth a shot. The other thing I would recommend is to look for your crash logs – from the GUI it’s Applications > Utilities > Console, if you are using the command line it’s likely in /Volumes/Macintosh HD/Library/Logs/DiagnosticReports/. Good luck!

  11. etienne says:

    Congratulations Justin
    You deserve a medal for documenting a solution that so many other experts failed to propose.

    I even think that what you propose is applicable to more than just El Capitan upgrade stalls,
    and that there might be a way to simplify the fix without having to use terminal and cmd-R

    I was facing a stalled boot (stuck at end of apple bar) on MBP 13 and 15 running El Capitan but also Yosemite.
    I tried all the classical SMC, PR NVRAM, single, re-install, … with absolute no success
    So I ended up re-installing clean, migrating and it worked but only for a while πŸ™
    Your solution fixed it for good on Yosemite and El Capitan.

    May I suggest to all those struggling with such problems, to use a mobile hard drive on which you clone (using Super Duper or CCC) various partitions (of the same size as your hard drive):
    a clean partition right after a minimum re-install (faster to re-install than the full re-install processes, fits on 19G stick for El Capitan, you just need to overwrite MacintoshHD partition with your saved partition)
    your working partition at various stages of its life so that you always can re-install a) and then migrate from b)
    more interestingly, it will also be much easier to apply Justin’s fix without having to use terminal nor scripts nor cmd-R:
    you simply boot from the clean partition (cmd+pwr), then open the MacintoshHD disk in finder and analyse/move all the kext files directly in finder.
    This also allows to run all sorts of utility programs that you keep on that clean partition.

    Have fun

  12. Bineuh says:

    Massive thank you Justin, you really saved my butt after Wacom drivers caused this exact issue. Fixed using the recovery mode terminal to move the kext files. You’re a legend!

  13. Yaw says:

    Your solution worked like a charm. Thanks a lot. My questions is what happens to the problematic kexts. You I delete them ? how can I move the non-problematic ones back to where they were moved from ? Note: I am a newbie when it comes to terminal

  14. Ivan Sinigaglia says:

    Thank you very much. Worked fine for me.

  15. Richard Carter says:

    I needed to reset SNC and rerun the install after this (both of which I had previously tried twice), but afterwards it worked fine. Thank you so much.

  16. Don says:

    Hi Justin,
    I’m running 10.11.6 on a late 2013 Mac pro. I followed your steps and successfully moved all the .kext files from the extensions folder to the unsupported folder. The computer rebooted successfully from the terminal, but would not reboot after that. I have to do a hard shutdown to reboot. I then tried your second set of instructions, and moved all the .kext files to the ExtensionsDisabled folder within Library, but the same problem happened. It reboots successfully from the terminal once, but then will not reboot again after that, it just hangs. Any thoughts? Thanks for your help.

    • Justin Silver says:

      Hi Don, it sounds like something is recreating the problematic kernel extension when you reboot. If you can figure out which one, perhaps try uninstalling the software that it belongs to?

      • Don says:

        Thanks Justin. It turned out that the current version of Pro Tools I’m running is not compatible with 10.11.6. So, I rolled back to Yosemite and things are working again now.

  17. Manuel says:

    Thank you Justin, you were very helpful.
    Just a warn to everyone, every update of the system keep installing EPSONUSBPrintClass.kext, which creates a new crash on starting up, so I have to remove manually from time to time.

  18. Issa says:

    Hi, I have a question or a problem with my 2015 Macbook pro, ive had it since present but once i updated my mac too el capitan the computer quit on me and stopped working, once i reinstalled el capitan it booted perfectly the laptop, but then if i try too login it takes super long with a circle processing logo on the cursor and it takes forever without no login boot. hope you can help me on this one havnt got too use my laptop for 1month

    • Issa says:

      if you can help me justin asap it will be super helpful :”), i dont want too waste another 1000$ on a desktop or laptop :”)

    • Justin Silver says:

      Hi Issa,

      I’ve been out of town for the last couple of weeks – unfortunately I’m not sure what the problem might be with your laptop. It could be a variety of things but is probably software related, so likely the worst case is having to restore your operating system, not buy a new laptop. I would try all of the things in this post, and if you are still having trouble you might need to contact Apple to help debug the problem further. Good luck!

  19. A lot of thanks for your help.
    Four days working and fithing with this trouble without computer and your post save me.
    In my case the problem start with the last update of Capitan of this month.

  20. Pablo says:

    You saved my girlfriend’s macbook! Genius!

  21. Bart says:

    Thank you VERY VERY VERY much!
    I was forced to upgrade (need latest Xcode) and bam, stuck. Happend before & restore from timeMachine took 6 hours.
    Your kext thing did the trick.
    Now I have to find out what extensions are default and should be restored, but I at least feel empowered to manage this.

  22. Lukas says:

    Hi mate, i keep having to do it over and over… Every second day my computer shits itself and the i have to repeat your process to start it up… Any advice?

    Thanks alot you are a true hero for putting this out there! πŸ‘

    • Justin Silver says:

      Hi Lukas – it sounds like something is replacing the files after you remove them, likely some kind of software update. If you are able to determine the specific kext file that is causing problems and figure out what software it goes to then uninstalling it might fix the issue. Good luck!

  23. Jane says:

    My case is not OS El Capitan but Yosemite, I did everything that I know.
    – Safe Mode and Utility Disk
    – Reset PRAM
    – Reset SMC
    – Reiinstal OS Yosemite
    – Finaly your way with disable Kext files

    But still no progress, My MBP still stuck 50% on Apple Logo.
    Or im doing wrong with the terminal code ….

    • Justin Silver says:

      Hi Jane, unfortunately if the fix here didn’t work for you I can’t think of any other suggestions at the moment. It could be anything from software to hardware – perhaps if you take it to an Apple store they can help debug. Good luck!

  24. mao says:

    An absolute Godsend! I couldn’t find this information anywhere, and your step by step explanations are just fantastic! I had problems upgrading to Sierra, and your post got me up and running again.

  25. Shaun says:

    Hi Justin,

    wondering if you can help me, just trying these steps to hopefully fix the problem.

    I put the code in at the top and after the reboot, the Mac wont load anything, including the Recovery mode. Any ideas?

    • Justin Silver says:

      Hi Shaun, unfortunately I don’t. The Recovery partition should be read-only so it’s strange that it won’t boot into it anymore. Makes me suspect it could be a hardware problem, but…. can’t say for sure. Good luck!

  26. David says:

    Many thanks Justin, it worked like a charm!
    My only problem was that I’ve renamed my Macintosh HD and it took me a wile to realise this issue, if you could update your amazing article and add a note about it, that would help more people in the future!
    Once again many many thanks!

    • Justin Silver says:

      Glad you got it working. I did mention using the new name if you renamed your drive later in the post, but have now included it at the top as well. Thanks!

  27. Math says:

    Thanks Justin, your tips saved my day.

  28. Ivan says:

    One more thank you! πŸ™‚

  29. Aman says:

    Boss you saved my life !!!!!!!! Seriously u did !

  30. Simon says:

    Hello Justin! Hoping you can advise?? I have a similar issue converting to a new iMac from a Mac Mini using Migration Assistant… The iMac stalls on booting. I have tried PRAM SMC time machine and cloning…
    Thing is, my existing mac mini seems fine but when transferring the whole system to my iMac the mac fails to boot but will boot to safe mode. I am on to Apple support but they are only telling me to try what I have already done!
    Gonna try your suggestion….fingers crossed! Thx

    • Justin Silver says:

      It sounds like maybe something is incompatible hardware-wise between the iMac and mini, especially since it will boot into safe mode. You might want to check out the crash logs if you can get into safe mode to see if they give you any clues. Since it sounds like you have a backup you might as well try the script at the end of this post as well and see if maybe a kernel extension is causing the issue. Good luck!

  31. MICHAEL says:

    Thanks for the great article! SAVED MY DAY!

  32. Myles says:

    Yes I agree, THANK YOU SO MUCH FOR POSTING THIS! I spent hours trying to figure out how to fix this with no avail … until I came across your post. I even created my own with specifics on my issues to help spread the word so hopefully I can help someone else out as much as you helped me!

    Thanks again dude you made my day! … not like those LG kernel extensions that ruined my day lol

    Here’s my blog post:
    https://smyl.es/how-to-fix-mac-osx-stuckhanging-on-progress-bar-will-not-boot/

    • Myles says:

      I also have information on there on how to unlock and mount your drive if it’s encrypted

    • Justin Silver says:

      Good stuff, glad I could help. I like your domain name too – I had justinsilver.com in the 90’s and then let it lapse because I was poor and it was snatched up by the Justin Western Wear Company for their “Justin Silver Collection”. Since they wouldn’t give it back to me I ended up going with a nerdy pun and got justin.ag (it still redirects) but when they let justinsilver.com expire I snatched it back πŸ™‚

      • Myles says:

        ahha thanks, yeah I had that happen a couple times, at least it wasn’t a domain squatter πŸ˜› Good thing now too is all the new TLDs that are being released, sooooooo many possibilities now.

        Love the blog too, you have a lot of great information on here, def added this to my RSS subscriptions πŸ™‚

        Thanks again!

  33. Usman says:

    Worked like magic. Was about to buy a new hard drive as I had tried every other ooption but to no avail. Thank you so much. You’re a life saver

  34. Vincent says:

    Am about to try this fix after trying everything else. Just one question – how do you move files back to the original location if they are not the cause of the problem- sorry, not used to using Terminal.

    Thanks

    • Justin Silver says:

      Use the “mv” command (for move), followed by the source, then the target. This works for “renaming” too if the source is a file name and the target is the new name.

      mv file.txt new-folder

      Good luck!

      • Vincent says:

        Thanks Justin – another question! I was going to try the script to disable non default kext files – I guess the bits in blue are just telling us what the instruction is doing but do all the other ones need to be typed in. Or do you recommended the original script you posted to move all kext files to a new ‘unsupported’ directory rather than non default ones.

        Sorry to be so dense!

        Thanks again.

  35. Shane says:

    Hey Justin, I know you get a lot of replies and other stuff, but I am still somehow struggling with the terminal commands. I am doing everything correctly, but it always pops up with “no such file could be found”. Please help, and thank you!

  36. Russ says:

    Thanks Justin, you are a genius and a lifesaver. Win 7 in bootcamp worked fine with Option + Power to boot up. Mine was an Epson printer kext that during a system update caused El Capitan to hang on the update, waited forever. Tried everything reset SMC and PRAM, first aid on disks, could not boot in Safe Mode. Was about to launch the mid 2012 MBP non retina out the window when I found this post on my phone and thought I would give it a go. Fixed straight away. I do not know how to thank you enough but I hope these thanks go some small way to saying how much time, grief and money you have saved me. Cheers.

  37. Narcyz KrΓ³l says:

    Hi Justin, I have the same problem, my Mac few weeks after updating to OS Sierra stopped working, I’ve done the Hard Disk Utility which said that there are no errors, I don’t have access to the recovery mode at all, the loading screen stops at 50% and I have to restart the computer. I tried to gain access through single user mode, but even after changing the user to ROOT I couldn’t change anything in the code, I didn’t have permission to write. When i tried to change anything, that line: PCI:Pause:SDXC would pop up and I couldn’t do anything else.

  38. matt says:

    i love you, really saved this college students life

  39. Lea says:

    Any idea why i cant mount the volume at all? Says “illegal option”. I have mac sierra, is that the issue?

  40. Lea says:

    I mean, i cant mount it as read/write

  41. JMElicegui says:

    Great
    Thank you very much

  42. Ken says:

    Thanks Justin, my MBP got stuck while I was on an overseas trip and I tried all you mentioned before the KEXT files trick. It worked a charm.

  43. michael.janko says:

    Thank you so much Justin, thank you, thank you a million times!!!!! You can not imagine how much you helped me!!! God bless you man!!! :-)))

  44. bill says:

    a faulty kext file, in my case for ftdi drivers. thx for figuring this out. sabed me an awful lot of time and grief!

  45. William says:

    Thank you for saving an entire week’s worth of work!!! So clear, and did the trick immediately.

  46. Queenie says:

    Thank you so much for saving me from reinstall the OS!
    I updated to 10.12.14 Sierra today, and stuck at the looping startup screen. Reset the PRAM and SMC, but no help.
    My bro found this site and we follow the instruction, problem solved πŸ˜€ The kext of my old printer failed.

  47. Martin says:

    Thank you so much.
    My update to 10.11.6 failed. Found your page in the internet and here I am again !
    πŸ™‚

  48. Brenda says:

    First, I would just like to say thank you, you wonderful wizard! Your script saved my MBP after I upgraded to Sierra 10.12.3.

    Second, I have no idea what any of these kexts things are, so I am terrified to shut down my computer and reboot now in fear it will happen again. How do I find the offending kexts and the apps connected to them? If you can, I will need super N00b instructions.

    Third, before I found your instructions page, I tried rebooting from my TimeMachine, but that was hanging up upon booting, too. Does that mean the problem is in my TimeMachine, also? Can I even fix that?

    Thanks again for saving this poor doctoral student from having to sell an organ for a new computer!

    • Justin Silver says:

      Hi Brenda,

      A “kext” file is a “kernel extension” – in simple terms it is a plugin for OS X similar to a plugin for your browser. The problem is that some older files that are no longer compatible with newer version of the operating system may still be on your drive and because it tries to load these when it is starting… it just hangs.

      If you move them out of the extension folder and were able to restart your Mac then you should be good to go. The files won’t re-appear unless you move them back, reinstall the incompatible software that put them there, or restore from an older Time Machine backup.

      Regarding Time Machine, definitely go ahead and make a new backup (assuming you are up and running). One nice feature of Time Machine is that you can completely restore all of your files (including the kernel extensions) however this can be a problem if one is broken. Your older backups are still super useful for accessing older versions of your files (perhaps a paper you are working on, pictures you accidentally deleted, etc) but you won’t want to do a full restore from these older backups because they will put the incompatible kext back on your system. Once you have a new backup you should be fine though – as far as Time Machine knows you just uninstalled something and it will use the latest (working) version to do a restore.

      Good luck!

  49. Andy says:

    Justin, you’re a marvel! This advice saved my sanity.
    However, here’s a mystery. The offending kext file reports in my library after every reboot. Thus every time I reboot the machine (e.g. after an upgrade) I have to go this whole process again.
    Have tried everything — Apple support couldn’t offer any suggestions.
    Any ideas how I might track down where the offending kext might be coming from?

    • Justin Silver says:

      Hi Andy – I think that unfortunately you might need to use trial and error to determine which kext is causing the problem, and then it will be easier to determine why it keeps coming back. If you are removing all of them then there should just be one or two showing up in /Library/Extensions. My guess is that you have some software on your system that sees that the kext is missing and replaces it, so uninstalling that software (or installing a newer version) would fix it if that was the case. Hard to say without more details but if I had to speculate I would guess it is hardware related like scanner or printer software. If you can post a list of the extensions on your system maybe something will stand out.

      Good luck!

      • Andy says:

        Hi Justin, thanks for the reply! I think this is the problematic kext:

        EPSONUSBPrintClass.kext

        Although these also keep reinstalling every time I reboot:

        BJUSBLoad.kext
        CIJUSBLoad.kext
        hp_io_enabler_compound.kext

        I’ve removed every possible piece of Epson related software I can find on the machine, don’t have an Epson printer installed, but lo and behold, every time I reboot, these four reappear. But by process of elimination, I think it’s the EPSONUSBPrintClass.kext that is causing the problem.

        Any ideas how I might hunt down what’s installing it? Does the system keep a log of this anywhere?

        Thanks so much!

        Andy

        • Justin Silver says:

          The Epson driver does seem suspicious. I’m not entirely sure how to fix the issue but some quick Googling got me this – https://discussions.apple.com/thread/3241855?tstart=0

          It looks like you could try installing a newer version of the Epson drivers and then uninstall them with something like AppCleaner. You can look in the Console app to see if you can find any mention of that kext being loaded but I’m not sure where (or if) it is logged.

          Good luck!

  50. Carlo says:
    Your comment is awaiting moderation.

    Thank you so much Justin, in my case it was also a problem related to Vodafone Broadband App that was inserted directly in the \Library folder.

    Regards!

    Carlo

Leave a Reply

Your email address will not be published. Required fields are marked *