Tuesday, 3 November 2009


I've been poking around with the Extensible Firmware Interface (EFI) and discovered that Tristan Gingold has kindly ported an EFI BIOS from the TianoCore project to QEMU.

The EFI tarball at the QEMU website contains an EFI BIOS image and a bootable linux image that uses the elilo boot loader. I simply grabbed the tarball, unpacked it and moved the EFI bios.bin to /usr/share/qemu/bios-efi.bin to make sure I don't get confused between BIOS filenames.

Then I booted using the EFI BIOS and EFI enabled linux disk image:

qemu qemu -bios bios-efi.bin -hda efi.disk

Here is the initial boot screen:

And here's the EFI command prompt:

So if you want to get to play with EFI, here's a great virtualized playground for one to experiment with. Kudos to TianoCore, Tristan Gingold and QEMU!


  1. This porting effort works in previous version of qemu ( as of now latest is 0.15.1 ) i.e. in 0.12.5 and probably before 0.14.0.
    Someone has found some patches over here

    btw great effort of writing this blog :-)

  2. sometimes it says can not find mapped devices on "cd fs0", even when it shows devices on "map -r", any idea why this happens ?
    I am not doing any typing mistaking.

  3. you need to do cd fs0: # note the colon