MacOS – OSX Startup Manager (Boot drive selection screen) slow/un-responsive in Macbook Pro (early 2015)

bootcampmacbook promacoswindows

I have a Macbook Pro Retina 13" (Early 2015) model and I have a bootcamp partition with Windows 8.1 Pro installed in it. The dual boot to OSX El Capitan and Windows was working just fine until about a month ago. I was switching operating systems using the option key at bootup through the Bootup drive selection screen and it was all working fine.

The problem I am facing right now is that every time I turn my laptop on or try to switch Operating systems using the option key the drive selection screen takes a long time to appear, like literally 20 to 30 seconds. This is not really normal because it used to be much faster. Also, once it appears with the Macintosh HD, Windows, and Recovery drives the mouse pointer just doesn't work or sometimes work un-reliably or extremely slowly. I have tried wireless and wired mouse in the screen and the results are similar. I can use the arrow keys in the keyboard to select the drives but the response is just too slow. Once i hit an arrow key it takes 15 to 20 seconds to register and move the selection, sometimes it doesn't respond at all. And then finally when I hit return it takes another half a minute or so to load up the boot sequence (Apple logo for OSX and spinning circle for Windows).

I ran diskutil to verify the volumes but everything seems fine. The disk health shows fine and I also ran First Aid on the Macintosh HD as well, but to no avail. I then tried by resetting the SMC and NVRAM but the problem still persisted. I updated bootcamp drivers as well as Windows updates, but the situation stayed. Finally, I took the laptop to an Apple store and the technician saw the issue, never ran any diagnostic and simply said something like "looks like an issue with EFI, we will have to send it for repair to change the logic board because the memory is soldered into the logic board", I couldn't fully understand what he meant by that and I am skeptical if it is really a hardware issue because the operating systems (OSX and Windows) both run just fine once it boots up.

A few odd behaviors I noticed

  1. When restarting from Windows to OSX the boot drive selection screen sometime works normal. Fast and as if nothing really happened.
  2. When booting up the machine from a powered down state into OSX (without using
    option key, since Macintosh HD is my primary boot drive)
    the boot sequence (Apple logo with the loading bar) takes a while to
    appear.
  3. This issue probably didn't happen until I upgraded to OSX 10.11.5 from
    10.11.4/3.

Points worth mentioning:

I use Tuxera NTFS and I know that there is a known NTFS driver compatibility issue between OSX default NTFS driver and Tuxera's NTFS version. Thinking this could be the problem I tried to repeat all the remediation steps by completely disabling Tuxera, but the problem still persisted. I feel that Tuxera may not be an issue because I have been using both Bootcamp Windows and Tuxera for quite a while and never faced any issues. I am considering a clean install of bootcamp with Win 8.1 Pro, if I absolutely have to, but would like to avoid because it's my work setup and I will have to set everything up from scratch.

I have already searched many online articles and community posts but haven't been able to find anything similar to this situation. So my ask is that, could it really be a Hardware (RAM) related issue as the Genius bar tells me? or is there anything known that I may try (and that I haven't already tried as stated above) to see if it resolves the issue?

Added More info from system log

I ran sudo dmesg | more through terminal to view the last startup log immediately after a bootup and it seems in the beginning there are a bunch of kext related errors. I haven't done much research on the error but seems like a kernel panic of some sort, I just can't ascertain if this is being caused by a software or is it a hardware issue.

Kext com.apple.driver.AppleIntelLpssUARTCommon start failed (result 0xdc00400a).
Kext com.apple.driver.AppleIntelLpssUARTCommon failed to load (0xdc008017).
Dependency com.apple.driver.AppleIntelLpssUARTCommon of kext com.apple.driver.AppleIntelLpssUARTv0 failed to load.
Can't remove kext com.apple.driver.AppleIntelLpssUARTCommon; services failed to terminate - 0xdc008018.
Kext com.apple.driver.AppleIntelLpssUARTv0 failed to load (0xdc008015).
Failed to load kext com.apple.driver.AppleIntelLpssUARTv0 (error 0xdc008015).
AppleCamIn::probe
fUseGPUBusy = 0 fPPPMSupport = 1
**** [IOBluetoothHostControllerUSBTransport][start] -- completed -- result = TRUE -- 0x2800 ****
**** [BroadcomBluetoothHostControllerUSBTransport][start] -- Completed (matched on Interface) -- 0x2800 ****
Couldn't alloc class "AppleIntelLpssUARTv0"
AppleCamIn::start

Ran diskutil verifyvolume on my EFI volume and it came back with some errors-

Verifying file system
** /dev/rdisk0s1
** Phase 1 - Preparing FAT
** Phase 2 - Checking Directories
/EFI/APPLE/EXTENSIONS/Firmware.scap starts with free cluster
Truncate? no
/EFI/APPLE/EXTENSIONS/Firmware.scap: Cluster chain starting at 6 ends with cluster marked free
Truncate? no
size of /EFI/APPLE/EXTENSIONS/Firmware.scap is 15729264, should at most be 512
Truncate? no
** Phase 3 - Checking for Orphan Clusters
Found orphan cluster(s)
Fix? no
Found 30600 orphaned clusters
Free space in FSInfo block (303079) not correct (303078)
Fix? no
179 files, 151539 KiB free (303078 clusters)
File system check exit code is 8
Error: -69845: File system verify or repair failed
Underlying error: 8: POSIX reports: Exec format error

Best Answer

According to Apple, the EFI partition is not used to boot OS X. The interesting think about the damaged Firmware.scap file, is that evidently the file is copied from the /usr/standalone/i386 folder to the /volumes/efi/EFI/APPLE/EXTENSIONS folder at boot time. See web site: /Volumes/EFI - Firmware.scap & MBA41_0077_B12_LOCKED.scap. If this is true, then you should not have to worry about replacing the damaged Firmware.scap file.

I suppose the next step would be to try and fix the EFI partition. If you wish, you could first backup this partition to a file. The file would be an exact image of the entire partition. To backup the entire EFI partition to the file named efi.binary, use the OS X command below. The partition should not be mounted, before entering the command.

sudo dd if=/dev/disk0s1 of=efi.binary bs=409600

If something goes wrong, you can at least restore the EFI partition back to its original (faulty) condition. To restore the entire EFI partition from the file efi.binary, use the OS X command below. The partition should not be mounted, before entering the command.

sudo dd if=efi.binary of=/dev/disk0s1 bs=409600

The OS X command to repair the partition is given below.

diskutil repairvolume disk0s1

An alternative would be to use Windows to run chkdsk on the EFI partition. From a Administrator Command Prompt window, you could enter the following commands.

mountvol s: /s
chkdsk /f s:
mountvol s: /d

More information, about accessing the EFI partition from Windows, can be found at the web site: How do I mount the EFI partition on Windows 8.1 so that it is readable and writeable?