@Cloppy007
Have you ever tried to open your extracted DELL BIOS by using andyp’s Phoenixtool (look >here<)?
@Fernando yes. It does create a DUMP folder with some 29 files most of which are logos, optional roms, vga bioses and such. But the tool itself gives what seems like a warning/error message:
And it does not seem to work as expected:
I also tried with the m1340 bios from Dell but it does not work, which is weird since I was almost sure that this one worked.
I’ll test with the latest phoenixtool version and see if that makes any difference.
Thanks a lot both of you for replying!
EDIT: version 2.73 made no difference. I’ve tried running cbrom on all the files in the dump folder and only once of them didn’t result in the program hanging:
..\CBROM.EXE 05_6.ROM /d
..\CBROM.EXE V1.98 [08/27/08] (C)Phoenix Technologies 2001-2008
******** 05_6.ROM BIOS component ********
No. Item-Name Original-Size Compressed-Size Original-File-Name
========================================10000h(64.00K)========================== 0. System BIOS 0009Bh(0.15K)
Total compress code space = 0D8F7h(192.00K)
Total compressed code size = 10000h(64.00K)
Remain compress code space = FFFFD8F7h(4194294.25K)
** Micro Code Information **
Update ID CPUID | Update ID CPUID | Update ID CPUID | Update ID CPUID
------------------+--------------------+--------------------+-------------------
I did not expect this to work on any file given than some of them are just bitmaps, other are oproms and vga bioses and then there should be some other bios modules.
As for Phoenixtool, it clearly recognises the bios’s structure. But I can’t use it to insert (or replace) a PCI option ROM. I could try to replace an existent option rom (provided that I can properly compress and pad it) but then I’d have to compute the new checksum and update the bios file with it, and I don’t have enough information right now to do that.
@Fernando don’t you think it’s weird that Phoenixtool can more or less read this bios and cbrom and others cannot?
Well, I finally got it working.
First of all, I’d like to thanks andyp for this Phoenix Tool. It has been the only one (that I’ve tried) to understand this BIOS structure. These didn’t:
- No version of CBROM or modbin (as they seem to be meant for AWARD BIOSes)
- Phoenix Bios Editor v2.0.18E or 2.2.1.3
- phnxdeco as found on Endeer.cz
As for reading or writing the BIOS, I can confirm that flashrom works really well. So does the CH341 programmer using IMSProg (both under linux).
Regarding the BIOS structure, there are 4 option roms + an extra one:
- Intel (GMA) video BIOS
- GeForce Go 7400 vBIOS
- Broadcom 440 PXE boot
- Intel UNDI PXE boot extension
- CompuTrace V80.845
At first I tried replacing the Intel BIOS (as my unit has the GeForce Go) but the option rom is not loaded at all. I used both eierhals’ VMWare code and Manawyrm’s optiom ROM (which is larger and didn’t work for me in the past).
Replacing the Broadcom optiom ROM surely works but (obviously) you have to force booting into PXE.
As for the Intel ROM, it is chainloaded by Broadcom’s ROM. Effectively this means that by replacing the Broadcom ROM I have no working integrated PXE boot. I can always use a iPXE USB or CD.
So what about CompuTrace? Well, that option can’t be enabled in the BIOS. It seems like that option can only be enabled by the Windows software once you’ve paid for it. I wonder if that uses the small ATMEL flash that’s on the motherboard (1 or 4KB IIRC). So I don’t see any feasible way of replacing this option ROM by the nVME one and booting off it.
TL;DR:
- Build Manawyrm’s code. You’ll probably need Linux for that. Make sure to make the ROM for the broadcom card:
$ make -j 12 NO_WERROR=1 bin/14e4170c.rom
- In Windows, run PhoenixTool. Load the ROM (or exe), go to advance, check both No SLIC and Allow the editing of modules (or something alike) and I also enabled an option to fill with padding in case a module gets shrunk (as it’ll be the case).
- Go on. Once it tells you that it’s the time to replace the modules, go to the DUMP folder and replace 13_15.ROM by the 14e4170c.rom that you built earlier on.
- If you want to put the cherry on the top, you might as well modify the Dell URL that is displayed on POST (12_8.ROM) to add the nVME logo. You may also replace any text that references PXE boot to indicate that it’ll boot off nVME (01_1.ROM for the BIOS setup text, 03_4.ROM for the boot menu text).
I’ll post a couple of pictures later on, and the modified BIOS if @Fernando allows me to.
Hi
I recently accidentally switch my boot sequence to UEFI and now my Dell percision M4700 won,t show even dell logo and i can,t access bios and any boot option I tried to Reset setting of bios by removing CMOS cell but nothing removed all storage devices nothing happened what i had to do now I get bios files from dell support website but its in .exe format to recover bios via usb i need .hdr file what i had to do tell me plzz
Help will be highly appreciated
@Cloppy007
Thank you very much for your contribution regarding the usage of andyp’s Phoenixtool. Since your interesting Guide is far away from the topic of this thread and may be missed by the interested Forum visitors, I recommend to put your Guide into a separate thread of the “BIOS Modding Guides and Problems” Forum Category.
All publications and pictures regarding any BIOS modification are allowed as long as no Copyright rules are affected.
Please add the pictures to the initial post of your freshly started thread.
Thanks in advance!
Thanks, Fernando. I’ve just created the thread.