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

ACDIT

macrumors member
Jun 16, 2014
84
0
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.

Yosemite UI made me dislike mavericks ! so no booting into it :p
 

Antoni Nygaard

macrumors 6502a
Jun 23, 2009
801
893
Denmark
weird i have a iMac 27 late 2009 Quad Core i7 and I have a short board ID like my MacBook 4,1. and the script reports short ID
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
weird i have a iMac 27 late 2009 Quad Core i7 and I have a short board ID like my MacBook 4,1. and the script reports short ID

I'm pretty sure this won't work, but can you try this boot.efi then and follow steps 8 through 11? It just has the next 8 digits replaced by empty space... I know w0lf said this does nothing but I just wanted to see if maybe the fact you had an i7 might make a difference.
 

Attachments

  • boot.efi.zip
    357 KB · Views: 699

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
weird i have a iMac 27 late 2009 Quad Core i7 and I have a short board ID like my MacBook 4,1. and the script reports short ID

Try my new version of the script.

Download Link : MediaFire

I'm pretty sure this won't work, but can you try this boot.efi then and follow steps 8 through 11? It just has the next 8 digits replaced by empty space... I know w0lf said this does nothing but I just wanted to see if maybe the fact you had an i7 might make a difference.

Interestingly enough as of Beta 3 my external monitor started to boot with a black screen with a grey rectangle in the middle and the old grey progress bar and it would also shut down with a black screen.

So going off a hunch I unplugged everything from my Macbook pro and restarted. With that reboot it started booting with the black boot screen. I've plugged everything back in now and it boots with the black screen every time now :D.

Subsequently I stayed up until like 1AM adjusting my script to work for both 8char and 16char machines (as well as any number in between). Couldn't get sed to insert null characters :mad: so had to read the whole boot.efi as hex convert the board ID to hex pad that with 0s if it was too short and then substitute.

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 "Getting ID hex"
	hexedID=$(echo -n $var_ID | xxd -ps | sed 's/[[:xdigit:]]\{2\}/\\x&/g')
	hexedID=$(echo "$hexedID" | sed 's/\\x//g')
	hexedID=$(echo "$hexedID" | tr 'a-z' 'A-Z')
	while [[ ${#hexedID} -lt 40 ]]; do
		hexedID=${hexedID}0
	done
	hexedID=$(echo -e $hexedID | sed 's/..../& /g')
	
	echo -e "Getting boot.efi hex"
	xxd -c 26 /System/Library/CoreServices/boot.efi /tmp/___boot.efi
	
	echo -e "Editing boot.efi hex"
	sed -i -e "s|4d61 632d 3335 4331 4538 3831 3430 4333 4536 4346|$hexedID|g" /tmp/___boot.efi
	perl -pe 'chomp if eof' /tmp/___boot.efi > /tmp/__boot.efi
	xxd -r -c 26 /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

	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»'
}

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%%\">}
echo -e "Your ID : $var_ID\nOld  ID : Mac-35C1E88140C3E6CF\n"
if [[ ${#var_ID} -lt 21 ]]; then
	do_work
fi

qH1T0AB.jpg
 
Last edited:

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
Try my new version of the script.

Download Link : MediaFire



Interestingly enough as of Beta 3 my external monitor started to boot with a black screen with a grey rectangle in the middle and the old grey progress bar and it would also shut down with a black screen.

So going off a hunch I unplugged everything from my Macbook pro and restarted. With that reboot it started booting with the black boot screen. I've plugged everything back in now and it boots with the black screen every time now :D.

Subsequently I stayed up until like 1AM adjusting my script to work for both 8char and 16char machines (as well as any number in between). Couldn't get sed to insert null characters :mad: so had to read the whole boot.efi as hex convert the board ID to hex pad that with 0s if it was too short and then substitute.

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 "Getting ID hex"
hexedID=$(echo -n $var_ID | xxd -ps | sed 's/[[:xdigit:]]\{2\}/\\x&/g')
hexedID=$(echo "$hexedID" | sed 's/\\x//g')
hexedID=$(echo "$hexedID" | tr 'a-z' 'A-Z')
while [[ ${#hexedID} -lt 40 ]]; do
hexedID=${hexedID}0
done
hexedID=$(echo -e $hexedID | sed 's/..../& /g')

echo -e "Getting boot.efi hex"
xxd -c 26 /System/Library/CoreServices/boot.efi /tmp/___boot.efi

echo -e "Editing boot.efi hex"
sed -i -e "s|4d61 632d 3335 4331 4538 3831 3430 4333 4536 4346|$hexedID|g" /tmp/___boot.efi
perl -pe 'chomp if eof' /tmp/___boot.efi > /tmp/__boot.efi
xxd -r -c 26 /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

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»'
}

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%%\">}
echo -e "Your ID : $var_ID\nOld  ID : Mac-35C1E88140C3E6CF\n"
if [[ ${#var_ID} -lt 21 ]]; then
do_work
fi

Image

Cool, I'll update the op in a bit!
 

ACDIT

macrumors member
Jun 16, 2014
84
0
Are you asking if it affects anything besides just the boot screen? If so, no, to my knowledge it does not.

Actually , i noticed that when shutting down my mac , the usual white screen before the shutdown is now black too !
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
Actually , i noticed that when shutting down my mac , the usual white screen before the shutdown is now black too !

Yep. Everything is black. Honestly I've been waiting for Apple to do something like this for a long time.
 

mikecwest

macrumors 65816
Jul 7, 2013
1,188
493
I just tried this script....

Was I supposed to modify the script, or is it all automated? I do get a black shutdown screen as I did before the script, but no black start up...


I would love a black startup screen... I am a bit old fashioned as well, I'd like to put the original rainbow apple instead of a white one.

Anyone try this on the public beta 1?
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
I just tried this script....

Was I supposed to modify the script, or is it all automated? I do get a black shutdown screen as I did before the script, but no black start up...


I would love a black startup screen... I am a bit old fashioned as well, I'd like to put the original rainbow apple instead of a white one.

Anyone try this on the public beta 1?

Did you restart twice?
 

mikecwest

macrumors 65816
Jul 7, 2013
1,188
493
Did you restart twice?

yes, restarted twice, did not work... tried again... restarted twice... did not work

set startup disk to another partition, from a clean install of DP1-DP4 update, tried with this, did not work...tried again... restarted twice... did not work

I then set back to original partition and posted here ...

If it matters, i am on early 2011 MBP 15", stock HD, 16GB 1600MHZ
 

w0lf

macrumors 65816
Feb 16, 2013
1,268
109
USA
yes, restarted twice, did not work... tried again... restarted twice... did not work

set startup disk to another partition, from a clean install of DP1-DP4 update, tried with this, did not work...tried again... restarted twice... did not work

I then set back to original partition and posted here ...

If it matters, i am on early 2011 MBP 15", stock HD, 16GB 1600MHZ

Well you could try doing it manually.

As for the custom image I would say use BootXChanger but apparently your MPB is the only unsupported device :/
 

xero9

macrumors 6502a
Nov 7, 2006
863
486
What's the significance of the black screen during boot? By that I mean why would only certain macs have it while other ones don't? I must be missing something.

Weird thing is I installed DP4 on a VMWare install on my Windows machine (I HAD to test it out :p), and I noticed it was black with the white bar. Made me feel like I was doing a software update on my iPhone!), but then my 2011 MBA is standard grey with black bar.
 

iVikD

macrumors regular
Sep 11, 2011
227
11
Spain
yes, restarted twice, did not work... tried again... restarted twice... did not work

set startup disk to another partition, from a clean install of DP1-DP4 update, tried with this, did not work...tried again... restarted twice... did not work

I then set back to original partition and posted here ...

If it matters, i am on early 2011 MBP 15", stock HD, 16GB 1600MHZ

I'm also on an early 2011 15'' MBP, script doesn't seem to work for me... I'm gonna try a couple more things before giving up on it
 

mikecwest

macrumors 65816
Jul 7, 2013
1,188
493
What's the significance of the black screen during boot? By that I mean why would only certain macs have it while other ones don't? I must be missing something.

Weird thing is I installed DP4 on a VMWare install on my Windows machine (I HAD to test it out :p), and I noticed it was black with the white bar. Made me feel like I was doing a software update on my iPhone!), but then my 2011 MBA is standard grey with black bar.


If you mean, why do I want/need it...The white screen boot lights up the inside of my car. I try not to light up my car in the dark.

If you mean, why do the new macs get it ant I don't? I hardly think that it would be a hardware issue, like the handoff/continuity thing that requires BT LE, which did not come with my mac....
 

mikecwest

macrumors 65816
Jul 7, 2013
1,188
493
Well you could try doing it manually.

As for the custom image I would say use BootXChanger but apparently your MPB is the only unsupported device :/

I just tried manually...Is it possible that it has changed since DP3, DP4 or PB1?
 

xero9

macrumors 6502a
Nov 7, 2006
863
486
If you mean, why do I want/need it...The white screen boot lights up the inside of my car. I try not to light up my car in the dark.

If you mean, why do the new macs get it ant I don't? I hardly think that it would be a hardware issue, like the handoff/continuity thing that requires BT LE, which did not come with my mac....

Yes, I meant the latter. The handoff thing I get (they haven't and might write drivers for older hardware in the future), but a black boot screen vs grey.. I don't get why some Macs would get it and others don't.
 

iVikD

macrumors regular
Sep 11, 2011
227
11
Spain
Yes, I meant the latter. The handoff thing I get (they haven't and might write drivers for older hardware in the future), but a black boot screen vs grey.. I don't get why some Macs would get it and others don't.

I think it's just one more 'feature' added to new models to encourage older model owners to upgrade, I doubt there's any actual functionality behind it.
 

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
I just tried manually...Is it possible that it has changed since DP3, DP4 or PB1?

It's possible, I'm on DP4 though and it's still working for me. I haven't tried PB1 yet.

----------

Actually, I hadn't booted into mavericks since I did this... I just booted in to mavericks, then back into Yosemite, I can't get the boot screen to be black again. The shutdown screen, is, however black.
 

tywebb13

macrumors 68030
Apr 21, 2012
2,948
1,636
To undo the black boot screen

w0lf's script file makes a backup of the old boot.efi file on the desktop. In case you don't like it and want to go back to the old way to boot you can run this in terminal:

sudo chflags nouchg /System/Library/CoreServices/boot.efi

Then copy the backup to /System/Library/CoreServices/boot.efi

Then run these in terminal:

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

To get it back again (in case it gets corrupted by other boot.efi's in updates or other partitions)

Back up the NEW boot.efi (i.e., the one that black-boots) from /System/Library/CoreServices/boot.efi before updating or making other bootable partitions (or if it is too late for this, salvage it from a time machine backup assuming you made one).

Repeat the "undo" process but with the new boot.efi instead.
 
Last edited:

Manic Harmonic

macrumors 6502
Original poster
Dec 4, 2011
299
1
Okay, so it looks like Apple removed some Board ID's from boot.efi. There's now only 4 Macs in there:
MacBookPro10,1
MacBookPro10,2
MacBookPro11,1
MacPro6,1

After replacing MBP10,1 with my own board Id it's working again.

Not sure why.
@w0lf I was going to change the script so it just changes the MBP10,1 ID instead but I don't know what I'm looking at. Maybe you could make it so that it just finds whatever the first Board ID is, in case Apple changes it again?
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.