-   Linux - Hardware (
-   -   UEFI - is there a way to boot into a 'EFI Shell' using a usb stick/CD? (

nicolasdiogo 08-16-2011 04:38 AM

UEFI - is there a way to boot into a 'EFI Shell' using a usb stick/CD?

i am trying to understand the wonderful world of EFI.

the reason is that i have a RAID card that needs to be upgraded using EFI; its firmware needs the so called EFI runtime to be upgraded.

this is the hardware in question:

i have found project such as EDK and tianocore.

but there is not quite an explanation on how to create a 'live' usb or CD for it. is it possible to do that?

does anyone know know how to boot this EFI if your motherboard does not support it?



thorkelljarl 08-16-2011 05:40 AM

A custom live-cd...

It isn't hard to make a cd from a linux installation. If the EDK shell scrip will run under linux, you could put the shell script you refer to in the /home directory and after you have made your live-cd, run it live from a terminal or console mode(run level 3). This will run EDK as part to an OS but not put you into EFI where you want to make changes. You probably need to enter the EFI Setup as you would a BIOS, and such a live-cd won't have any effect.

From a cd, you can made a persistent USB flash of the live-cd, and be able to preserve any changes or information produced as you work.

The question is whether the script or whatever other tool you choose to use will do what you want without making any fatal mistake. I assume that EFI is like a BIOS in that if it an update fails, there is no recovery.

This is one of many Internet finds for making a live-cd.

If you need to use Windows tools, this is an example from the Internet of one way to do it with an emulator(qemu).


Here's how I did it (requires Linux knowledge) and assumes you have a USB Drive >= 64 MB.

a. boot Ubuntu 9.10 Live (or other live Linux)
b. install qemu
c. download a Windows 98 se disk image

d. create a 64 MB (empy / zeroed) file
e. load qemu with 98 se disk image as floppy and the 64 mb file as a hard drive
f. use the fdisk utility to partition and format the hard drive.
g. copy over windows 98 system files (from drive A:)
h. copy over the flash utility and ROM image.
i. exit qemu
j. write the 64MB file to the flash drive (eg /dev/sdz)
k. boot to the flash drive.
Is this the controller?

The utility is marked as being independent of any OS. I have read the Readme for V.17 and it states that one just runs the script from a USB drive. That is, most likely, unzip the downloaded file and put its contents on a USB flash drive; they are not the best instructions.

Why do you think you need EDK; do you have to use a text editor and flashing EFI or changing its settings isn't enough? Can you open EFI to change the settings(F2?)?

There is a V.20 with a different Readme and procedure, apparently allowing you to unzip the firmware package directly to a USB flash drive. From my experience with flashing a BIOS, the USB has to contain no other files and have any U3 utility removed. Format the USB to FAT16 or FAT32 depending on its size.

There are shell commands from Intel that might be useful in setting up EFI as you want, either as installed or while flashing it. There is a file editor among them.

Look at the Readmes for how to get into EFI and how to run the updating script. Somewhere there was a mention of F2, probably as EFI for the controller starts. It seems there should be a menu or link that will include getting to the shell and its scipt commands.

I must mention that I have never done anything like this, so do not take any irremediable action on any of my suggestions or ideas without more and better advice.

thorkelljarl 08-16-2011 12:03 PM

A bit more...

The sixth question is about EFI. It is about EFI for a server but the method of updating EFI seems the same.

Try to hit the F2 key when the screen splash for your controller comes up. If things work like my old Promise controller card, the controller BIOS/EFI shows itself when the system BIOS finds and starts the controller. Otherwise try F2 during the system BIOS POST as seems to be suggested here in the update instructions. That is, for what they are, as Intel seems to goes to no expense to make things clear.


1. Unzip all of the files from the zip package onto USB key or CD, maintaining the directory structure.

2. Boot to the EFI shell
- Press 'F2' during POSt to enter BIOS Setup
- Select Boot Manager -> EFI Shell

3. Change drive and directory location to where you unzipped the package by typing the following commands:
fs0: <press Enter>
cd <SAS FW directory name>

Note: You can always get a list of files and sub-directories in the current directory by typing 'dir' command.
Instead of 'fs0: you may need to type 'fs1:' or 'fs2:', etc. depending on your drive configuration and removable media type.

nicolasdiogo 08-16-2011 12:42 PM


but it since my motherboard does not support EFI - i have to find a way to boot into a EFI runtime environment

which is why i am asking for a method to create an USB stick with all the EFI files (EDK?!)

does it clarify my problem?

as i say my motherboard has no F2 functionality.


thorkelljarl 08-16-2011 01:28 PM

Not exactly...

Your motherboard does not use EFI, but the controller that is giving you a problem does. Have you tried pressing F2 during the various stages of the motherboard's booting process? According to what I could find, you it should be able to open EFI from your BIOS, that is if it can be opened at all.

What is the make and model of the motherboard that you have and exactly which Intel controller do you have? Is the controller on the board or is it on a card? If a card, is it Intel and what model?

If the controller is built into the motherboard, I don't know of any way to access its EFI except as I outlined.

However, you might get into EFI and the settings you need by starting the flashing procedure for EFI, either re-flashing V.17 or updating to V.20. You could start the process and see what turn up. You should be safe enough if you are careful and abort before you flash. Consider the content of the Readmes for the two update versions. You have to get the USB with the files to flash to boot.

Posting back with more information makes it easier to give you a better answer.

nicolasdiogo 08-17-2011 04:38 AM

the RAID card is an Intel SASUC8I

during boot the RAID card performs a diagnostic and i can access it but it does not offer any option for upgrade.
when reading the documentation - it says that i has to be done through a EFI shell.

now my motherboard is an ancient - ga-m57sli-s4

i know that this mb does not have EFI booting - which is why i am looking for some usb/CD to use instead.

i have been using this system as a virtualisation host with debian for a few years now - proxmox

but recently it has started to give me high latency when guests running databases do loads of IO.

that is why i am looking to upgrade the RAID card firmware.

thorkelljarl 08-17-2011 07:10 AM

Did you...

Have you made a suitable USB flash drive with V20 of the firmware following the directions in the V20 Readme? Have you had the USB plugged in while you pressed the F2 key at various times during the Post process? If not, try that.

You say that you can access the RAID card. How, F2? Does it open an EFI "BIOS" interface? In general, is there nothing that you can fool around with, open, press, Enter, whatever, that gives you something more?

All and everything I can find on the Internet only mentions F2 to get into the firmware. Here, again from the V20 Readme.


1. Unzip all of the files from the zip package onto USB key, maintaining the directory structure. Please make sure that the USB key is fully compatible with the EFI version on your motherboard. Some incompatible versions may prevent USB key working normally.

2. Boot to the EFI shell
- Press 'F2' during POSt to enter BIOS Setup
- Select Boot Manager -> EFI Shell

3. Change drive and directory location to where you unzipped the package by typing the following commands:
fs0: <press Enter>
cd <SAS FW directory name>
I keep hoping that someone who has one of these RAID cards and has done an EFI firmware update will join in with the right information.

nicolasdiogo 08-24-2011 06:29 AM


i have bought a new motherboard that *seems* to support EFI - from ASRock.

at the moment their support team is translating their own documentation that comes on the CD from chinese to english.

but i now have an option when hitting F2, and it offers to load an 'EFI shell'.


All times are GMT -5. The time now is 06:53 PM.