EFI Modifications Leaves iMac Unbootable?
jerbare writes "In attempting to run Linux and Windows on the new iMac Core Duo, people experimenting with configuring the EFI Console/Boot loader have found they can no longer boot the machine at all. Dave Schroeder of appleintelfaq.com comments, 'We have already irreversibly lost a couple of iMacs trying to load various EFI modules'. Instructions for breaking the iMac's are presently located at the bottom of the comments."
Reminds me of a situation I faced back in the day when I was a tech at a small mom-and-pop computer repair establishment. We received a shipment of motherboards, and found out that the BIOS on every single one of them was corrupt. Since the boards wouldn't even post, the traditional remedy of flashing the BIOS via a bootable floppy was not available. Normally, we would have just boxed up the boards again and returned them for replacements, but we desperately needed those boards to fill orders.
Well, desperate times call for desperate measures...
I got to thinking, "you know...once you've started booting to an OS, that BIOS chip isn't even being used anymore....hmmm". With this in mind, I pulled a working BIOS from another board, swapped it out with the bad BIOS, and powered the system on, booting from the BIOS flash floppy. Once the board had booted to the flash program, I carefully pulled the good chip back out, and put in the bad chip. I then ran the flash program to overwrite the bad BIOS.
Long story short, it worked like a charm. I managed to revive every board in the bad shipment without incident using this unorthodox technique.
Anyway, it should be possible to rig up a similar arrangement here, although as I am unfamilliar with EFI, I'll leave the details up to someone else.
____
~ |rip/\/\aster /\/\onkey
I have a feeling that a virtualization/emulation with hardware graphics support will be available within 6 months that'll make dual booting pointless. I have a feeling that dual-booting OS X with XP or Vista will not work because it's got EFI/BIOS issues and the hard drive formatting issue. And any number of issues that haven't come up yet.
If you can get it to boot at all, try reinstalling from the 10.4.4 media. That's supposed to fix some changes in the EFI.
Great. How about attacks on EFI by malware? An iMac costs just a few hundred bucks. Bad enough. But, what about those shiny new Itanium systems with EFI for 10 grants per box?
Just substitute Apple for Microsoft, Mac for Xbox and Internet for Xbox Live in the following...
Denial Of Service - Putting people at threat:
**WARNING** The following instructions will render the iMac Core Duo (Intel) TOTALLY USELESS. There is NO KNOWN METHOD OF RESTORING the iMac Core Duo to a previous functioning state. **WARNING**
/Volumes/EFI; sudo mount_msdos /dev/disk0s1 /Volumes/EFI)
/Volumes/EFI/BIOS32/Bin/GraphicsConsole.efi
I AM NOT KIDDING. THE FOLLOWING METHODS WILL PUT THE IMAC IN A STATE OF DISREPAIR BY AN END USER, EVEN WITH ACCESS TO THE INTERNAL HARDWARE.
With that said, here is how I killed the iMac Core Duo:
1. Downloaded EFI sample implementation and unzipped
2. Moved the 'Binary' folder to the hidden EFI partition (sudo mkdir
*NOTE: this partition appeared EMPTY*
3. 'blessed'
4. Rebooted in to GraphicsConsole
5. Attempted to load an EFI 'Driver' via GraphicsConsole (I forget the process, but it was a submenu. The drivers I attempted were AtapiPassThru.efi and Partition.efi)
6. Reboot and stare at your new broken iMac Core Duo. It's dead, Jim...
Just as Dave mentioned, unplugging the Hard Drive, removing the battery and leaving the iMac without power WILL NOT RESET IT TO ITS FACTORY DEFAULTS.
Because settings are stored in NVRAM, POWER IS NOT REQUIRED TO KEEP THE SETTINGS INTACT.
http://en.wikipedia.org/wiki/Flash_memory
BECAUSE THE APPLE EFI SOFTWARE DOES NOT LOAD THERE IS NO WAY TO 'ZAP' or 'FLASH' THE NVRAM TO DEFAULTS.
The caps are really necessary, folks. Apples implementation of EFI allows software to modify the computers ability to boot - or NOT.
I am unsure if modifying Apple boot software voids the warranty. I was fortunate to get a replacement iMac, but I did not explain what I did to render it unable to boot. Because of that, I'm staying anonymous...
"Apples implementation of EFI allows software to modify the computers ability to boot - or NOT. "
Enough of this firmware is flash-based that software can trash it to the point that it no longer boots from optical media. Key-mashers need to understand that EFI *precedes* the Apple Option-key tricks, so if EFI is hung you are crap out of luck. Unless there's some jumper inside the case which resets EFI to a factory state, that EFI will have to be pulled and reflashed.
We're going to pretend Apple doesn't really release mistakes like this and that there's a failsafe for restoring the EFI. Otherwise, you potentially have the mother of all DRM traps in front of you.
"Made up/misattributed quote that makes me look smart. I am on
Is the EFI cachable? And if so, wouldn't it be possible to create a custom boot which cached custom EFIs so you could experiement without overwriting the nvram/eeprom/whatever? Alternatively, if everything else is the same between intelMacs and typical PCs, wouldn't you be able to cache an EFI to boot MacOS?
https://www.eff.org/https-everywhere
Windows XP 64-bit and Windows Server 2003 64-bit support EFI, but the Intel Core Duo is a 32-bit architecture.
I haven't seen anyone who has tried booting to the XP 64 bit CD yet, thus I am recommending someone try. Sure, the Core Duo is 32 bit, but the 64 bit (at least the X64 versions) will boot on a 32 bit machine and eventually say installation is not supported on the machine. If someone can get these CDs past the "Press any key" prompt on an Intel Mac, it might expose something that can be used elsewhere.
Having a final production OS bootloader to play with might work out better then tinkering with the Vista betas.
Did you try reverse psychology?
Try This:
1. Remove the primary battery on the notebook
2. Open up the notebook and remove it's internal battery.
3. Power on the notebook (without it's batteries installed).
4. With the notebook on, turn it off by removing the power cord.
5. Leave notebook sit for at least 1 hour, the longer the better.
Now plug the notebook back in and turn it on, if it starts up and displays an error message saying it's lost it's CMOS settings or something like that then your good to go.
By following these steps, the iMacs that had difficulty with certain EFI modules appear to have been restored to a functioning state:
1. Disconnect the internal hard disk
2. Disconnect the iMac from AC power
3. Plug in AC while holding the power button
4. Power up the iMac and zap NVRAM (cmd-opt-P-R)
The hard disk can be reformatted and the operating system restored.
I think the best way to go about this would be to do something that was done to enable Linux to boot on old world Macs. On a PowerMac 8600 (for example) the best way to boot into PPC Linux, was to use a special boot loader called BootX http://penguinppc.org/bootloaders/bootx/. Basically, it was an OS 9 program that immediately ran as OS 9 had a basic initialization startup. It gave you a choice to ether to continue to boot into OS 9 or boot into Linux. It is unique from other boot loaders in that it bypasses a computer's firmware and lets Mac OS handle it. I think this is the way to go....let OS X handle the boot process that deals with the firmware, then give users a choice to boot into Windows or finish with the OS X boot process.