Tuesday 25 April 2017

My MacBook Pro stuck at loading screen: Solved

My MacBook (macOS Sierra) run a bit laggy recently and one day it just wont boot up. It stuck at the loading screen where the loading bar stopped at about 60%.
MacBook Pro stuck at loading screen
So, I can't do any video editing and upload any videos for quite sometime. It was really frustrating and a very bad experience. Anyway, since can make this post, thats mean my mac is back to normal.
Now, I'm going to list down how I found the problem and what I have done to fix it.
First, I found some Mac Startup key which are very useful to debug a mac.

Below are quick overview of those keys:
+------
To boot your Intel-based Mac into any of OS X’s built-in startup modes, you must press and hold one or more keys detailed below after turning on the computer. Press the keys immediately after hearing the startup sound, unless otherwise specified.

  • Manually restart: Power (⎋)
  • Single-User Mode: Command (⌘)—S
  • Boot from NetBoot server: N
  • Boot from NetBoot server using the default image: Option (⌥)—N
  • Eject removable media: Media Eject (⏏)F12, mouse button or trackpad button
  • OS X Startup Volume: X will start up your Mac from an OS X startup volume when it’d otherwise boot from a non-OS X volume, like a Windows partition
  • Prevent Login Items from opening: To override your current settings and prevent Login Items and Finder windows from your last session from opening when you log in, hold down the Shift (⇧) key after clicking the Log In button in OS X’s login window until the desktop appears.
  • Prevent automatic login: If you enabled the option to automatically log a specific OS X account every time your Mac starts up, you can override this setting by holding the left Shift (⇧) key after OS X’s boot progress indicator appears.
  • Reset PRAM/NVRAMCommand (⌘)—Option (⌥)—P—R, then release the keys after you hear the startup sound for a second time
  • Reset SMC: Shut down your Mac, and then press and hold the left-side Shift (⇧)—Control (⌃)—Option keys along with the Power (⎋) button, all at the same time, until the computer turns on. Now release the keys and then turn your Mac back on using the power button.
------+
I have tried to Reset PRAM/NVRAM and Reset SMC, but that doesn't solve the problem, so it probably is not a hardware problem.
So, I boot the mac with Verbose Mode, verbose mode means it will list everything going on behind the scenes. You'll watch as item and extensions being loaded during the booting process. 
The loading process was smooth at the beginning, until after a few second it stuck at:
SmartBattery: finished polling type 4     (as shown below)


I have no idea what any of those means. After some web research, found out the actual error might be the: " busy timeout[1], (60s), kextd wait(0): 'AppleACPICPU', 'PNLF', ...... ", a few lines above the "polling type 4". which cause by some extension or driver problem of the MacOS Sierra. 

To solve this problem I'll need to re-install the macOS, but too bad I don't have the Sierra installation disc, I only have the very old macOS X disc which comes with the MacBook, and apple just won't let you re-install the old MacOS over the newer Sierra. (If you have the Sierra installation disc or thumb drive, You can just boot the mac to recovery mode and re-install MacOS Sierra from there.)

Since I don't have the Sierra installation disc and I don't want to lose all the information in my hard drive. So what I can do, is to swap a new hard drive into the MacBook pro, and start a new installation. Also, it is about time to upgrade my storage space. As for the old hard drive I will get a hard drive enclosure and make it a external hard drive.
About swapping out the hard drive in a MacBook pro, it is easier then you thought, just refer to the link here: https://www.extremetech.com/computing/58220-upgrade-your-macbook-pros-hard-drive-2 
They will teach you how to change the hard drive for every model of MacBook.

After install the new hard drive, I boot the mac from the MacOS X installation disc, by hold down the C key. The installation run smoothly, and my MacBook boot up perfectly like new. 
After that I have to do a few MacOS upgrade, until it gets to MacOS Sierra. It is time consuming but that's the way to go and I don't have to buy a new notebook. 
Now everything has back to normal, just need to reinstall all the application I used to have. 

What a bad experience,  :-(
Hope that will help, if you have the same problems.