Apologies for the techy nature of this post, but I found many  people online with this issue that were clearly ignorant of how computers work, what UEFI and legacy BIOS’ do, and how they all interact. The info below has enough detail for somebody with access to a second machine and the Internet to restore an Acer laptop suffering the legacy BIOS F2 not working bug. If you stumble across it and it is too complex, rest assured your data is safe, you don’t have to reinstall everything, and you shouldn’t do that. Instead, point your helpful techy friend here to help you get working again.
My current laptop, an Acer Aspire V5 431p, is a Win8 machine that uses the UEFI standard that has superseded the BIOS firmware system used in PCs for the past few decades.
Changes to the UEFI settings are managed via Windows and necessitate a reboot into a special mode. All well and good, presumably this allows a bit more of a lock down of the system, to prevent installation of unsigned drivers, for example.
This machine has an option for backward compatibility called legacy BIOS support, so you can install an operating system that isn’t windows, or an older version of windows.
One feature that I haven’t seen well documented is the ‘secure boot’ facility that stops the machine booting into Windows 8 unless the UEFI is enabled.
I presume the rationale here is to thwart malware that targets the BIOS, although I’m not 100% clear on how completely disabling the computer is meant to assist the owner should they have a malware issue.
No doubt it helps Microsoft and the ISPs that suffer from botnet problems though, I guess.
In any case, I had cause to learn about this yesterday when I was trying to load some unsigned drivers for an unbranded China phone.
As Windows ever-so-helpfully denies installing them, with the message to visit the hardware suppliers website for signed drivers by default, with no option to override, I was faced with a computer refusing to do what I required thanks to Microsoft’s obstinence. A tip online suggesting there was a UEFI option to turn off ‘drivers must be signed’. I dived in to turn it off and decided to skip using UEFI as a boot loader as well, so I could have the old reassuring “Hit F2” option on boot up if I wanted to change anything like this again.
Sadly, due to a bug in Acer’s BIOS firmware, this was my undoing.
The PC booted through POST, displayed the “Hit F2 to enter BIOS or F12 for boot options” then ran through the boot order preference.
Of course, both the hard drive and the SSD in my machine have bootable partitions, but both happened to be Windows 8, which refused to load with an error saying No Operating System Found.
Mixed in was a brief display of some errors related to network cables/media. Hmm. That was the boot over the network option in my boot list so could be discounted. So why wouldn’t the system boot?
Hence my lesson about Secure Boot not allowing legacy BIOS boot loading.
Nothing for it by to turn UEFI back on.
Restart, hit F2. Nothing, just the same boot error message.
Try again. Restart, hit F2. Nothing, just the same boot error message.
Sometimes it can be a really short time window to hit F2, as little as 1/5th of a second I read somewhere. So I tried again. Still no good. I tried F12, and got the boot order list, so the keyboard was working.
Hmm. Google.
Many people describing similar issues, most of the threads with no answer or a description of somebody doing a complete FDISK and reinstalling. That doesn’t sound good.
I grabbed another PC and made a Unetbootin rescue disk.
Some success! The USB stick showed up in the boot list and let me boot to FreeDOS. I could also access the C: drive file system, it was still intact, so I just had to get around this secure boot issue. Which meant access to the BIOS, which meant hitting F2, which wasn’t working, thanks to a bug in Acer’s Phoenix sourced firmware.
I made a Win8 rescue disk from a spare machine. Again, it booted to the recovery tools, and allowed me to drop to a CMD and see the disk contents. I have good back ups, but at this stage I took the opportunity to copy over the last couple of files I had been working on for a presentation that evening!
How about flashing a new BIOS, I thought.
Excellent, the Acer support site shows three BIOS revisions for this machine.
Problem is, they are delivered as Windows EXE files. You need a working Windows install to run them to flash the BIOS. The support manual available online suggests the bare ROMs can be installed via a USB drive, but gives no details, presumably those are only available to Acer techs.
Grr.
So I have now reached the point where I have spent several hours trying to restore a system I can see is intact, thanks to an evil combination of a BIOS bug and Microsoft’s pedantic ‘don’t trust the user’ policies.
I have a bit of inspiration and pop a working Windows 7 HDD out of another laptop and boot from it in a USB sled. It boots!
Ignoring the pleas to install drivers and the ridiculous display resolution I run the BIOS flash program.
Version 1.2 is too old. version 2.17 flashes. Thanks, BTW Acer, for the complete lack of *any* documentation on the BIOS revisions. I am literally tinkering with the base level of my systems software, with the ability to nuke the PC forever if it fails, with a file supplied by the company whose bug got me into this place to begin with, using a file that has no documentation besides run update.bat while plugged into AC.
The machine reboots, the Win 8 spinning dots come up. Phew.
It takes many minutes and a few counts up to 100% before it is all working again, but the re-flash restored UEFI as the default boot loader and everything is good again.
Of course, I will have to go fishing in there again to load those unsigned drivers, but at least I can boot my PC.
So the lessons:
– Acer has woeful online support. Many users are complaining about this issue in the last few months, Acer response is invariably “Hitting F2 works”. It does not. It is a bug.
– Microsoft nanny-state security controls make it harder for you to do legitimate stuff with your computer, and lack of support for legacy BIOS booting wasted most of my day.
– It is this kind of thing that drives people to Linux! Might be time to check if WINE is supporting the Win progs I need yet…