Korwin
Posts
-
Gigabyte G5 MD Advanced Menu unlock -
All CPU Microcodes Requests and Discussions goes hereThis section of the forum is intended for specific Requests for CPU Microcodes and Discussions on topic.
The topic is purely informational and closed to posting. -
Advanced menu unlock Acer Predator Helios 18 PH18-72This topic is dedicated to Acer Predator Helios 18 PH18-72 modification requests
-
Windows 7/Vista Server 2008 topics goes hereThis section of the forum is intended for specific Windows 7, Windows Vista/Server 2008 features, issues and drivers .
This topic is purely informational and closed to posting. -
Windows 11 discussions goes hereThis section of the forum is intended for specific Windows 11 features and issues.
This topic is purely informational and closed to posting. -
BIOS DOCTOR Forum RulesBIOS Doctor Forum Rules
Although the Administrators and Moderators of Bios-Doctor will attempt to keep all objectionable messages off this forum, it is impossible for us to review them all. All messages express the views of the author, and owners of Bios-Doctor will not be held responsible for the content of any message.
You warrant that you will not post any messages that are obscene, vulgar, sexually-oriented, hateful, threatening, or otherwise in violation of any laws or rules of the Forum.
The owners of have the right Bios-Doctor to remove, edit, move or close any thread or any post for any reason without notification.
Due to the real time nature of this Forum, it is impossible for all posts to be monitored and neither the Administrators nor the Moderators will be held accountable for any offensive or illegal post(s) made by the Forum's members.
-
Administrators can edit, delete, move, or close any posts they wish, with or without reason.
-
Administrators can remove Moderators access for not fulfilling duties, abusing position, or for any reason they see fit.
-
Administrators can ban any member on the board with or without reason.
-
Administrators can do anything on this board they wish. They can change rules at their own discretion without notification.
-
Moderators are allowed to edit, delete, move, or close any posts they wish for any reason. If you wish to question a decision, you should PM the Moderator in question and ask the reason.
-
Moderators can ban users on the Forum for violations of the rules within reason.
-
Any abuse to Administrators/Moderators can result in an immediate ban from the board.
8 ) Bios-Doctor is a Free Speech Forum, provided you do not use any foul language and don't engage in personal attacks.
-
All topics should be in the correct section of the board, and the allowed topics.
-
Flooding the board with posts is not allowed. Flooding is posting a large number of useless posts quickly. You should NEVER have two useless posts consecutively, one after the other, as you can edit your post to change any mistakes or add any comments.
-
SPAM is not allowed on the board in ANY FORM whatsoever. If spam is added on the Forum, then the post will be deleted. Spam can be considered as posting "Thank you" posts to gain status on the board, posting a link for money making purposes, advertisements of material you are trying to promote, or another site without prior approval, posting useless information, or other objectionable material as determined by Admin/Mods. Spamming can result in being banned from the board.
-
This board is a collection of sections which are dedicated to specific criteria and should NOT be considered a place to incite arguments or debates which are based on moral, political, philosophical, ethical, or cultural issues.
-
No member should flame another member (shouting, caps-lock, etc.).
-
No use of what is considered insulting, obscene language, swear words, etc. This may result in a warning or ban, from this Forum.
-
No racist, cultural or religious defamation, or any posts regarding anything to do with this issue is allowed.
-
Anything political in anyway will be closed or deleted unless determined to be pertinent by Admins/Mods.
-
English is the ONLY language allowed on the Forum. Therefore, basic command of English is advisable so that you can understand the rules and also communicate with staff.
If you post in a different language, the thread will be deleted. -
No pornography or unsuitable graphic imagery including links to such materials. Anything illegal regarding this issue will give grounds for an immediate ban by Admins/Mods.
19)Do not use comments that are racist, or offend others ethnic origin, cultural, religious defamation, or by any other means. Improper use of avatar and signature is not allowed. Also, no user name in email-id format (eg: [email protected]) is allowed.
-
Treat members as you would like to be treated, with courtesy and respect.
-
All members as well as Administrators and Moderators can have posts deleted.
-
ANY post which breaks ANY of the rules may be closed or deleted.
-
Don't ever argue with Moderators/Administrators. Regardless of your point of argument, Moderators/Administrators have the final say.
-
Signatures that are not visually appealing or have any meaning whatsoever will be removed.
-
Charges may be applicable for some Software and Services provided on this Forum (Bios-Doctor)
Remark:
We do not condone the sale of pirated software, or any other copyrighted/trademarked materials.The software developers need to be paid for their efforts. If you like their software, you should buy it. This is to allow the software developers to survive and that we will get to enjoy more innovative products.
-
-
Windows 8-10 discussions goes hereThis section of the forum is intended for specific Windows 8, Windows 10/Server 2012-2019 features, issues and drivers.
This topic is purely informational and closed to posting. -
TITLE Open Discussion: DOS, Windows 3.x, Windows 9x and Windows ME — Retro Systems, Compatibility & Real HardwareThis topic is an open discussion hub for classic DOS and early Windows operating systems:
MS-DOS, Windows 3.x, Windows 95/98, and Windows ME.The goal of this thread is to collect practical, real-world experience related to:
- Installing and configuring legacy operating systems
- Running classic software and games
- Hardware compatibility (ISA/PCI cards, chipsets, GPUs, sound cards)
- Storage solutions (IDE, SATA adapters, CF/SD mods)
- BIOS and firmware limitations on old and modern platforms
- Emulation vs real hardware (DOSBox, PCem, 86Box vs native systems)
This topic is intentionally open for replies.
If you have a quick question, an observation, or want to share a working setup, you can simply reply here.If your case requires long logs, multiple screenshots, or step-by-step troubleshooting,
please create a separate topic in this category and reference it here if needed.Recommended use cases for replying in this thread:
- “Does this hardware combination work with Windows 98 SE?”
- “Best sound card for pure DOS on late Socket 370 / Socket A?”
- “Issues booting DOS with modern SSD + adapter”
- “Real hardware vs emulation — pros and cons”
- “Tips for stable retro builds in 2025+”
This is a technical discussion space.
Please keep replies focused, factual, and based on hands-on experience where possible. -
BIOS Utilities from Plato Mavropulos (platomav)BIOSUtilities
Description
BIOSUtilities is a collection of various BIOS/UEFI-related utilities which aid in research and/or modding purposes.
Installation
BIOSUtilities is a Python 3 project at its core, but also relies on various external utilities and/or dependencies.
Python
First, you must make sure that a compatible Python version (i.e. 3.10.x - 3.13.x) is installed:
- Download the latest official Python 3.13.x installer
- During installation, make sure that the Optional Features "pip" and "py launcher" are both selected
- In the Advanced Options, make sure to "associate files with Python" and add to "environment variables"
- Once installation is complete, make sure you install all "Python Packages" and "External Dependencies"
Note: On Windows, avoid installing Python from the Microsoft Store and prefer the "installer" from the official website instead.
Requirements
There are two main types of requirements, depending on the utility: "Python Packages" and "External Executables / Scripts".
Python Packages
Python packages can be installed via Pypi (e.g. pip)
python -m pip install --upgrade -r requirements.txtor
python -m pip install pefile==2023.2.7 dissect.util==3.20External Executables / Scripts
External executables and/or scripts (e.g. TianoCompress.exe, big_script_tool.py, 7z.exe) are expected to be found via the "PATH" local environment variable, by default, which is configured differently depending on the operating system.
Setup "PATH" on Linux
or
sudo install "/path/to/downloaded/executable" /usr/local/binSetup "PATH" on Windows
Note: In the "Environment Variables" window, you can modify the "Path" variable under "User variables" instead of "System variables", contrary to what many guides suggest.
Setup "PATH" on MacOS
Alternatively, you can create a folder named "external" at the root of the "biosutilities" project (i.e. next to "common" directory) and place all external dependencies there.
- 7-Zip (i.e. 7z.exe for Windows or 7zz for macOS or 7zz, 7zzs for Linux)
- UEFIFind (i.e. UEFIFind.exe for Windows or UEFIFind for Linux/macOS)
- UEFIExtract (i.e. UEFIExtract.exe for Windows or UEFIExtract for Linux/macOS)
- TianoCompress (i.e. TianoCompress.exe for Windows or TianoCompress for Linux/macOS)
- ToshibaComExtractor (i.e. comextract.exe for Windows or comextract for Linux/macOS)
Note: On Linux, you need to compile "comextract" from sources as no pre-built binary exists.
Note: On Linux and macOS, you need to compile "TianoCompress" from sources as no pre-built binary exists.
Optionally, to decompile the Intel BIOS Guard Scripts (when applicable), you must have the following 3rd party python script at PATH or "external":
- BIOS Guard Script Tool (i.e. big_script_tool.py)
Note: On Windows, in the "Environment Variables" window, you need to add ".PY" to the PATHEX system variable, as it may not have been added when installing Python.
Compatibility
Unless explicitely noted, all utilities should work under Windows, Linux or macOS operating systems which have Python 3.10 - 3.13 support.
Usage
There are two different possible flows when using the BIOSUtilities project:
- Main (simple)
- Package (advanced)
You can use either one or the other, depending on your needs. Most end-users should probably choose the "Main" flow, which is very simple to use and automatically attempts to process one or more input files against all available utilities in one run. The "Package" flow is for those who are more familiar with python and/or need to use the project programmatically as a library/dependency.
Main
The "main" script provides a simple way to check and parse each of the user provided files against all utilities, in succession. It is ideal for quick drag & drop operations but lacks the finer control of the "Package" method.
- Download or clone the repository to a local directory
- Install the requirements ($PATH or "external" directory)
- Drag and drop one or more files to the "main.py" script
If you use Linux, macOS, or the Windows command prompt/terminal, you may also call "main.py" via arguments and options, as such:
usage: main.py [-h] [-e] [-o OUTPUT_DIR] [-u UTILITY] [paths ...] positional arguments: paths options: -h, --help show this help message and exit -e, --auto-exit do not pause on exit -o, --output-dir OUTPUT_DIR extraction directory -u, --utility UTILITY utility class namepython ./main.py "/path/to/input/file.bin" --output-dir "/path/to/output/folder"python ./main.py "/path/to/input/file.bin" -e -o "/path/to/output/folder" -u AmiUcpExtractIf no arguments/options are provided, the "main" script requests the input and output paths from the user. If no output path is provided, the utility will use the parent directory of the first input file or fallback to the runtime execution directory.
Enter input file or directory path: "C:\P5405CSA.303" Enter output directory path: "C:\P5405CSA.303_output"Package
Each utility is derived from a base "BIOSUtility" template and all utilities form the "biosutilities" python package, which can be installed from PyPi:
python -m pip install --upgrade biosutilities[pefile,lznt1]Installing the python package is the recommended way to call one or more utilities either via the CLI (main.py script) or programatically (python imports, utility arguments).
biosutilities --helpbiosutilities "/path/to/input/file.bin" -o "/path/to/output/folder/" -u PhoenixTdkExtract -efrom biosutilities.ami_pfat_extract import AmiPfatExtract ami_pfat_extractor = AmiPfatExtract(input_object='/path/to/input/file.bin', extract_path='/path/to/output/folder/') is_supported = ami_pfat_extractor.check_format() is_extracted = ami_pfat_extractor.parse_format()from biosutilities.dell_pfs_extract import DellPfsExtract with open('/path/to/input/file.bin', 'rb') as pfs_file: pfs_data = pfs_file.read() dell_pfs_extractor = DellPfsExtract(input_object=pfs_data, extract_path='/path/to/output/directory/', padding=8) is_supported = dell_pfs_extractor.check_format() is_extracted = dell_pfs_extractor.parse_format()Arguments
Each BIOSUtility expects the following required and optional arguments to check and/or parse a given file format:
input_object (required)
input_object: str | bytes | bytearray = b''extract_path (required)
extract_path: str = runtime_root()padding (optional)
padding: int = 0If the required arguments are not provided, placeholder values are set so that it is possible to use the BIOSUtility-inherited instance to access auxiliary public methods and class constants. However, checking and/or parsing of file formats will not yield results.
Methods
Once the BIOSUtility-inherited object is initialized with arguments, its two public methods can be called:
check_format
Check if input object is of specific supported format
is_supported: bool = check_format()parse_format
Process input object as a specific supported format
is_extracted: bool = parse_format()Utilities
- AMI BIOS Guard Extractor
- AMI UCP Update Extractor
- Apple EFI IM4P Splitter
- Apple EFI Image Identifier
- Apple EFI Package Extractor
- Apple EFI PBZX Extractor
- Award BIOS Module Extractor
- Dell PFS Update Extractor
- Fujitsu SFX BIOS Extractor
- Fujitsu UPC BIOS Extractor
- Insyde iFlash/iFdPacker Extractor
- Panasonic BIOS Package Extractor
- Phoenix TDK Packer Extractor
- Portwell EFI Update Extractor
- Toshiba BIOS COM Extractor
- VAIO Packaging Manager Extractor
AMI BIOS Guard Extractor
AmiPfatExtractDescription
Parses AMI BIOS Guard (a.k.a. PFAT, Platform Firmware Armoring Technology) images, extracts their SPI/BIOS/UEFI firmware components and optionally decompiles the Intel BIOS Guard Scripts. It supports all AMI PFAT revisions and formats, including those with Index Information tables or nested AMI PFAT structures. The output comprises only final firmware components which are directly usable by end users.
Note that the AMI PFAT structure may not have an explicit component order. AMI's BIOS Guard Firmware Update Tool (AFUBGT) updates components based on the user/OEM provided Parameters and Options or Index Information table, when applicable. Thus, merging all the components together does not usually yield a proper SPI/BIOS/UEFI image. The utility does generate such a merged file with the name "00 -- ALL" but it is up to the end user to determine its usefulness. Additionally, any custom OEM data, after the AMI PFAT structure of "n" components, is stored in the last file with the name "<n + 1> -- OOB" and it is once again up to the end user to determine its usefulness. In cases where the data of a component includes a nested AMI PFAT structure, the utility will process and extract it automatically as well.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- BIOS Guard Script Tool (optional)
AMI UCP Update Extractor
AmiUcpExtractDescription
Parses AMI UCP (Utility Configuration Program) Update executables, extracts their firmware components (e.g. SPI/BIOS/UEFI, EC, ME etc) and shows all relevant info. It supports all AMI UCP revisions and formats, including those with nested AMI PFAT, AMI UCP or Insyde iFlash/iFdPacker structures. The output comprises only final firmware components and utilities which are directly usable by end users.
Arguments
Additional optional arguments are provided for this utility:
- checksum -> bool : verify AMI UCP Checksums (slow)
Requirements
- 7-Zip (required)
- TianoCompress (required)
- BIOS Guard Script Tool (optional)
Apple EFI IM4P Splitter
AppleEfiIm4pSplitDescription
Parses Apple IM4P multi-EFI files and splits all detected EFI firmware into separate Intel SPI/BIOS images. The output comprises only final firmware components and utilities which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
No additional requirements are needed for this utility.
Apple EFI Image Identifier
AppleEfiIdentifyDescription
Parses Apple EFI images and identifies them based on Intel's official "IBIOSI" tag, which contains info such as Model, Version, Build, Date and Time. Additionally, the utility can provide both "IBIOSI" and "Apple ROM Version" structure info, when available, as well as a suggested EFI image filename, while also making sure to differentiate any EFI images with the same "IBIOSI" tag (e.g. Production, Pre-Production) by appending a checksum of their data.
Arguments
Additional optional arguments are provided for this utility:
- silent -> bool : suppress structure display
The utility exposes certain public class attributes, once parse_format() method has been successfully executed:
- efi_file_name -> str : Suggested image filename, based on Intel "IBIOSI" information
- intel_bios_info -> dict[str, str] : Information contained at Intel "IBIOSI" structure
- apple_rom_version -> dict[str, str] : Information contained at "Apple ROM Version" structure
Requirements
- UEFIFind (required)
- UEFIExtract (required)
Apple EFI Package Extractor
AppleEfiPkgExtractDescription
Parses Apple EFI PKG firmware packages (e.g. FirmwareUpdate.pkg, BridgeOSUpdateCustomer.pkg, InstallAssistant.pkg, iMacEFIUpdate.pkg, iMacFirmwareUpdate.tar), extracts their EFI images, splits those in IM4P format and identifies/renames the final Intel SPI/BIOS images accordingly. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
- UEFIFind (required)
- UEFIExtract (required)
Apple EFI PBZX Extractor
AppleEfiPbzxExtractDescription
Parses Apple EFI PBZX images, re-assembles their CPIO payload and extracts its firmware components (e.g. IM4P, EFI, Utilities, Scripts etc). It supports CPIO re-assembly from both Raw and XZ compressed PBZX Chunks. The output comprises only final firmware components and utilities which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
Award BIOS Module Extractor
AwardBiosExtractDescription
Parses Award BIOS images and extracts their modules (e.g. RAID, MEMINIT, _EN_CODE, awardext etc). It supports all Award BIOS image revisions and formats, including those which contain LZH compressed files. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
Dell PFS Update Extractor
DellPfsExtractDescription
Parses Dell PFS Update images and extracts their Firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and Utilities (e.g. Flasher etc) component sections. It supports all Dell PFS revisions and formats, including those which are originally LZMA compressed in ThinOS packages (PKG, RAW/LVFS), ZLIB compressed or Intel BIOS Guard (PFAT) protected. The output comprises only final firmware components which are directly usable by end users.
Arguments
Additional optional arguments are provided for this utility:
- advanced -> bool : extract signatures and metadata
- structure -> bool : show PFS structure information
Requirements
- BIOS Guard Script Tool (optional)
Fujitsu SFX BIOS Extractor
FujitsuSfxExtractDescription
Parses Fujitsu SFX BIOS images and extracts their obfuscated Microsoft CAB archived firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. WinPhlash, PHLASH.INI etc) components. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
Fujitsu UPC BIOS Extractor
FujitsuUpcExtractDescription
Parses Fujitsu UPC BIOS images and extracts their EFI compressed SPI/BIOS/UEFI firmware component. The output comprises only a final firmware component which is directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- TianoCompress (required)
Insyde iFlash/iFdPacker Extractor
InsydeIfdExtractDescription
Parses Insyde iFlash/iFdPacker Update images and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc) and utilities (e.g. InsydeFlash, H2OFFT, FlsHook, iscflash, platform.ini etc) components. It supports all Insyde iFlash/iFdPacker revisions and formats, including those which are 7-Zip SFX 7z compressed in raw, obfuscated or password-protected form. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
No additional requirements are needed for this utility.
Panasonic BIOS Package Extractor
PanasonicBiosExtractDescription
Parses Panasonic BIOS Package executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. winprom, configuration etc) components. It supports all Panasonic BIOS Package revisions and formats, including those which contain LZNT1 compressed files and/or AMI PFAT payloads. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
- pefile (required)
- dissect.util (required)
Phoenix TDK Packer Extractor
PhoenixTdkExtractDescription
Parses Phoenix Tools Development Kit (TDK) Packer executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. WinFlash etc) components. It supports all Phoenix TDK Packer revisions and formats, including those which contain LZMA compressed files. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- pefile (required)
Portwell EFI Update Extractor
PortwellEfiExtractDescription
Parses Portwell UEFI Unpacker EFI executables (usually named "Update.efi") and extracts their firmware (e.g. SPI, BIOS/UEFI, EC etc) and utilities (e.g. Flasher etc) components. It supports all known Portwell UEFI Unpacker revisions (v1.1, v1.2, v2.0) and formats (used, empty, null), including those which contain EFI compressed files. The output comprises only final firmware components and utilities which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- pefile (required)
- TianoCompress (required)
Toshiba BIOS COM Extractor
ToshibaComExtractDescription
Parses Toshiba BIOS COM images and extracts their raw or compressed SPI/BIOS/UEFI firmware component. This utility is effectively a python wrapper around ToshibaComExtractor by LongSoft. The output comprises only a final firmware component which is directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- ToshibaComExtractor (required)
VAIO Packaging Manager Extractor
VaioPackageExtractDescription
Parses VAIO Packaging Manager executables and extracts their firmware (e.g. SPI, BIOS/UEFI, EC, ME etc), utilities (e.g. WBFLASH etc) and driver (audio, video etc) components. If direct extraction fails, it attempts to unlock the executable in order to run at all non-VAIO systems and allow the user to choose the extraction location. It supports all VAIO Packaging Manager revisions and formats, including those which contain obfuscated Microsoft CAB archives or obfuscated unlock values. The output comprises only final firmware components which are directly usable by end users.
Arguments
No additional optional arguments are provided for this utility.
Requirements
- 7-Zip (required)
@[email protected]
-
Medion Erazer Defender P50 Advanced menu unlock