This tool attempts to extract a VBIOS from a bios update
Laptops with NVIDIA Optimus graphics often have the dGPU VBIOS integrated in their system BIOS, this makes extracting the VBIOS a complicated process. Provided you have a BIOS Update for your laptop, this tool might be able to automagically extract all available VBIOS from it.
This version adds the ability to extract from HP Service Pack executable files. HP Service Packs contain embedded BIOS and VBIOS for HP laptops. Replacement graphics cards for HP laptops are usually shipped "bare" without any VBIOS installed.
- Ruby
- bundler (a ruby gem)
- UEFIExtract (note: UEFIExtract can be found in the branch
new_engine) - rom-parser
- p7zip (optional)
- innoextract (optional)
- upx (optional)
Some dependencies might not offer a package for your linux distribution (like UEFIDump and rom-parser). The binaries can be placed in ./3rdparty to avoid having to install them.
- Run
bundle install --path=vendor/bundleto install the required ruby modules (once) - Run
./vbiosfinder extract /path/to/bios_update.exeto attempt an extraction- NOTE: /path/to/bios_update.exe MUST be a fully qualified path. Do not use relative path names
- NOTE: /path/to/bios_update.exe can be an HP Service Pack exe file, e.g. /home/user/sp012345.exe
- A temporary working dir is created at
./tmp-vbiosfinderwhich can be removed inbetween runs - Extracted VBIOS roms will be placed in
./output
-
Lenovo y50-70
-
HP Service Packs
-
note: if your device isn't listed here, feel free to try this tool and report your results!
Q: There are no files in ./output after running the tool!
A: It's very possible that VBiosFinder can't extract your type of BIOS update right now. Feel free to open an issue with a link to your bios update and the program output you get!
- Add option to extract the bios of the running system (can we?)
Clean up temporary working dir after finishing updone- Test with more BIOS updates
This project, initially authored by Robin Broda, is licensed under the GNU Affero General Public License v3
A copy of the license is available in LICENSE.txt