How to extract contents of this Dell BIOS package?

Hi, can you please extract the .rom and .hdr for a Dell Inspiron 15R 5521. Bios file is 3521A16.exe.

Thanks!

i face one problem …i am installed pfs extrator in gitup but its not opening …how do to install pfs extrator

@Surya
platomav/BIOSUtilities: Various BIOS Utilities for Modding/Research (github.com)

I have a friend’s XPS 15 9560 that I believe the BIOS corrupted.
But I can’t get the stupid bios image out of the .exe that Dell gives me
I tried PFSExtractor, which doesn’t work. Along with 7zip doesn’t work.
Are there other tools I can use or try to use? Anyone have any tips. Thanks in advance.

EDIT: Of course… else i wouldn’t be able to share the content.

1 Like

Did PFS Extractor work for you? I just want to know for if I get into a similar situation in the future
Thank you so much though. I appreciate you doing that for me.

https://www.dell.com/support/home/en-ae/product-support/product/dell-venue-11-pro-7000-7140/drivers
https://www.dell.com/support/home/en-ae/product-support/product/latitude-13-7350-laptop/drivers
Venue 7140 Pro and Latitude 7350 2-in-1
Error: Detected sub-PFS PFAT Entry Buffer & Last Offset Size mismatch!

Extracted Dell PFS 1 > 7140A07 > Firmware section

how to solve dell pfs extractor

Can someone kindly help me extract hdr and rom files from this? https://www.dell.com/support/home/en-bs/drivers/driversdetails?driverid=0y2cd&oscode=w764&productcode=xps-15-l521x

Trying to extract it using 7zip, all I see are some files with uefif extension and other files, help me revive my pc please :pray:

@sarry
isflash.bin => 0x01F4C0 to 0x81F4C0

EDIT:
To exclude misunderstandings: 0x01F4C0 to 0x81F4BF

Start
image

End:
image

1 Like

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?