How to extract contents of this Dell BIOS package?

Thanks, I got the bios from the address you specified, how about extracting UUID, SERIAL, MAC address informations from the corrupted bios backup and merge it with new bios?

Attach your dump of the bricked firmware.

backup_bios.zip (3.5 MB)

You may either replace the last EFI volume of the bios region of your backup (starting 0x740000) with the last Efi volume of Dell bios 18 (the last EFI volume didn’t get updated from 17 to 18) or use a stock bios 18. I can’t find machine specific information, only place different to stock is NVRAM.

1 Like

I succeeded, everything works great now :smiling_face:

@plutomaniac Tried latest Dell PFS Update Extractor v6.0_a16

It works as expected for most images, but for many of the older updates for a Latitude 3420 it gives an error message, for example Latitude_3420_Latitude_3520_1.25.1.exe (Download page).

Latest version of this series is working again (Latitude_3420_Latitude_3520_1.33.0.exe), so not completely clear why this is happening.

Compiled v6 myself but downloaded precompiled version 5.1 if I remember correctly.

Dell PFS Update Extractor v6.0_a16 error message

Dell PFS Update Extractor v6.0_a16

*** Latitude_3420_Latitude_3520_1.25.1.exe

Extracting Dell PFS 1 > Latitude_3420_Latitude_3520_1.25.1 > Utilities

Extracting Dell PFS 1 > Latitude_3420_Latitude_3520_1.25.1 > Firmware

    Extracting Dell PFS 2 > Latitude_3420_Latitude_3520_TGL_1.25.1_CY v0.1.1 > Firmware

Error: Utility crashed, please report the following:

Traceback (most recent call last):
File “Dell_PFS_Extract.py”, line 1067, in
utility.run_utility()
File “common\templates.py”, line 93, in run_utility
File “Dell_PFS_Extract.py”, line 250, in pfs_pkg_parse
pfs_section_parse(pfs_buffer, zlib_offset, pfs_path, pfs_name, pfs_index, 1, False, padding, structure, advanced)
File “Dell_PFS_Extract.py”, line 396, in pfs_section_parse
pfs_extract(section_data, pfs_index, pfs_name, pfs_count, section_path, padding, structure, advanced)
File “Dell_PFS_Extract.py”, line 626, in pfs_extract
pfs_section_parse(entry_data, offset, sub_pfs_path, sub_pfs_name, pfs_count, pfs_count, True, padding + 4, structure, advanced)
File “Dell_PFS_Extract.py”, line 396, in pfs_section_parse
pfs_extract(section_data, pfs_index, pfs_name, pfs_count, section_path, padding, structure, advanced)
File “Dell_PFS_Extract.py”, line 695, in pfs_extract
pfs_file_write(file[0], file[1], file_type, full_name, extract_path, padding, structure, advanced)
File “Dell_PFS_Extract.py”, line 1009, in pfs_file_write
with open(final_path, write_mode) as pfs_out:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘D:\Users\LF\Downloads\UBU_v1_77\Latitude_3420_Latitude_3520_1.25.1.exe_extracted\Firmware\2 Latitude_3420_Latitude_3520_TGL_1.25.1_CY v0.1.1\Firmware\2 Latitude_3420_Latitude_3520_TGL_1.25.1_CY v0.1.1 – 2 Intel Management Engine Consumer Firmware Update v15.0.41.2158.bin’

Press enter to exit

Dell PFS Update Extractor v5.1 error message

Dell PFS Update Extractor v5.1

*** Latitude_3420_Latitude_3520_1.25.1.exe

Extracted Dell PFS 1 > Latitude_3420_Latitude_3520_1.25.1 > Utilities section!

Error: Dell PFS Update Extractor v5.1 crashed, please report the following:

Traceback (most recent call last):
File “Dell_PFS_Extract.py”, line 1245, in
File “Dell_PFS_Extract.py”, line 407, in main
# Validate that a PFS Header was parsed
File “Dell_PFS_Extract.py”, line 513, in pfs_section_parse
entry_metadata = entries_all[index][6] # Use Metadata as PFS Information Entry
File “Dell_PFS_Extract.py”, line 732, in pfs_extract
entry_data_sig_end = entry_data_sig_start + pfs_entry.DataSigSize
File “Dell_PFS_Extract.py”, line 513, in pfs_section_parse
entry_metadata = entries_all[index][6] # Use Metadata as PFS Information Entry
File “Dell_PFS_Extract.py”, line 790, in pfs_extract
pfat_entry_idx_ord = get_ordinal(pfat_entry_index)
File “Dell_PFS_Extract.py”, line 1055, in pfs_file_write
PFS_FOOT_LEN = ctypes.sizeof(DellPfsFooter)
FileNotFoundError: [Errno 2] No such file or directory: ‘D:\Users\LF\Downloads\UBU_v1_77\Latitude_3420_Latitude_3520_1.25.1.exe_extracted\Firmware\2 Latitude_3420_Latitude_3520_TGL_1.25.1_CY v0.1.1\Firmware\2 Latitude_3420_Latitude_3520_TGL_1.25.1_CY v0.1.1 – 2 Intel Management Engine Consumer Firmware Update v15.0.41.2158.bin’

Dell PFS BIOS Extractor v4.9 works but no folders

Dell PFS BIOS Extractor v4.9

*** Latitude_3420_Latitude_3520_1.25.1.exe

Extracted Dell PFS BIOS image!

Done!

@lfb6
I cannot replicate this crash using the last public version (v6.0_a16), running python natively. If files “cannot be found”, it is something on your end. Maybe some program is blocking access (e.g. temporarily) or the location of the script (and its output directories/files) are longer than the default Windows MAX_PATH prior to Windows 11 (~256 characters).

FYI: I have disabled the @ tags for me, I saw this coincidentally.

Thanks for double- checking!

You’re right, if the first directoy level has more than a few signs this this error occurs on Windows 10 but not Windows 11.

I wasn’t aware of the changed MAX_PATH for Windows 11 otherwise I would have checked before writing. But looking at the error message I could’ve known, too, the path mentioned is 273 characters!

Thanks for your work!

Yes, no worries, I had experienced the same issue in the past as well with UEFIExtract, so I thought it might be the same. :wink:

A post was split to a new topic: DELL OptiPlex 5040 stuck in bios recovery

I followed your instructions, but it didn’t work on the Dell Latitude 5550 laptop with a 13th gen CPU. Can you provide guidance to help me?"
In this case, what parts do I need to replace?


This user is no longer an active forum member [RETIRED]
And that example was a XPS bios, model from 2017…
What are you trying to achieve here? PSFextractor will work on this bios releases

thank you somuch. i will. check it!

Good morning dears. A pleasure to meet those masterminds.

I am contacting you to solve an issue that I have been working on with perseverance and dedication for a month, and it is a DELL .EXE to .HDR decompression that I managed to edit and add a GPU that I bought.
Can I extract the .HDR file into files “Extracted/Intel/(cpu206A0_plat12_ver00000029_2009-11-02_PRD_D6930586.bin
cpu206A1_plat12_ver00000007_2009-12-23_PRD_8F1081F2.bin
cpu206A2_plat12_ver00000027_2010-05-02_PRD_EB510B0E.bin
cpu206A3_plat12_ver00000008_2010-05-26_PRD_D42FD75E.bin
cpu206A4_plat12_ver00000022_2010-04-14_PRD_8A6F7F91.bin
cpu206A5_plat12_ver00000007_2010-07-22_PRD_20B7FDE6.bin
cpu206A6_plat12_ver00000028_2010-09-15_PRD_2B9BECC8.bin
cpu206A7_plat12_ver00000028_2012-04-24_PRD_F3E9935D.bin)
section_0_A.10.data
section_0_A.10.meta
section_0_A.10.mtsg
section_0_A.10.sign
section_1_2120.1F.17.data
section_1_2120.1F.17.sign
section_2_2120.1F.17.data
section_2_2120.1F.17.sign
section_3_2120.1F.17.data
section_3_2120.1F.17.sign
section_4_7.1.70.1198.data
section_4_7.1.70.1198.sign
section_5_0.0.0.1.data
section_6_1.0.0.0.data
section_7_1.0.0.0.data” with PFSExtractor, I also obtained the GPU IDs and even from experience I have managed to learn that only versions 4.5 of aptio can read the .HDR file and that the file can only be executed in .BAT or .EXE according to the DELL manual (I’m not aware if it is possible in other formats). Yes, I have come very far but how do I add the GPU ID which would be “67df Ellesmere [Radeon RX 470/480/570/570X/580/580X /590]
1002 0b37 Radeon RX 480
1028 1722 Radeon RX 570X
1028 1723 Radeon RX 580X
103c 840e Radeon RX 580 4GB
1043 04a8 Radeon RX 480
1043 04b0 Radeon RX 470
1043 04fb Radeon RX 480
1043 04fd Radeon RX 480 8GB
1043 056a Radeon RX 590
106b 0161 Radeon Pro 580
106b 0162 Radeon Pro 575
106b 0163 Radeon Pro 570
1458 22f0 Radeon RX 570
1458 22f7 Radeon RX 570 Gaming 4G
1462 3411 Radeon RX 470
1462 3413 Radeon RX 480 Gaming X 8GB
1462 3416 Radeon RX 570
1462 3418 Radeon RX 580 ARMOR 8G OC
1462 341b Radeon RX 570 Armor 8G OC
1462 341e Radeon RX 570 Armor 4G OC
1462 809e Radeon RX 480 4GB
1462 8a92 Radeon RX 580
148c 2372 Radeon RX 480 [Red Dragon]
148c 2373 Radeon RX 470
148c 2377 Red Devil RX 580 8G Golden
148c 2378 Radeon RX 580
148c 2379 Radeon RX 570 4G [Red Dragon]
148c 2391 Radeon RX 590 [Red Devil]
1682 9470 Radeon RX 470
1682 9480 Radeon RX 480
1682 9587 Radeon RX 590 FATBOY 8GB
1682 9588 Radeon RX 580 XTR
1682 c570 Radeon RX 570
1682 c580 Radeon RX 580
174b e347 Radeon RX 470/480
174b e349 Radeon RX 470
1787 a470 Radeon RX 470
1787 a480 Radeon RX 480
1849 5001 Phantom Gaming X RX 580 OC
1849 5030 Phantom Gaming D Radeon RX580 8G OC
1da2 e343 Radeon RX 570 Pulse ITX 4GB
1da2 e353 Radeon RX 570 Pulse 4GB
1da2 e366 Nitro+ Radeon RX 570/580/590
1da2 e387 Radeon RX 580 Pulse 4GB” or to be more exact, how can I make my Sapphire Puse RX 580 2048SP GPU handle it? Would it be for my BIOS chipset Intel H61 Express Chipset “Intel H61 Express Chipset
Non-volatile memory on chipset
BIOS Configuration SPI (Serial Peripheral Interface) 32Mbit (4MB) located at SPI_FLASH on chipset
NIC EEPROM LOM configuration contained within SPI_FLASH – no dedicated
LOM EEPROM” and how do I compress the file to .EXE or .BAT or is it executed with .HDR? which belongs to the Dell 390 Optiplex SSF model. If you need more information, I remain at your immediate disposal and I thank you in advance and wish you success. and blessings.

@Chambasaurio
Welcome to the Win-Raid Forum!
Since your request has not much to do with the thread where you posted it, I have moved it into this already existing thread about Dell BIOSes andd hope, that you will get a reply from a Dell expert.
Unfortunately I cannot help you myself (never had a Dell device).
Good luck!
Dieter (alias Fernando)

1 Like

Thank you so much! Good luck to you too!

n-tech dell bios extractor need this software

@kksaleem
Welcome to the Win-Raid Forum!

Which software is needed?

thanks for replay i got that software

Which one?