Posts: 472
Threads: 1
Joined: Sep 2012
Reputation:
38
10-12-2012, 03:14 PM
(This post was last modified: 10-12-2012, 03:16 PM by TimeWalker.)
I'm actually starting to understand why Packard Bell's / Acer's service manuals describe the use of Startup.nsh along with PFlash.efi - to avoid the need of a working operating system or a HDD even. They come with unlocked shell from the factory and after you unplug HDD it will boot into the shell (this is what the Acer guy from Singapore described the tech person did to boot the laptop in crisis).
So what happened was:
- The tech guy had a dvd or a flashdrive with stripped BIOS.cap (truncated 180000h 0x00 padding layer), a startup.snh script which executes PFlash.efi which flashed the xxxx.fd bios image in silent mode.
- The machine is put into recovery mode by Fn+Esc key combinarion
- The PEI modules FatLitePei or CdExpressPei load the recovery capsule BIOS.cap into memory and emulate the bios this way
- The laptop starts and as there's no HDD present it loads up shell (because they have it as a boot option, on our Dells when nothing is found to boot from the Boot Managers pops up, on theirs it will be Shell presumably).
- Shell does 5 seconds countdown before initiating the startup.nsh and after 5 seconds executes the startup script
- Startup script invokes the PFlash.efi which is able to start this time because there is a capsule loaded into memory at this point of time, so using the arguments which were passed to the flasher it flashes the xxxx.fd specified in the script.
- The Shell flasher reboots the system and the on-chip bios gets reflashed without the need for an OS.
Since our Dells come with UEFI boot disabled by default (meaning we can't enable it and save setup - [F10] and reboot because we'd lose the recovery capsule from memory right away).. nor we have an access to the ShellInternal ... it's a good practice to find a way to set UEFI Boot default as Enabled in the advanced setup module. Then it would be possible to put the shell as bootx64.efi onto the same external media device, after machine finishes up loading bios from usb we'd hit F12 and select USB/DVD to initiate shell and start the startup script to flash from EFI Shell flasher..