What are the advantages of EFI over BIOS?
Here's a table I made up, a few years back (June 2000), of the builtin EFI commands.
alias [-bdv] [sname] [value] | - Set/get alias settings |
attrib [-b] [+/- rhs] [file] | - View/sets file attributes |
bcfg -? | - Configures boot driver & load options |
cd [path] | - Updates the current directory |
cls [background color] | - Clear screen |
comp file1 file2 | - Compare two files |
cp file [file] ... [dest] | - Copy files/dirs |
date [mm/dd/yyyy] | - Get or set date |
dblk device [Lba] [Blocks] | - Hex dump of BlkIo Devices |
dh [-b] [-p prot_id] | [handle] | - Dump handle info |
dmpstore | - Dumps variable store |
echo [[-on | -off] | [text] | - Echo text to stdout or toggle script echo |
edit [file name] | - Edit a file |
endfor | - Script-only: Delimiter for loop construct |
endif | - Script-only: Delimiter for IF THEN construct |
err [level] | - Set or display error level |
exit | - exit |
for var in | - Script-only: Loop construct |
getmtc | - Get next monotonic count |
goto label | - Script-only: Jump to label location in script |
guid [-b] [sname] | - Dump known guid ids |
help [-b] [internal command] | - Displays this help |
if [not] condition then | - Script-only: IF THEN construct |
_load_defaults | - ??? |
load driver_name | - Loads a driver |
ls [-b] [dir] [dir] ... | - Obtain directory listing |
map [-bdvr] [sname[:]] [handle] | - Map shortname to device path |
mem [Address] [size] [;MMIO] | - Dump Memory or Memory Mapped IO |
memmap [-b] | - Dumps memory map |
mkdir dir [dir] ... | - Make directory |
mm Address [Width] [;Type] | - Memory Modify: Mem, MMIO, IO, PCI |
mode [col row] | - Set/get current text mode |
mount BlkDevice [sname[:]] | - Mount a filesytem on a block device |
mv sfile dfile | - Moves files |
pause | - Script-only: Prompt to quit or continue |
pci [bus dev] [func] | - Display PCI device(s) info |
reset [/warm] [reset string] | - Cold or Warm reset |
rm file/dir [file/dir] | - Remove file/directories |
set [-bdv] [sname] [value] | - Set/get environment variable |
setsize newsize fname | - sets the files size |
stall microseconds | - Delay for x microseconds |
time [hh:mm:ss] | - Get or set time |
touch [filename] | - View/sets file attributes |
type [-a] [-u] [-b] file | - Type file |
ver | - Displays version info |
vol fs [Volume Label] | - Set or display volume label |
To my mind, Apple did the right thing going out of the gate with EFI instead of BIOS.
This is one of those decisions that you only get to make once, and then live with it for decades. You have to get this one right, up front. EFI is a much more useful boot environment.
***************************************************
The Extensible Firmware Interface (EFI) is a new type of interface between a computer's firmware, hardware, and the operating system. Computers with the Intel Itanium family of processors use EFI to start and load Windows XP 64-bit Edition (Itanium) and the Itanium-based versions of Windows Server 2003. EFI serves the same purpose for Itanium-based computers as the BIOS found in x86-based computers, but has expanded capabilities that provide:
|
A consistent way to start any compatible operating system. |
|
An easy way to add EFI drivers for new bootable devices without the need to update the computer's firmware. |
With EFI, an Itanium-based computer can have hard disks with the GUID partition table (GPT) partitioning style and the master boot record (MBR) partitioning style. However, in order for EFI to start and load Windows XP 64-bit Edition (Itanium) or the Itanium-based versions of Windows Server 2003, the operating system must reside on a GPT disk. In a mixed GPT and MBR disk environment, MBR disks are used solely for data storage.