Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
This is a guide for enabling the black boot screen + white Apple logo on "unsupported" Macs.

It should in theory work on all 64-bit EFI Macs.

WARNING: A small mistake or even just a fluke problem could potentially prevent your Yosemite partition from booting. Make sure you have a backup of it! I'm not responsible for anything that happens to your Mac.

NOTE: When you run an update it's possible that it could revert this, so you may have to repeat the process again after the update.

UPDATE: w0lf has been kind enough to write a script to automate this process! This link will always have the latest version: https://github.com/w0lfschild/DarkBoot
note: You may have to make DarkBoot.command executable after downloading. Put it on your desktop, open the Terminal and type the following:
Code:
cd ~/Downloads && chmod +x DarkBoot.command

The following method is how to do this manually, but it's outdated so it won't work on current versions of Yosemite. I have left it here for informational purposes.

If you want to see what the current script is doing, you can open it in a text editor.

IMPORTANT NOTE: If you boot back into an older version of OS X after doing this, it will boot with a completely black screen. On the next boot, you will have your white screen back in both pre-10.10 and 10.10 versions. To get the black Yosemite screen again, just reboot into your Yosemite partition twice.

For this guide you need:
-A hex editor such as HexFiend
-Preferably some basic terminal knowledge... however I have done my best to make this guide as fool-proof as possible so even if you have no terminal knowledge you should be able to do it.

First off, I would like to thank Pike R. Alpha for explaining how boot.efi determines whether to use a black or white boot screen, as seen here: http://www.insanelymac.com/forum/topic/298808-can-we-get-back-the-apple-logo-on-boot/?p=2036030 Also, thanks to VanillaCracker who explained how he got this to work on his 2012 Mac Mini in that same thread.

What this hack does is it simply checks the board id of your Mac to determine if it supports the black boot screen.

So basically, what we will be doing is changing one of the "supported" board id's to our own to trick it into thinking our Mac is supported.

Here's how to do it:

1. First, you need to get the board id of your Mac model.
EDIT: Thanks to w0lf, here is a script you can use to tell you your board id:
Code:
var_ID=$(ioreg -p IODeviceTree -r -n / -d 1 | grep board-id);var_ID=${var_ID##*<\"};var_ID=${var_ID%%\">};echo $var_ID
Screen Shot 2014-07-06 at 5.32.47 PM.png
As you can see, the board id for my MacBookPro8,1 is Mac-94245B3640C91C81.
2. Now let's back up the boot.efi file just in case. Make a folder on your desktop called "efi_backup" and copy /System/Library/CoreServices/boot.efi to that folder.
3. Now make another folder called "new_efi" for example, drag boot.efi into that folder. Note that the icon has a lock on it:
Screen Shot 2014-07-05 at 4.58.09 AM.png
This means that NO user can modify the permissions or ownership of the file, not even the root user. Let's fix this so we can actually modify it.
4. Open the terminal and navigate to your new efi folder:
Code:
cd ~/Desktop/new_efi/
5. Type this command to disable the lock flag for the file:
Code:
sudo chflags nouchg boot.efi
6. Make sure you have write permissions:
Code:
sudo chmod 755 boot.efi
7. Now we're going to edit boot.efi to tell it that our Mac supports the black boot screen. Open it up with HexFiend, click on the right column, and search for "Mac-" (make sure you have the dash). You should see a bunch of Mac board id's. Highlight one of them, in this example I am using the third one which is Mac-35C1E88140C3E6CF. That's the MacBookAir6,1 board id. Replace that with your board id, which again in my case is Mac-94245B3640C91C81.
Screen Shot 2014-07-05 at 4.36.21 AM.png
NOTE: If you have an 8-digit board id, the last 8 digits of the board number you are replacing will have to be replaced with spaces (this can be done by going to the hex side of the window and replacing that section of the board number with 00 00 00 00 00 00 00 00)
Save the file and exit hex fiend.
8. Now let's replace the original boot.efi file. Since the file is locked, we need to unlock the original before it will let us replace it, just like we did before:
Code:
sudo chflags nouchg /System/Library/CoreServices/boot.efi
9. Drag your newly modified boot.efi file into the CoreServices folder to replace it, and type in your password when prompted.
10. The last thing we need to do is set ownership+permissions and re-lock the file:
Code:
sudo chmod 644 /System/Library/CoreServices/boot.efi
Code:
sudo chown root:wheel /System/Library/CoreServices/boot.efi
Code:
sudo chflags uchg /System/Library/CoreServices/boot.efi
11. Now let's reboot! You will most likely need to reboot twice for the settings to take effect.
Here is the result:
IMG_20140704_044543.jpg
IMG_20140704_044603.jpg

I'm extremely happy with this hack, I hope some of you will find it as useful as I have!

If this guide is useful to you, please check out my music in my signature. :)
 
Last edited:

abcdefg12345

macrumors 6502
Jul 10, 2013
281
86
nice one

I followed your guide and got the black boot screen working on my 13 early 2011 MBP looks like what people said about needing the firmware update is not true, its all in the OS itself.
 

ccard3dev

macrumors regular
Nov 6, 2013
144
27
Michigan, US
Thanks for the tip, looks great on my mid-2012 MacBook Air (although it would look even better with the MBP's black bezel)!
 

ACDIT

macrumors member
Jun 16, 2014
84
0
Thanks for the tip, looks great on my mid-2012 MacBook Air (although it would look even better with the MBP's black bezel)!

it does ! maybe you can ''emulate'' that bezel with a custom shaped black sticker or something if there's no way of installing a real one :D
 
Last edited:

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
It doesn't seems to work on my MBP 4,1 the one before the Unibody models

Double check to make sure boot.efi in coreservices is actually patched with your board id. When I first tried this, I forgot to unlock the file, so it acted like it replaced it but it didn't. Also of course make sure your board id is correct.

It sounds though like your efi just might not be compatible, although that wouldn't really make sense to me.
 

Antoni Nygaard

macrumors 6502a
Jun 23, 2009
802
895
Denmark
Double check to make sure boot.efi in coreservices is actually patched with your board id. When I first tried this, I forgot to unlock the file, so it acted like it replaced it but it didn't. Also of course make sure your board id is correct.

It sounds though like your efi just might not be compatible, although that wouldn't really make sense to me.

i checked already, but i checked my board ID and it seems that it's not that long as newer macs. Mine is via terminal command: ioreg -p IODeviceTree -r -n / -d 1 Mac-F42C89C8

and through Geekbench Mac-F42C89C8 PVT and i patched it with both and one with no space before PVT
 
Last edited:

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Double check to make sure boot.efi in coreservices is actually patched with your board id. When I first tried this, I forgot to unlock the file, so it acted like it replaced it but it didn't. Also of course make sure your board id is correct.

It sounds though like your efi just might not be compatible, although that wouldn't really make sense to me.

I think this simply doesn't work with Core 2 Duo machines because they all have an 8 character board ID vs a 16 character board ID that Intel core i-Series use. If you change the size of boot.efi you boot to recovery. If you null on either side of the ID it simply does nothing.

Also you don't need a 3rd party app to get your board ID. Terminal can do that.

Code:
var_ID=$(ioreg -p IODeviceTree -r -n / -d 1 | grep board-id);var_ID=${var_ID##*<\"};var_ID=${var_ID%%\">};echo $var_ID

Aside from that here's a script to modify the boot.efi in one step with no terminal knowledge.

Code:
do_work()
{
	echo -e "Now you'll need to enter your password for some sudo commands\n"
	sudo -v
	echo -e "\n"

	echo -e "Unlocking boot.efi"
	sudo chflags nouchg /System/Library/CoreServices/boot.efi
	
	cur_time=$(date +%y%m%d%H%M%S)
	echo -e "Backing up boot.efi to ~/Desktop/boot${cur_time}.efi"
	sudo cp /System/Library/CoreServices/boot.efi ~/Desktop/boot${cur_time}.efi

	echo -e "Editing boot.efi"
	sudo mv /System/Library/CoreServices/boot.efi /tmp/___boot.efi
	LANG=C sudo sed -i -e 's/Mac-35C1E88140C3E6CF/'$var_ID'/g' /tmp/___boot.efi
	sudo perl -pe 'chomp if eof' /tmp/___boot.efi > /tmp/_boot.efi
	sudo mv /tmp/_boot.efi /System/Library/CoreServices/boot.efi
	sudo rm /tmp/___boot.efi

	echo -e "Adjusting permissions and locking boot.efi"
	sudo chmod 644 /System/Library/CoreServices/boot.efi
	sudo chown root:wheel /System/Library/CoreServices/boot.efi
	sudo chflags uchg /System/Library/CoreServices/boot.efi

	echo -e "Done!\n\nNow all you need to do is reboot twice."
	sleep 1
	osascript -e 'tell app "loginwindow" to «event aevtrrst»'
}

var_ID=0
clear
echo -e "Welcome\n"
var_ID=$(ioreg -p IODeviceTree -r -n / -d 1 | grep board-id)
var_ID=${var_ID##*<\"}
var_ID=${var_ID%%\">}
if [[ ${#var_ID} -eq "20" ]]; then
	echo -e "Awesome your ID should work!\n\nYour ID : $var_ID\nOld  ID : Mac-35C1E88140C3E6CF\n"
	do_work
else
	echo -e "Sadly the ID is too short. You're likely using a Core 2 Duo machine."
fi

Download link: MediaFire

Steps with script:
  1. Unzip
  2. Open bootEFI.command *
  3. Enter password

* If it doesn't run you might need to make it executable by opening terminal and typing "chmod 755 " (minus the quotes) then dragging in the file and pressing return.
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Is it possible to switch around the files for the Boot greens. I mean replace the black in the grey one folder?

You mean have a computer that normally boots black boot with the grey screen instead? If so I would assume just nulling your ID out of boot.efi would work.
 

Antoni Nygaard

macrumors 6502a
Jun 23, 2009
802
895
Denmark
You mean have a computer that normally boots black boot with the grey screen instead? If so I would assume just nulling your ID out of boot.efi would work.

Nope.


Grey Folder

Grey.png

Black Folder

Black.png

to something like this.

Grey folder

Black.png

Black Folder

Grey.png
 

ccard3dev

macrumors regular
Nov 6, 2013
144
27
Michigan, US
it does ! maybe you can ''emulate'' that bezel with a custom shaped black sticker or something if there's no way of installing a real one :D

Actually, I found a "Bezel emulator" for the MacBook Air on the MacRumors forums! I would buy it right away, but I am planning on buying the Retina MacBook Air when (and if) it comes out...
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
I think this simply doesn't work with Core 2 Duo machines because they all have an 8 character board ID vs a 16 character board ID that Intel core i-Series use. If you change the size of boot.efi you boot to recovery. If you null on either side of the ID it simply does nothing.

Thanks dude! This will make it way easier for everyone, I'll put it in the OP.

Here's what I'm wondering... What if you just replaced the other 8 digits with zeros? Something like this:

Before
Screen Shot 2014-07-06 at 5.24.38 PM.png

After
Screen Shot 2014-07-06 at 5.25.24 PM.png

Would that work or something similar?

EDIT: nevermind I read too quickly... I see you already addressed that, assuming you meant what I think you did. I'm surprised it doesn't work, it works for some kext binaries (Trim patch for example).
 

ACDIT

macrumors member
Jun 16, 2014
84
0
Actually, I found a "Bezel emulator" for the MacBook Air on the MacRumors forums! I would buy it right away, but I am planning on buying the Retina MacBook Air when (and if) it comes out...

Well it shouldn't cost a lot anyway , plus if/when it comes out you could benefit from that bezel on both machines !
 

ccard3dev

macrumors regular
Nov 6, 2013
144
27
Michigan, US
Well it shouldn't cost a lot anyway , plus if/when it comes out you could benefit from that bezel on both machines !

I was planning on selling my old MacBook Air and buying the new one when it comes out, that is why I don't want to buy it now.
 

0000757

macrumors 68040
Dec 16, 2011
3,893
850
Is there any major system damage that can be caused by doing this i.e. rendering the computer useless or unbootable?

I'm bookmarking this post for when I go back to Yosemite cause I love that black boot screen but I don't want to do it if I put myself at a huge system failure risk.
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Is there any major system damage that can be caused by doing this i.e. rendering the computer useless or unbootable?

I'm bookmarking this post for when I go back to Yosemite cause I love that black boot screen but I don't want to do it if I put myself at a huge system failure risk.

No. You can make it boot straight to recovery mode though.
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
DP3 Didn't ruin the new boot.efi ! good news.

It looks like boot.efi WAS in fact replaced, but it didn't change the boot screen back. My guess is that if you booted into Mavericks twice you would have to re-do the hack.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.