Open source apfs.efi loader based on reverse-engineered Apple's ApfsJumpStart driver. It chain loads the apfs.efi driver that is already embedded in the APFS container from this container.
- Loads apfs.efi from APFS container located on the block device.
- Apfs driver verbose logging suppressed.
- Version system: connects each apfs.efi to the device from which it was retrieved.
- Embedded signature verification of chainloaded apfs.efi driver, what prevents possible implant injection.
Reference driver to shim AMI APTIO proprietary mouse & keyboard protocols or Generic UEFI input protocols for File Vault 2 GUI input support. Generally modified UsbKbDxe works no worse on APTIO V, but for Z77, Z87, and similar AppleGenericInput may be the only solution.
Driver which implements set of protocol for support EfiLoginUi which used for FileVault as login window. In short, it implements FileVault support and replaces AppleKeyMapAggregator.efi, AppleEvent.efi, AppleUiTheme.efi, FirmwareVolume.efi, AppleImageCodec.efi. Also, it contains hash service fixes and unicode collation for some boards. These fixes removed from AptioMemoryFix in R23.
Open source tool for verifying Apple EFI binaries. It supports ApplePE and AppleFat binaries.
This driver provides the necessary compatibility improvements required for normal functioning of UEFI Runtime Services such as date, time, NVRAM variable storage, and others in macOS.
This driver, based on VBoxHfs from VirtualBox OSE project driver, implements HFS+ support with bless extensions. Commit history can be found in VBoxFsDxe repository. Note, that unlike other drivers, its source code is licensed under GPLv2.
Erases several NVRAM variables that may affect your boot.
Certain firmwares fail to properly initialize 0xE2 MSR register (MSR_BROADWELL_PKG_CST_CONFIG_CONTROL
) across all the cores. This application prints 0xE2 values of all the cores and reports 0xE2 status. The notable example of desyncrhonised 0xE2 MSR registers are several GIGABYTE UEFI firmwares for Intel 100 Series and Intel 200 Series chipsets.
CFG Lock option is available on most APTIO V firmwares, although it may be hidden from the GUI. If VerifyMsrE2 reports that your 0xE2 register is consistently locked, you may try to unlock this option directly.
- Download UEFITool and IFR-Extractor.
- Open your firmware image in UEFITool and find
CFG Lock
unicode string. If it is not present, your firmware does not support this and you should stop. - Extract the Setup.bin PE32 Image Section that UEFITool found via Extract Body.
- Run IFR-Extractor on the extracted file (e.g.
./ifrextract Setup.bin Setup.txt
). - Find
CFG Lock, VarStoreInfo (VarOffset/VarName):
inSetup.txt
and remember the offset right after it (e.g.0x123
). - Download and run a modified GRUB Shell, thx to brainsucker for the binary. A more up to date version may be found in grub-mod-setup_var repo.
- Enter
setup_var 0x123 0x00
command, where0x123
should be replaced by your actual offset and reboot.
WARNING: variable offsets are unique not only to each motherboard but even to its firmware version. Never ever try to use an offset without checking.
- Brad Conte for Sha256 implementation
- Chromium OS project for Rsa2048Sha256 signature verification implementation
- cugu for awesome research according APFS structure
- Download-Fritz for Apple EFI reverse-engineering
- nms42 for advancing VBoxHfs driver
- savvas
- VirtualBox OSE project for original VBoxHfs driver
- vit9696 for codereview and support in the development