BIOS

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Category:Booting)
(add samples and identification section)
Line 9: Line 9:
  
 
[[UEFI]] firmware images usually contain an embedded [[Firmware File System]].
 
[[UEFI]] firmware images usually contain an embedded [[Firmware File System]].
 +
 +
== Identification ==
 +
ROM images start with bytes {{magic|0xaa 0x55}}.
 +
At offset 2 the initialization vector is stored.
 +
In many cases this is a 3 byte jump instruction starting with hexadecimal value <code>0xE9</code>.
 +
Images for cards with PCI interface contain a 4 byte signature <code>PCIR</code>.
 +
Images for cards which support plug and Play feature contain a 4 byte signature <code>$PnP</code>.
 +
 +
== Sample files ==
 +
* http://minuszerodegrees.net/rom/rom.htm - many older ROM images without Plug and Play.
 +
* https://www.xtideuniversalbios.org/ - BIOS for IDE ATA hard disks.
 +
* http://rayer.g6.cz/romos/romose.htm - <code>romos.bin</code> for loading FreeDOS.
 +
* https://www.qemu.org/ - Download QEMU and extract or install → *.bin - ROM examples for cards with PCI interface.
  
 
== Links ==
 
== Links ==
 +
* [[Wikipedia:Option ROM|Wikipedia article]]
 
* [http://www.coreboot.org/Bios_extract bios_extract]
 
* [http://www.coreboot.org/Bios_extract bios_extract]
 
* [http://bioshacking.blogspot.com/2012/02/bios-disassembly-ninjutsu-uncovered-1st.html BIOS Disassembly Ninjutsu Uncovered]
 
* [http://bioshacking.blogspot.com/2012/02/bios-disassembly-ninjutsu-uncovered-1st.html BIOS Disassembly Ninjutsu Uncovered]

Revision as of 00:40, 6 April 2022

File Format
Name BIOS
Ontology
Extension(s) .bin, .rom

BIOS (Basic Input Output System), is a ROM chip containing code (firmware) to control peripherals attached to a wikipedia:PC.

The x86 BIOS entry point is located at physical address 0xfffffff0 (usually corresponding to 16 bytes from the end of the BIOS image) and is executed in 16-bit real mode; it usually contains a jump instruction (either far or near). There are no other guarantees about BIOS image layout, although many vendors have developed in-house formats.

UEFI firmware images usually contain an embedded Firmware File System.

Identification

ROM images start with bytes 0xaa 0x55. At offset 2 the initialization vector is stored. In many cases this is a 3 byte jump instruction starting with hexadecimal value 0xE9. Images for cards with PCI interface contain a 4 byte signature PCIR. Images for cards which support plug and Play feature contain a 4 byte signature $PnP.

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox