Open
Description
Hi,
I tried to extract the VBIOS from an Thinkpad P51.
I get the following output:
output will be stored in '/home/work/rom/VBiosFinder/tmp-vbiosfinder'
checking for ruby... yes
checking for innoextract... yes
checking for upx... yes
checking for 7z... yes
trying to extract ./n1uuj21w.exe
found innoextract archive
Extracting "version 1.46-1.09 (N1UET72W-N1UHT26W)" - setup data version 5.6.0
- "app/WINUPTP.EXE" - overwritten
- "app/WINUPTP.EXE"
- "app/406E3.PAT"
- "app/406E8.PAT"
- "app/506E3.PAT"
- "app/506E8.PAT"
- "app/806E9.PAT"
- "app/906E9.PAT"
- "app/BCP.evs"
- "app/BIOS_LOGO.TXT"
- "app/BootX64.efi"
- "app/chklogo.exe"
- "app/chklogo.exe.config"
- "app/Instruction JP - BIOS flash USB memory key.txt"
- "app/Instruction US - BIOS flash USB memory key.txt"
- "app/mkusbkey.bat"
- "app/SHELLFLASH.EFI"
- "app/WinFlash32.exe"
- "app/WinFlash32s.exe"
- "app/WinFlash64.exe"
- "app/WinFlash64s.exe"
- "app/wininfo.exe"
- "app/wininfo64.exe"
- "app/WINUPTP64.EXE"
- "app/32bit/tpnflhlp.sys"
- "app/64bit/tpnflhlp.sys"
- "app/N1UET72W/$0AN1U00.FL1"
- "app/N1UET72W/$0AN1U00.FL2"
Done.
trying to extract ./app/32bit/tpnflhlp.sys
trying to extract ./app/406E3.PAT
trying to extract ./app/406E8.PAT
trying to extract ./app/506E3.PAT
trying to extract ./app/506E8.PAT
trying to extract ./app/64bit/tpnflhlp.sys
trying to extract ./app/806E9.PAT
trying to extract ./app/906E9.PAT
trying to extract ./app/BCP.evs
trying to extract ./app/BIOS_LOGO.TXT
trying to extract ./app/BootX64.efi
trying to extract ./app/Instruction JP - BIOS flash USB memory key.txt
trying to extract ./app/Instruction US - BIOS flash USB memory key.txt
trying to extract ./app/N1UET72W/$0AN1U00.FL1
trying to extract ./app/N1UET72W/$0AN1U00.FL2
trying to extract ./app/SHELLFLASH.EFI
trying to extract ./app/WINUPTP.EXE
trying to extract ./app/WINUPTP64.EXE
trying to extract ./app/WinFlash32.exe
trying to extract ./app/WinFlash32s.exe
trying to extract ./app/WinFlash64.exe
trying to extract ./app/WinFlash64s.exe
trying to extract ./app/chklogo.exe
trying to extract ./app/chklogo.exe.config
trying to extract ./app/mkusbkey.bat
trying to extract ./app/wininfo.exe
trying to extract ./app/wininfo64.exe
extracting uefi data
trying to extract ./app/32bit/tpnflhlp.sys
trying to extract ./app/406E3.PAT
trying to extract ./app/406E8.PAT
trying to extract ./app/506E3.PAT
trying to extract ./app/506E8.PAT
trying to extract ./app/64bit/tpnflhlp.sys
trying to extract ./app/806E9.PAT
trying to extract ./app/906E9.PAT
trying to extract ./app/BCP.evs
trying to extract ./app/BIOS_LOGO.TXT
trying to extract ./app/BootX64.efi
trying to extract ./app/Instruction JP - BIOS flash USB memory key.txt
trying to extract ./app/Instruction US - BIOS flash USB memory key.txt
trying to extract ./app/N1UET72W/$0AN1U00.FL1
trying to extract ./app/N1UET72W/$0AN1U00.FL2
trying to extract ./app/SHELLFLASH.EFI
trying to extract ./app/WINUPTP.EXE
trying to extract ./app/WINUPTP64.EXE
trying to extract ./app/WinFlash32.exe
trying to extract ./app/WinFlash32s.exe
trying to extract ./app/WinFlash64.exe
trying to extract ./app/WinFlash64s.exe
trying to extract ./app/chklogo.exe
trying to extract ./app/chklogo.exe.config
trying to extract ./app/mkusbkey.bat
trying to extract ./app/wininfo.exe
trying to extract ./app/wininfo64.exe
trying to extract ./mkmf.log
trying to extract ./n1uuj21w.exe
filtering for modules...
got 0 modules
finding vbios
no candidates found :(
Cleaning up garbage
I got the file from here: https://download.lenovo.com/pccbbs/mobiles/n1uuj21w.exe
I tried it on an uptodate Debian buster.
Activity
coderobe commentedon Nov 13, 2018
Works for me. The update contains VBIOS data for the
8086:0406
,10de:13b6
, and10de:1436
video cards in theapp/N1UET72W/$0AN1U00.FL1
blob, correctly identified and stripped by UEFIExtract.Do you have UEFIExtract in your PATH or the
3rdparty
directory? That's required for most extractions - the README of VBiosFinder has more information regarding dependencies.brandsimon commentedon Nov 13, 2018
Thank you for the hint. I ran it in a VM via ssh.
Now I ran it in an X-Session and it is trying to open every file.
It says a lot: 'UEFI volumes not found', and two files open correctly, but I dont know, where I should extract them to with this tool.
coderobe commentedon Nov 13, 2018
Ran what in an X session? VBiosFinder does not require X, and you don't need to do any part of the extraction manually.
brandsimon commentedon Nov 13, 2018
Ah sorry, I made a mistake, now I copied the correct UEFIExtract (before I had UEFITool).
Still It does not find the VBIOS:
coderobe commentedon Nov 13, 2018
Ah, indeed - now that's a different issue - UEFITool new_engine HEAD appears to be broken or behave differently, the last known working commit of UEFITool is
616464ba2901880942cd8d8e5685b510db985719
.I'll have to bisect UEFITool and figure out why this is happening. In the mean time you can build UEFIExtract from the tree at that commit to work around this issue.
brandsimon commentedon Nov 13, 2018
Thank you very much. I have my files now :)
I used UEFIDump instead of UEFIExtract from that commit, because I was not able to build it
UEFIExtract" does not appear to contain CMakeLists.txt
stzokev commentedon Feb 5, 2019
@brandsimon Why do you need the vbios for P51, when it is soldered to the mobo? I always thought this tool is handy only for people meddling around with MXM based cards..
coderobe commentedon Feb 5, 2019
@stzokev the connector doesn't really matter, if your vbios is loaded from the firmware you'll have no luck extracting it from the card itself
stzokev commentedon Feb 9, 2019
@brandsimon @coderobe Linux is not my platform of choice, so I must be missing some simple step. Already followed instructions in README by the letter, but when I try to extract this exact bios (because I know it works, tested by you both) I get nowhere:
I can confirm UEFIExtact is added to PATH and also present in 3rdparty folder. I am using prebuild UEFIExtract binary for linux from here (https://github.com/LongSoft/UEFITool/releases/download/t20190120/UEFIExtract_NE_A54_linux_x86_64.zip)
Using Ubuntu subsystem on Windows 10. Appreciate any help!
stzokev commentedon Feb 10, 2019
I give up .. I re-cloned your repo, built UEFIExtract from the new_engine source and still no cigar. I even tried with the binary from
616464ba2901880942cd8d8e5685b510db985719
commit, which you say is working properly, but still a no-go. Shouldn't VBiosFinder throw an error if it can't find/use one of its dependencies? Cause clearly all it needs is there, but it would not work, which makes it look really unreliable - how is one to know when the tool is quirky and when there is simply no vbios image in the input?Please help!
coderobe commentedon Feb 10, 2019
@stzokev i have used vbiosfinder on several laptops running different operating systems and i really can't reproduce your issue. on your last output snippet it looks like innoextract is not working.
anyways, there's a rewrite of vbiosfinder on my to-do list - that one will hopefully be easier to use.
stzokev commentedon Feb 10, 2019
@coderobe But your dependency notifier checks and says its there. I also tried purging and installing it again, also copied it from /usr/bin to /3rparty .. nothing helped. So apparently your tool checks that it is there, but can't use it for some reason.