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

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
Has anyone tried this with Public Beta 2. After upgrading to PB2 my startup screen is back to grey.

Yes, I did. follow w0lf's directions to do it manually. make sure to do it by replacing the FIRST "mac" listed. For me, it won't work it it is not the first one.

I use 0xED instead of HexFiend. Just a preference.
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Hmm could have something to do with the text VMM which was added in after the first group IDs but before another group of IDs in DP5.

Anyways here's the script with 1 line changed so it replaces the first Mac ID instead of the last Mac ID.

Code:
#! /bin/bash

#####
#
#		Yosemite dark boot for unsupported machines
#
#		Created By	:	w0lf			
#		Last Edited	:	8/22/2014			
#		About		:	Adds your board ID to boot.efi to get new dark boot screen.
#		Changes		:	Replaces first ID instead of last ID
#			
#####

do_work()
{
	echo -e "Now you'll need to enter your password for some sudo commands"
	echo -e "You won't see your password as you type it, just enter it and press return\n"
	sudo -v
	echo -e ""

	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 "Getting boot.efi hex\n"
	xxd -p /System/Library/CoreServices/boot.efi | tr -d '\n' > /tmp/___boot.efi

	echo -e "Finding ID to replace\n"
	#ohex_ID=$(sed -e 's|^.*4d61632d|4d61632d|' /tmp/___boot.efi)
	ohex_ID=$(perl -p -e 's/^.*?4d61632d/4d61632d/' /tmp/___boot.efi)
	ohex_ID=${ohex_ID:0:40}
	old_ID=$(echo -n $ohex_ID | xxd -r -ps)

	echo -e "Your ID : $new_ID"
	echo -e "Old  ID : $old_ID\n"

	echo -e "Converting ID to hex\n"
	nhex_ID=$(echo -n $new_ID | xxd -ps | sed 's|[[:xdigit:]]\{2\}|\\x&|g')
	nhex_ID=$(echo "$nhex_ID" | sed 's|\\x||g')
	while [[ ${#nhex_ID} -lt 40 ]]; do nhex_ID=${nhex_ID}0; done
	
	echo -e "Your ID : $nhex_ID"
	echo -e "Old  ID : $ohex_ID\n"	

	echo -e "Editing boot.efi hex\n"
	if ! $(grep -q "$nhex_ID" /tmp/___boot.efi); then 
		echo -e "Your board ID couldn't be found in boot.efi"
		echo -e "Your board ID will now be added\n"
		sed -i -e "s|$ohex_ID|$nhex_ID|g" /tmp/___boot.efi
	else
		a_test=true
		echo -e "Your board ID already exists in boot.efi"
		echo -n "Would you like to REMOVE your ID? (y/n): "	
		read rm_ID
		if [[ $rm_ID = "y" ]]; then
			echo -e "Your board ID will now be nulled\n"
			sed -i -e "s|$nhex_ID|4d61632d00000000000000000000000000000000|g" /tmp/___boot.efi
		else
			echo -e "Canceling..."
			rm /tmp/___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
			sleep 1
			exit
		fi
	fi
	
	perl -pe 'chomp if eof' /tmp/___boot.efi > /tmp/__boot.efi
	xxd -r -p /tmp/__boot.efi /tmp/_boot.efi
	
	echo -e "Replacing boot.efi and cleaning up /tmp"
	sudo mv /tmp/_boot.efi /System/Library/CoreServices/boot.efi 
	rm /tmp/___boot.efi-e
	rm /tmp/___boot.efi
	rm /tmp/__boot.efi
	#rm /tmp/_boot.efi

	echo -e "Adjusting permissions and locking boot.efi\n"
	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

	export LANG=C
	if $(cat /System/Library/CoreServices/boot.efi | tr -d '\n' | grep -q $new_ID); then
		echo -e "Success!"
		echo -e "Now all you need to do is reboot twice.\n"
		echo -n "Would you like to reboot now? (y/n): "	
		read rb_now
		if [[ $rb_now = "y" ]]; then sudo reboot; fi
	else
		if ($a_test); then
			echo -e "Your ID has been removed."
		else
			echo -e "Hmmm... something went wrong your ID is not in boot.efi\n"
			echo -e "Try adding it manually, you can find out how here:\n\n"
			echo -e "https://forums.macrumors.com/threads/1751446/\n"
		fi
	fi
}

clear
echo -e "Welcome\n"
a_test=false
new_ID=$(ioreg -p IODeviceTree -r -n / -d 1 | grep board-id)
new_ID=${new_ID##*<\"}
new_ID=${new_ID%%\">}
osx_ver=$(sw_vers -productVersion)
if [[ $osx_ver = "10.10" ]]; then
	if [[ ${#new_ID} -lt 21 ]]; then
		do_work
	fi
else
	echo -e "Sorry this only works on OSX 10.10 Yosemite\n"
fi
 

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
wolf,

After the next update I'll try your new script out. I forget which DP update it was, but one mentioned in the installer log that it was removing support for the unsupported boot.efi.

I still don't understand why Apple would want to prevent us from having a black boot screen. Its not like ANYONE will go buy a new computer, just for that.

I could see someone upgrading for the handoff/continuity features though. I won't. My early 2011 MBP is planned for at least two more years! (that is unless my employer increases my pay by 500%.)
 

redpandadev

macrumors 6502
Jun 3, 2014
352
316
I used this script to first enable the black boot screen on DP3, which worked wonderfully. After updating to DP4, DP5, DP6 & DP7 I did not lose the black boot screen.

My thought was "awesome, Apple added my machine to the list, I don't need a modification anymore!"

After installing DP8 today, my machine is now back to the white boot screen. Did not yet run the script to see if I can again switch to the black boot screen. Waiting for confirmation from others to see if it works/doesn't work, as I do not want to risk a non-bootable situation (I have a backup, just avoiding inconvenience).

MacBookPro8,2
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
Public Beta 3 broke it now don't have the black screen. Am going to see if the old way works.

Interesting, they keep changing the IDs like every update.

I don't think the OP has my most recent script in it but regardless here's the IDs as of DP8:

Code:
Mac-35C1E88140C3E6CF
Mac-7DF21CB3ED6977E5
Mac-3CBD00234E554E41
Mac-2BD1B31983FE1663
Mac-031B6874CF7F642A
Mac-77EB7D7DAF985301
Mac-27ADBB7B4CEE8E61
Mac-189A3D4F975D5FFC
Mac-742912EFDBEE19B3
Mac-C08A6BB70A942AC2

Background Color

Mac-AFD8A9D944EA4843
Mac-C3EC7CD22292981F
Mac-66F35F19FE2A0D05
Mac-2E6FAB96566FE58C
Mac-6F01561E16C75D06
Mac-4B7AC7E43945597E
Mac-8ED6AF5B48C039E1
Mac-4BC72D62AD45599E
Mac-7BA5B2794B2CDB12
Mac-031AEE4D24BFF0B1
Mac-F65AE981FFA204ED
Mac-94245B3640C91C81
Mac-94245A3940C91C80
Mac-942459F5819B171B
Mac-942B5BF58194151B
Mac-942B59F58194171B

Not sure what the background color thing in the middle is for or which block of IDs are the ones that get the black background.

For me this has been working from DP1-DP8 without me having to re-apply but I guess that's because I have no Mavericks volume on this machine.

I used this script to first enable the black boot screen on DP3, which worked wonderfully. After updating to DP4, DP5, DP6 & DP7 I did not lose the black boot screen.

My thought was "awesome, Apple added my machine to the list, I don't need a modification anymore!"

After installing DP8 today, my machine is now back to the white boot screen. Did not yet run the script to see if I can again switch to the black boot screen. Waiting for confirmation from others to see if it works/doesn't work, as I do not want to risk a non-bootable situation (I have a backup, just avoiding inconvenience).

MacBookPro8,2

Well I can confirm that the code I posted here: https://forums.macrumors.com/posts/19513929/ will not cause an unbootable OS. As for whether or not it works I dunno for certain. It does still edit the first ID.

Github: https://github.com/w0lfschild/DarkBoot
Download: https://github.com/w0lfschild/DarkBoot/archive/master.zip
 
Last edited:

redpandadev

macrumors 6502
Jun 3, 2014
352
316
I don't think the OP has my most recent script in it but regardless here's the IDs as of DP8:

Code:
Mac-35C1E88140C3E6CF
Mac-7DF21CB3ED6977E5
Mac-3CBD00234E554E41
Mac-2BD1B31983FE1663
Mac-031B6874CF7F642A
Mac-77EB7D7DAF985301
Mac-27ADBB7B4CEE8E61
Mac-189A3D4F975D5FFC
Mac-742912EFDBEE19B3
Mac-C08A6BB70A942AC2

Background Color

Mac-AFD8A9D944EA4843
Mac-C3EC7CD22292981F
Mac-66F35F19FE2A0D05
Mac-2E6FAB96566FE58C
Mac-6F01561E16C75D06
Mac-4B7AC7E43945597E
Mac-8ED6AF5B48C039E1
Mac-4BC72D62AD45599E
Mac-7BA5B2794B2CDB12
Mac-031AEE4D24BFF0B1
Mac-F65AE981FFA204ED
Mac-94245B3640C91C81
Mac-94245A3940C91C80
Mac-942459F5819B171B
Mac-942B5BF58194151B
Mac-942B59F58194171B

Not sure what the background color thing in the middle is for or which block of IDs are the ones that get the black background.

My machine ID is in the 2nd group and I have the light boot, not the black boot.

Well I can confirm that the code I posted here: https://forums.macrumors.com/posts/19513929/ will not cause an unbootable OS. As for whether or not it works I dunno for certain. It does still edit the first ID.

Github: https://github.com/w0lfschild/DarkBoot
Download: https://github.com/w0lfschild/DarkBoot/archive/master.zip

Tried it and it did nothing. I did replace the first ID in the first group with my ID, but did not result in black boot. Ideas I intend to try:

1) Switch my ID in the 2nd group with the first ID in the 1st group
2) Move my ID to the first group (just simply move it to before "Background color")
3) NULL out my ID entirely
4) NULL out my ID from the 2nd group and replace the 1st ID in the 1st group with mine.

Will report what works after I've attempted the above.
 

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
The latest script broke with DP8. I tried manually, but my board ID is already first.
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
I replaced every single ID with mine and I'm still getting the gray screen now.

I suppose we just need someone who is getting the black boot screen by default to look at the boot.efi and see where their device ID is.
 

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
Why is apple going to these lengths to prevent us from having a black boot screen?
 

TitouDoc

macrumors member
May 24, 2004
36
6
I've downgraded from Yosemite PB3 to Mavericks with TimeMachine Backup... Everything is fine, except I can't get rid of the Black Boot Screen when holding "Alt"... Any clues ?
 

mikecwest

macrumors 65816
Jul 7, 2013
1,193
496
I've downgraded from Yosemite PB3 to Mavericks with TimeMachine Backup... Everything is fine, except I can't get rid of the Black Boot Screen when holding "Alt"... Any clues ?

Did you try running w0lf's script again? It will ask if you want to remove your board ID, tell it YES and reboot.
 

NathanA

macrumors 6502a
Feb 9, 2008
739
16
So here's a weird one for you all.

The first version of Yosemite that I installed was PB2. I have a MacBook10,1 (1st-gen 15" rMBP, board-id C3EC7CD22292981F). This model was apparently considered "supported" for the black boot screen back then.

Ever since PB3 came out, my boot screen is grey again. Almost as if Apple had a change of heart and decided that this model or generation of machines should not get the new boot screen after all. BUT OS X acts weird about it: the progress bar will start out grey and then change to white as soon as the mouse cursor appears on the screen.

I was used to this happening on the first boot into Yosemite back in the PB2 days...after the first boot, subsequent reboots would show a black screen and white progress bar from beginning to end. I guess that it is changing EFI parameters (background color) during the first boot so that on subsequent boots the screen starts out with the correct background color.

Now it doesn't make that change anymore: background remains grey on every boot. But the progress bar itself starts out as grey and then changes to white in the middle of booting. I take this to mean that some part of OS X still considers my computer model to be a "black screen booting" model, otherwise it wouldn't change the progress loading bar color after booting has already begun to progress...this part of the boot process must be assuming that the screen is black even though it isn't. And yet even though one part of OS X thinks this, the boot.efi code never updates the actual EFI parameters to produce a black screen on bootup.

Personally, I couldn't give a hoot whether my boot screen is black or grey. But it did bother me that the progress bar did not remain a consistent color during the entire boot sequence...the fact that it changed halfway through struck me as hokey. Pick one or the other: either my system is a black screen boot model or it isn't.

I reported this as a "bug" to Apple with the Feedback Assistant thing, but when I upgraded to PB4, the situation did not change. The exact same scenario played itself out at every boot.

So I took matters into my own hands. This could play out one of two ways, and either solution would have satisfied me: either bring back the black boot screen so that the progress bar is white from start to finish, or somehow figure out how to tell OS X that I don't have a black screen model so that it doesn't change which color it is drawing the progress bar with in the middle of bootup. I had no idea what part of the system draws the progress bar after the mouse and graphics drivers are initialized, but thanks to this thread, I knew at least one of the files that plays a part in deciding whether EFI parameters get changed and then actually makes the change in question. So I decided that I would try replacing the boot.efi file that comes with PB4 with an unmodified one from PB2. I extracted boot.efi from the PB2 BaseSystem.dmg install image and copied it over the top of the one on my Yosemite boot partition.

Believe it or not, this actually worked. Now after booting Yosemite, every subsequent reboot gives me the black boot screen I had back during PB2, and the progress bar is white from start to finish.

I haven't run into any negative side-effects yet as a result of doing this. What this tells me is that it is likely safe to use any known-good/known-working boot.efi on later versions of Yosemite, even if those boot.efis were carried over from earlier versions. So those of you who had the black screen boot working on your "unsupported" computers in earlier versions of Yosemite should try to replace your current boot.efi with the same version of boot.efi that came with the last version of Yosemite that this hack worked for you on. After downgrading your boot.efi, you should (in theory) be able to re-run w0lf's script and re-gain your black boot screen after doing so.

-- Nathan
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
So I decided that I would try replacing the boot.efi file that comes with PB4 with an unmodified one from PB2. I extracted boot.efi from the PB2 BaseSystem.dmg install image and copied it over the top of the one on my Yosemite boot partition.

Believe it or not, this actually worked. Now after booting Yosemite, every subsequent reboot gives me the black boot screen I had back during PB2, and the progress bar is white from start to finish.

-- Nathan

Worked like a charm :D

New script using old boot.efi

raw text: https://raw.githubusercontent.com/w0lfschild/DarkBoot/master/bootfix.command
download: https://github.com/w0lfschild/DarkBoot/releases/download/1.0/bootfix.command.zip
 

NathanA

macrumors 6502a
Feb 9, 2008
739
16
This also works for the new Beta 5 released today. Just restart twice.
Yep yep...PB5 replaced my boot.efi with a new one and I was back to gray. I simply copied the PB2 version over atop of it again, and problem solved.

Those of you who need to modify boot.efi to make the black boot screen show up on your particular model of Mac should just be able to make a backup copy of the already-modified boot.efi and simply replace boot.efi after every Yosemite update. You shouldn't have to re-run the script every time if you backup boot.efi after you have run the script the first time.

-- Nathan
 

stirkac

macrumors newbie
Oct 17, 2014
1
0
Anyone got this working with Yosemite public release? I have 2011 mbp 13' and my shutdown screen is dark, but boot is still gray. As it was from install on, none of the scripts seem to make any change.

----------

Anyone got this working with Yosemite public release? I have 2011 mbp 13' and my shutdown screen is dark, but boot is still gray. As it was from install on, none of the scripts seem to make any change.

lol, it somehow works after I disabled kext signing and rebooted about 3x after numerous attempts to get it working...
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
This should still be working for the public release (works for me on GM candidate 3).
 

deviant

macrumors 65816
Oct 27, 2007
1,187
275

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
So if I understand correctly, the only way to do this now is by using an older boot.efi? Anyone want to post it?
 

NathanA

macrumors 6502a
Feb 9, 2008
739
16
So if I understand correctly, the only way to do this now is by using an older boot.efi? Anyone want to post it?
That would be copyright infringement...

Were you a part of the beta program? If so, do you still have a copy of PB2? I can tell you how to extract it.

-- Nathan
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
That would be copyright infringement...

Were you a part of the beta program? If so, do you still have a copy of PB2? I can tell you how to extract it.

-- Nathan

Oops, didn't think of that. I was part of the beta program but I no longer have a copy of beta 2. I'll see if maybe I can get it working with the official release... There also macosxbootloader which I believe has the black boot screen, but I don't know if that works on 64-bit efi.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.