What's the difference between an OROM driver ("option-ROM") and a "regular" Windows-level driver?

I see a lot of chatter amidst the BIOS-modding community about OROM drivers (modules?) and Windows-mode drivers, specifically relating to Intel RAID driver updates. It seems that it's important to update both the OROM driver and the Windows driver. I've never known about two sets of simultaneous drivers for a device.

What's the difference between them, and why are two drivers necessary? What would happen if one is significantly older than the other? (Purely hypothetical for understanding -- I'm not troubleshooting)


A windows driver runs as part of the Windows kernel and manages the hardware, and provides a higher level API for programs to use it. An OROM is a 16 bit BIOS extension built into the card. The BIOS runs it during boot and it typically installs hooks for BIOS calls, and may provide a configuration screen you can enter at boot time. The primary purpose is to allow the boot process to use the device. Once Windows is running, the BIOS is no longer used.

  • Interesting, thanks. So why all the worry from people about updating their BIOS' OROMs (and concurrently with driver updates)? Does an OROM version have any bearing on Windows' interaction with the drive/device? – Coldblackice May 25 '13 at 0:24
  • @Coldblackice, no idea without any context. The only time I've ever seen anyone talk about upgrading one is to get a video card to support EFI. I described a traditional OROM, but these days they can also contain an EFI driver, which apparently Windows 8 requires for some fast boot option. This allows the EFI to initialize the display in the proper resolution right off the bat so the Windows driver doesn't have to reinitialize it and change the mode. – psusi May 25 '13 at 0:57

An OROM driver is stored in the devices firmware. this means that it cannot be easily updated in the same way that a software device driver can, and an update has to be created by an individual with a deep understanding of the hardwares function, whereas many software drivers are written to more abstract interfaces. Firmware updates are also a little dangerous, and have lead to the bricking of many a device. just like flashing a BIOS (in fact the bios itself is OROM software). http://en.wikipedia.org/wiki/Option_ROM

The windows kernel establishes interfaces between system drivers and their hardware. sometimes however, a device needs driver interaction in a way that the interface will not support. In those cases, the windows driver calls the firmware driver, to perform a more advanced operation that the interface does not provide.

Firmware drivers may also allow differant devices that function in widely different ways to use the same driver interface, allowing a generic driver to perform all the implementation-specific functions the device provides.

  • Firmware is not called; it actually runs inside the hardware in question. – psusi May 22 '13 at 19:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.