Releases: dakanji/RefindPlus
Releases · dakanji/RefindPlus
v0.14.2.AA
- Attached a replacement package,
HotFix-01
, to address misc post release issues1. The fix is a rebuild without adding an SBAT section to the binary.
- Synced with Upstream v0.14.2
- Fixes Handling
Windows Recovery Tools
Volumes- Now filtered out from scanning for loaders via GUID
- Effectively results in an unending scan loop otherwise
- This bug was inherited from upstream code
- Fixes
ScanFirmwareDefined
Handling - Fixes Jpeg Image Handling
- Garbled images were output
- This bug was introduced in v0.14.1.AA (Commit 3ae51e9)
- This reversed the order of two parameters in
MyMemSet
as part of an upstream sync#define memset MyMemSet
to#define memset(b, c, v) MyMemSet(b, v, c)
inlibeg/nanojpeg.c
- These parameters had already been reversed elsewhere in v0.13.2.AG (Commit 2d8ab59)
- Ported from @joevt downstream: joevt@266fd8f
- The cumulative changes invalidated each other
- This reversed the order of two parameters in
- Fixes
UGA Graphics
Handling- RefindPlus crashed when run with UGA-based GPUs
- Improves
HelpIcon
Handling- The
os_uefi
icon is now cached on first use - Misc other icon caching related optimisations
- The
- Improves
.VolumeIcon
Handling- These can now be located under the same folder as a loader
- Such are preferred over any in the default (volume root) location
- Improves
Misc
Handling- Some entry types were mislabelled as
Linux
- Now recognises
Linux Unified Key Setup (LUKS)
encrypted volumes - Now limits
spoof_osx_version
to Apple firmware to match documentation - No longer attempts to clear the
opencore-version
variable when booting into Mac OS- This variable is actually only stored in a volatile state
- Addressed misc static analysis flags
- These affect some filesystem drivers; which are updated accordingly
- Some entry types were mislabelled as
- Amends
Tool
Handling- Largely aligned with the new approach introduced with
Upstream v0.14.2
- RefindPlus variation:
EFI/BOOT/tools
is scanned in addition toEFI/tools
by default- The
Memtest
tool is effectively handled theold
waymemtest
andmemtestXYZ
folders are scanned- Memtest fallback loader files (
Boot{arch}.efi
) are handled
- RefindPlus variation:
- Adds
tools
option touse_graphics_for
configuration token- These can now be set to load in
graphics screen mode
- Verbose screen output is disabled when set to use graphics
- NB: Some tools, such as some uEFI shell, may require
text screen mode
- These can now be set to load in
- Largely aligned with the new approach introduced with
- Amends
Ventoy
Handling- Instances are now automatically detected and processed
- Hence, specific handling is no longer user configurable
- The associated
handle_ventoy
configuration token is now removed and ignored if set
- Amends
HelpScan
Feature- The feature is now essentially included upstream as a core item
- Hence, specific handling is no longer user configurable
- The associated
decline_help_scan
configuration token is now removed and ignored if set
-
HotFix 01: 10 Oct 24 ↩
v0.14.1.AA
- Synced with Upstream v0.14.1
- Adds
SyncTrust
Feature- The boot
Chain of Trust
may be broken on booting with 3rd-party tools on T2/TPM chipped units - When this happens, the unit refuses to boot the selected item and may even become unresponsive
- This feature provides a workaround by triggering a trusted native reboot to the selected item
- This feature can be enabled by activating a new
sync_trust
configuration token
- The boot
- Adds
LegacySync
Feature- RefindPlus previously assumed all Macs were capable of legacy BIOS boot
- This was from code that went in upstream in 2012 when this was a reasonable working assumption
- However, Macs later became UEFI certified and the last Intel Macs appear to be UEFI Class 3+
- UEFI Class 3/3+ devices do not support legacy BIOS boot
- This feature attempts to categorise Macs and allow/disallow legacy BIOS boot accordingly
- This was from code that went in upstream in 2012 when this was a reasonable working assumption
- Enabled by default but can be disabled using a new
disable_legacy_sync
configuration token- Disabling might be needed if a Mac is mis-categorised and legacy BIOS boot wrongly prevented
- RefindPlus previously assumed all Macs were capable of legacy BIOS boot
- Adds
HelpSize
Feature- Provides option to force non-standard or otherwise unsupported screen resolutions
- This can help work around issues where pre-boot configuration screen are not displayed
- The issues are typically
EDID
related or the auto-selection of incorrect/incompatible resolutions - This aspect of the
HelpSize
feature requires booting into systems that fully support the graphics
- An
ExDPI
category for screens with resolutions of6400 x 4000
or more was created- UI elements are scaled up by four (4) on such screens when UI element scaling is active
- UI elements on other
HiDPI
screens are still scaled up by two (2) with UI scaling active
- Enabled by default but can be disabled using a new
decline_help_size
configuration token- The new token sets RefindPlus to only apply up to 2x UI element scaling
- Provides option to force non-standard or otherwise unsupported screen resolutions
- Fixes Legacy BIOS Boot on Certified UEFI Class 2 Macs
- Optimisations for speed had potentially disabled legacy BIOS boot on some Macs
- This bug was introduced in v0.13.3.AB (Commit 66dbed0)
- Fixes Potential Memory Conflict
- Fixes Display Resolution Handling
- User defined resolutions were not being properly handled
- Only the default,
max
, resolution was considered - This meant that instances with defined resolutions were not properly displayed
- Only the default,
- Separately, the selected resolution when seeking
max
was not always the actual maximum - Additionally, a
HelpSize
Feature, documented separately, was introduced
- User defined resolutions were not being properly handled
- Fixes
DirectBoot
Handling- Was not functional
- Fixes
HelpScan
Handling- Rationalises implementation
- Could be applied, when disabled, to some items that should be excluded
- Rationalises implementation
- Improves
SystemdVars
Handling- The
LoaderDevicePartUUID
UEFI Variable is written to vRAM and not nvRAM - See: https://sf.net/p/refind/discussion/general/thread/d8dad2c475/
- The
- Improves
GraphicsFor
Handling- Users can now set
none
under theuse_graphics_for
token to disable graphics mode boot - Users can now set
everything
to activate this for all boots- The previous option of setting
use_graphics_for
alone has also been fixed and remains
- The previous option of setting
- Users can now set
- Improves
HiddenTags
Handling- Shows volumes names along with GUID where only the GUID would have previously been shown
- Allows human friendly instance identification when viewing the
Restore Entries
screen
- Allows human friendly instance identification when viewing the
- Breaks backward compatibility with upstream when tags are hidden in RefindPlus
- Tags hidden upstream remain forward compatible with RefindPlus
- Fixes situation where some loaders in ESP locations were not hidden when selected on-screen (minus key)
- Was also the case when full paths were used in
dont_scan_files
- Was also the case when full paths were used in
- Shows volumes names along with GUID where only the GUID would have previously been shown
- Improves License Presentation
- Rationalises presentation to make clear it is on GPLv3/Later
- Improves
MemTest
Handling- Updated exclusion from loaders (Row 1 Items)
- Updated to handle
memtest+{ARCH}.efi
andmemtest86+{ARCH}.efi
files as per upstream
- Improves
ProtectNvram
Handling- Now also blocks the
CurrentPolicy
andCurrentActivePolicy
variables
- Now also blocks the
- Improves
SyncNVram
Handling- Now also clears the
opencore-version
variable, if present, when booting into macOS directly- This variable is effectively an
OpenCore Present
flag that is checked by the macOS kernel - This variable removal only applies when RefindPlus is NOT chain-loaded via OpenCore
- This variable removal also applies to macOS installers
- This variable is effectively an
- Separately, the implementation of the base feature was not functional on macOS boots and was fixed
- Now also clears the
- Improves
HelpIcon
Handling- The following
OS Icons
are now cached on first load and reused as required afterwards when this feature is active- List is "os_mac", "os_win", "os_win8", "os_linux", "os_legacy", "os_clover", "os_opencore", "os_unknown", and "dummy image"
- List is stored in
TableBuiltinIconOS
- Supplements the existing caching of items covered by
BuiltinIconTable
- The
BuiltinIconTable
item caching always happens with or without theHelpIcon
feature
- The
- The following
- Improves
CleanNvram
Handling- Now clears
CurrentPolicy
andCurrentActivePolicy
variables on Apple firmware
- Now clears
- Improves
Misc
Handling- Restructured config file into four (4) sections
- Completed LodePNG 20230410 update started in v0.14.0.AC
- Renames the
cd
item under thescanfor
config token ascdbios
- Provides clarity that this is a
BIOS
scan option - Maintains compatibility with existing settings including upstream
- Provides clarity that this is a
- The
TimeoutSeconds
item inREFIT_MENU_SCREEN
was changed toINTN
- Follow on from fix to
Timeout
item inREFIT_CONFIG
previously changed toINTN
- The original fix for
SilentBoot/DirectBoot
was incomplete (Commit 78d6138 in v0.13.2.AH)
- Follow on from fix to
- Applied misc micro optimisation for speed
- Restructured search pattern for config tokens
- Optimised
LoadDrivers
function
- Misc fixes for running in
TextOnly
mode - Adjusted
AppleFramebuffer
handling to eliminate unneeded cycles
- Renames Misc Configuration Tokens
disable_amfi
todisable_check_amfi
disable_compat_check
todisable_check_compat
v0.14.0.AC
- Adds
SyncNVram
Feature- Sets RefindPlus to always clear some nvRAM settings on certain boot types
- Currently applied to Bluetooth settings for macOS
- bluetoothInternalControllerinfo
- bluetoothActiveControllerInfo
- bluetoothExternalDongleFailed
- Currently applied to Bluetooth settings for macOS
- The feature can be enabled using a new
sync_nvram
configuration token
- Sets RefindPlus to always clear some nvRAM settings on certain boot types
- Adds
PersistBootArgs
Feature- Outputs of macOS boot argument related settings are now written to vRAM instead of to nvRAM
- This is to reduce wear and tear on the nvRAM storage chip
- Enabled by default but can be disabled using a new
persist_boot_args
configuration token
- Outputs of macOS boot argument related settings are now written to vRAM instead of to nvRAM
- Fixes
HelpIcon
Feature- The feature had been switched off by default instead of being switched on
- This bug was introduced in v0.14.0.AB (Commit 9dcd45a)
- Fixes
Legacy MBR
, includingLegacy Windows
, Handling- Negatively impacted by
Volume->RootDir
filtering in theDontScanVolumes
check consolidation - This bug was introduced in v0.14.0.AB (Commit a92b376)
- Negatively impacted by
- Improves Misc Handling
- Partially back-ported LodePNG updates
- Additional CSR scenarios are now recognised
- Updated misc function structures to improve speed
- Variable initialisation tweaks
- Memory handling tweaks to prefer stack over heap where possible
- MemLog resolution set to 1/10000 seconds (1/10 milliseconds)
- For timing accuracy when RefindPlus loads under a second
- Previous resolution was 1/1000 seconds (1 millisecond)
- Extend
ostype
Coverage in Manual Stanzas- Now includes
RefitVariant
,OpenCore
, andClover
- These are additional to the upstream original items
- Manual stanzas stay in Section 3 of the config file
- Now includes
- Improves Graphics Handling
- Improvements to handling
Appleframebuffer
- Improvements to handling
Graphics Pass Through
- Misc optimisation
- The
PassGopThrough
feature added in0.13.3.AD
is now user configurable- Enabled by default but can now be disabled using a new
disable_pass_gop_thru
configuration token
- Enabled by default but can now be disabled using a new
- Improvements to handling misc graphics items
- Amendments to
GOP Graphics
Handling- GOP is now provided/replaced on the
ConsoleOut
handle by default when required - Hence, the "Opt-In"
provide_console_gop
token is replaced by the "Opt-Out"disable_set_consolegop
- GOP is now provided/replaced on the
- Improvements to handling
- Improves
SetBootArgs
Handling- The
set_boot_args
configuration token can now take a-none
setting - This permits disabling previous settings in supplementary/theme config files
- The
- Improves Misc Linux Distro Handling
- Now better labelled
- Improves Icon File Scanning
- Optimises
VolumeIcon
andVolumeBadges
searches - These items are now only scanned for displayed volumes
- Improves loading speed by reducing disk I/O access
- Optimises
- Improves
macOS Installer
Handling- Now better identified and labelled
- Improves
RotateCSR
Handling- Now displays a confirmation input screen before execution
- The
NormaliseCSR
feature was always applied when rotating
- Amends
Non Standard
Binary HandlingApple 'Fat' Binary
now also assumed valid on UEFI-PC- Consistent with upstream implementation
'Plain' Binaries
are assumed valid on Apple firmware- Upstream considers such invalid on all firmware types
- Amends
HideUIFlags
Handling- Now aligned with behaviour of other configuration tokens
- Existing settings are now overridden by settings in supplementary/theme config files
- Settings in supplementary/theme config files were previously added to existing ones
- A new flag,
none
, was added- Allows reseting the token in supplementary/theme config files
- Takes priority over all other settings whenever present
- Now aligned with behaviour of other configuration tokens
- Amends
Ventoy
Handling- Specific
Ventoy
handling is now disabled unless enabled via a newhandle_ventoy
configuration token- This eliminates time on spent on unnecessary searches
- Also eliminates a default divergence from upstream
Whole Disk
volumes withLegacy Bootcode
were previously hidden wheneverVentoy
was present- This was to avoid spurious/unbootable instances appearing
- This however affected legitimate instances without a way to override the behaviour
- Now attempts to target this when
handle_ventoy
is set or lets them appear instead
- Users can hide unwanted instances if required
- This was to avoid spurious/unbootable instances appearing
- Specific
- Amends
SilenceAPFS
Feature- No longer separately user configurable and subsumed into the
SupplyAPFS
feature - The associated
disable_apfs_mute
configuration token is now removed and ignored if set
- No longer separately user configurable and subsumed into the
- Removes
HelpTags
Feature- The issue the feature was meant to fix does not actually exist
- The associated
decline_help_tags
configuration token is now removed and ignored if set
- Renames Configuration Token
decline_apple_fb
todisable_set_applefb
v0.14.0.AB
- Attached a replacement package,
HotFix-01
, to address misc post release issues1
- Adds
HelpScan
Feature- Ensures that some typically unwanted loaders are not displayed in the first row
- Enforces tools only appearing in the second row
- Always adds program default items for exclusion to user defined ones
- Enabled by default but can be disabled using a new
decline_help_scan
configuration token- The new token sets RefindPlus to follow the upstream implementation
- Ensures that some typically unwanted loaders are not displayed in the first row
- Fixes
MemTest Tool
- The MemTest fallback loader file was not recognised as a MemTest loader
- Hence MemTest could only be run via explicit
MemTest
efi files - This bug was introduced in v0.12.0.AN (Commit 44b53e8)
- Improves
Ventoy
Handling- Removes multiple redundant/invalid loader options that otherwise appear
- Displays an
os_ventoy
icon if present
- Improves
ScaleUI
Handling- Eliminates extra UI scaling that may happen on main screen rescans
- Improves
SyncAPFS
Handling- Handles synced multi instance APFS container volumes in
DontScanVolumes
list - Stores APFS Roles in volume object instead of retrieving such each time
- Handles synced multi instance APFS container volumes in
- Improves Misc
External Screen
Tool Handling- Some tools that run external screens, such as
GDisk
, may change volume device paths - Hence, on return, RefindPlus did not operate as it should
- Previously fixed but re-emerged and now addressed again
- Some tools that run external screens, such as
- Improves Linux Param File Handling
- A memory conflict meant the files were not always read
- Improves Filesystem Driver Handling
- Resolves failure to install on some handles
- Improves GPT Handling
- Applies misc minor tweaks
- Improves Comma Delimited Strings Handling
- Now accommodates leading spaces before string elements
- Improves Loader Icon Handling
- Provides generic
Linux
fallback for some distros - Prevents fallback loaders with invalid architectures from being displayed
- Provides generic
- Improves
AlsoScan
Feature Handling- The
@root/boot
path was removed from the defaultalso_scan_dirs
list - Added in v0.13.3.AD but users should be able to add this if required
- The
- Renames Misc Configuration Tokens
decline_nvram_protect
todisable_nvram_protect
decline_reload_gop
todisable_reload_gop
decline_apfs_load
todisable_apfs_load
decline_apfs_mute
todisable_apfs_mute
decline_apfs_sync
todisable_apfs_sync
decline_apple_fb
todisable_provide_fb
-
HotFix 01: 01 Nov 23 ↩
v0.14.0.AA
- Attached a replacement package,
HotFix-01
, to address misc post release issues1
- Synced with Upstream v0.14.0
- Updates Deprecated EFI 1.x Protocols
- Misc deprecated protocols aligned with UEFI 2.x specs
- Some are related to filesystem drivers; for which updated versions are created accordingly
- Adds
HelpIcon
Feature- Improves loading speed by preferring the current theme's generic/default loader icons
- Enabled by default but can be disabled using a new
decline_help_icon
configuration token
- Adds
GZippedLoaders
Feature- Stub implementation of upstream feature focused on the ARM architecture
- Adds Misc Upstream Changes/Fixes
- Adoption of the RefindPlus
FollowSymlinks
Feature also_scan_dirs
Volume Specification Bugfix- Malformed
refind_linux.conf
Freeze Bugfix - Parallel FS Driver GNU-EFI Build Limitation
- Memory leak and garbled JPEG when compiled on some Linux distributions
- Apparent Memory Allocation Conflict
- Upstream
LinuxPrefixes
Feature
- Adoption of the RefindPlus
- Fixes
ReloadGOP
Feature- A regression had meant that the feature was not active
- This bug was introduced in v0.13.3.AD (Commit dc642c6)
- Improves
SupplyNVME
Feature- Further isolated from other code
- Improves
SupplyAPFS
Feature- Now run after device connection to ensure APFS availability
- This should also resolve availability with some third party flashed GPUs
- Improves
AcquireGOP
Feature- Now handles uncompressed OptionROMs
- None encountered to date but theoretically possible
- Improves
AlsoScan
Feature- The
@root/boot
path was added to the defaultalso_scan_dirs
list
- The
- Improves
DynamicCSR
Feature- Now also enables the
RotateCSR
tool if configured to be displayed- The tool was previously always disabled when DynamicCSR was active
- Now attempts up to three (3) rotations
- Some users have more than two (2) CSR settings
- Stops at the first match of the target setting or after the third attempt
- A screen message about
NormalisedCSR
was additionally suppressed
- Now also enables the
- Improves Generic Menu Handling
- Now provides a
Return to Main Menu
option on all such menus
- Now provides a
- Improves
OpenCore
Instance Handling- Now prevents loading OpenCore when RefindPlus is loaded via OpenCore
- That is, prevents loading OpenCore when it is already active
- Improves
NvramProtect
andNvramProtectEx
Features- Now disabled when RefindPlus is loaded via OpenCore
- Exposes
MitigatePrimedBuffer
Feature for User Configuration- Previously activated by default on all types of firmware
- A limited base implementation is always active on Non-Apple firmware
- Can now be extended on by activating a new
mitigate_primed_buffer
token - The feature does not operate on Apple firmware regardless of the token setting
- Amends Filesystem Drivers
- BTRFS: Adds support for
RAID1C34
profiles- Ported from Grub2 via https://sf.net/p/refind/code/merge-requests/48
- MISC: Tweaks driver name strings and other minor items
- BTRFS: Adds support for
- Amends
Big Selection Image
Size Filtering- The maximum Big Selection image size is increased to 512px from 320px
- The Small Selection image maximum is maintained at 256px
- Amends EFI File Validity Checks
- Apple
Fat
Binaries are now always assumed to be valid on Apple firmware - This similarly applies to binaries with missing PE32+ headers
- Apple
-
HotFix 01: 22 Jul 23 ↩
v0.13.3.AD
- Fixes Manual Stanza SubMenuEntries
- A memory conflict meant that including such entries resulted in RefindPlus hanging
- Fixes UGA Graphics
- Addresses issue of
UGA-Only
GPUs being always forced into TextOnly mode
- Addresses issue of
- Fixes Misc Alt Build Function Duplication Issues
- Addresses issues reported using the build process at https://github.com/xaionaro/edk2-builder-docker
- Updates
LodePNG
to Version 20221108 - Deduplicates
DebugLog
function and aligns calling convention
- Updates
- Addresses issues reported using the build process at https://github.com/xaionaro/edk2-builder-docker
- Fixes
Forced Default
Config Settings- Forced Defaults, typically based on firmware type, could be skipped under some circumstances
- This gap has now been closed
- Fixes Invalid
ShowTools
Entry Handling- Such invalid entries were previously only flagged and not actually handled
- These are now additionally skipped
- Improves
DefaultSelection
Feature- A substring match is now only attempted if an exact match fails
- Improves CSR Handling
- Multiple tweaks to improve handling CSR settings
- Removes Limitation of
DynamicCSR
Feature to Apple Firmware DynamicCSR
also now runs whenever RefindPlus is loaded and not just when specific loaders are started
- Improves
System Shutdown/Restart
Handling- Now displays a confirmation input screen before execution
- Improves Misc Graphics Handling
- Improves graphics related memory management
- Improves UGA support via new
PassGopThrough
feature (Not user configurable)
- Amends
Selection Image
Size Filtering- The maximum Big Selection image size is increased to 320px from 256px
- The Small Selection image maximum is maintained at 256px
- The default selection image is now used when a defined image cannot be found
- Previously used a scaled version of the small image when the big one was missing
- Amends
Invalid UEFI Versions
Handling- Now accounts for such by reducing the amendment threshold to UEFI 2.0
- Still amends to UEFI 2.3 when UEFI amendments happen
- No longer amends Runtime Services for UEFI amendments
- No longer disables certain features on detecting inconsistent versions
- No longer displays a warning message and the discrepancy is only logged
- Fixes Memory Conflict in 'Invalid EFI Versions' Debug Logging
- The DBG build had an invalid memory allocation instance that results in a hang when logging detection
- Amends and Refactors Misc Items
- General optimisation
- Memory management improvements and fixes
- Log file handling tweaks
- Amends
ScanAllESP
Feature- Now aligned with upstream implementation and scans all ESPs by default
- Hence, the "Opt-Out"
decline_esp_filter
token has been replaced by an "Opt-In"enable_esp_filter
token - A previous issue where the token operated the wrong way round has been fixed
v0.13.3.AC
- Adds
NvramProtectEx
Feature- Extends the
NvramProtect
feature (if set) to Mac OS andUnknown
UEFI boots - The feature can be enabled using a new
nvram_protect_ex
configuration token- Replaces the
FocusNvramFix
feature which has been removed - Essentially restores functionality from
EnableMacosFilter
previously replaced byFocusNvramFix
- Replaces the
- Extends the
- Fixes
QueryVariableInfo
Handling- Now properly handled on
UEFI-Mac
units - The output is not currently presented however as Apple firmare does not return accurate information
- Now properly handled on
- Fixes Misc Static Analysis Flags
- Some are related to filesystem drivers; for which updated versions are created accordingly
- Improves
SetVariable
Hook/Event Handling- Misc improvements including improved memory management
- Relevant to the
NvramProtect
feature
- Improves Mac Recovery Tool Scan
- Now skips some invalid entries such as APFS Recovery partitions
- Improves
ScreenShot
Feature- Now clears the keystroke buffer in
egScreenShot
to mitigate against stuck keys
- Now clears the keystroke buffer in
- Improves
Clean NVRAM
Feature- Particularly regarding clearing OpenCore related variables
- Improves Time Bound Primed Buffer Mitigation
- Rationalises intervention threshold
- Improves UI Element Scaling
- Some units use a low resolution display for the boot stage that result in distorted UI
- RefindPlus can now detect this and automatically scale UI elements down accordingly
- Alternatively, users can use the
scale_ui
token to scale UI elements down - The threshold below which the display is considered
LoRez
is 1025px - Ensures correct icon scales are maintained on
RescanAll
calls
- Amends
SupplyNVME
andSupplyUEFI
Features- No longer supplied by default but when specifically activated
- Hence, the "Opt-Out"
decline_nvme_load
token has been replaced by an "Opt-In"supply_nvme
token - The "Opt-Out"
decline_uefi_emulate
token has also been replaced by an "Opt-In"supply_uefi
token - A previous failure to be activated when NVME support was absent has been fixed
- Renames Misc Configuration Tokens
decline_tags_help
todecline_help_tags
decline_text_help
todecline_help_text
v0.13.3.AB
- Adds
PreferUGA
Feature- Sets RefindPlus to always use UGA for its graphics output when available
- The default is to use GOP and to fall back on UGA when GOP is not available
- The feature can be enabled using a new
prefer_uga
configuration token
- Sets RefindPlus to always use UGA for its graphics output when available
- Adds
FollowSymlinks
Feature- Allows following symbolic links to loaders
- These are otherwise ignored to avoid misc issues but may be useful to run some Linux setups
- The feature can be enabled using a new
follow_symlinks
configuration token
- Adds
FocusNvramFix
Feature- Focuses the
ProtectNVRAM
feature (if set) on explicit UEFI Windows boots - The feature can be enabled using a new
focus_nvram_fix
configuration token- Replaces the
EnableMacosFilter
feature which has been removed
- Replaces the
- Focuses the
- Fixes Unwanted APFS Data Volume Entries
- APFS data volumes could sometimes appear as boot options due to inadequate filtering
- Fixes SubScreen Boots
- Boots from subscreens, such as after pressing
F2
, were handled as generic UEFI files - This resulted in some processes being skipped or unwanted processes being applied
- RefindPlus now tries to make such boots specific as follows:
Opencore
,Clover
,Linux
,MacOS
,Windows
andMisc Others
- Boots from subscreens, such as after pressing
- Fixes Apple Hardware Test Option
- While Apple stopped providing this feature after June 2013, some users may have restored this
- In such cases however, RefindPlus did not provide the option on APFS volumes when
SyncAPFS
is active - Now reinstated subject to not having multiple MacOS instances in any single APFS container
- Fixes Misc Items
- Always block UEFI Windows NVRAM items (Disregard Volatility)
- Address misidentification of certain volume types as HFS+ volumes
- Address misplaced
Out
andReturn
log tags - Eliminate excessive pointer event logging
- Eliminate python script code smells
- Improves
System Reset Call
Fix- Was previously always active when on system reboot calls
- This meant such calls always required confirmation
- Such confirmations are no longer required if keypresses had taken place before the call
- Hence all legitimate calls now proceed without issue and buffered keystroke calls are also captured
- Improves FS Type Handling
- Prevents Windows Support Volumes from being offered as boot options
- Updates Volume
FS_TYPE
setting to match assumed types - Differentiates between HFS+ types
- Improves Time Bound Primed Buffer Mitigation
- Reduces intervention threshold based on detection of confirmed user key presses
- Amends the
ShouldScan
Function to Exclude HFS+Recovery HD
Volumes- This recovery functionality was meant to be handled by the Mac Recovery Tool
- Amends the
WarnIfLegacyProblems
Function Run Position- Now runs after the
SetupScreen
function to ensure screen display on issues
- Now runs after the
- Amends EFI Scan to Exclude
BOOTCAMP
- BootCamp creates HybridMBR disks and trigger redundant attempts to find EFI loaders
- Ports Downstream Directory Scan Iteration Fix
- Ref: joevt@8d03f98
v0.13.3.AA
- Synced with Upstream v0.13.3
- Adds
EnableMacosFilter
Feature- This feature is active by default and activates the
ProtectNVRAM
feature, if enabled, on MacOS boots - The
ProtectNVRAM
feature, if enabled, is activated for other applicable OS types regardless - The
EnableMacosFilter
feature can be disabled using a newdecline_macos_filter
configuration token
- This feature is active by default and activates the
- Adds
DisableNvramPanicLog
Feature- Sets a MacOS
nvram_paniclog=0
boot argument to disable kernel panic logging to NVRAM - Replaces the
PanicFilter
feature which has been removed
- Sets a MacOS
- Adds
NvramVariableLimit
Feature- Filters NVRAM variable write attempts
- Variables larger than a specified size are discarded
- This is activated by a new
nvram_variable_limit
configuration token
- Adds
DecoupleKeyF10
Feature- Unlinks the
F10
key from the built in screenshot feature - Allows the use of 3rd party screenshot tools that also map the
F10
key - The
\
(forward slash) key remains linked to the built in screenshot feature - This is activated by a new
decouple_key_f10
configuration token
- Unlinks the
- Fixes
DisableAMFI
Feature- The feature had been disabled under some circumstances
- This bug was introduced in v0.13.2.AP (Commit 8705fdb)
- Improves
HandleSignedInt
Function- Ensures the function always returns a negative value when required
- Improves
FindMenuShortcutEntry
Function- Now initially tries a exact match of the stored string against available entries
- A match against substrings is only tried if an exact match is not found
- Improves Pointer Device Handling
- Applies workaround for touch mode failure
- Rationalises pointer priority with
EnableTouch
always having priority overEnableMouse
- Previously depended on order of appearance in configuration file
- Renames Misc Configuration Tokens
decline_nvramprotect
todecline_nvram_protect
decline_uefiemulate
todecline_uefi_emulate
decline_espfilter
todecline_esp_filter
decline_apfsload
todecline_apfs_load
decline_apfsmute
todecline_apfs_mute
decline_apfssync
todecline_apfs_sync
decline_nvmeload
todecline_nvme_load
decline_tagshelp
todecline_tags_help
decline_texthelp
todecline_text_help
decline_applefb
todecline_apple_fb
v0.13.2.AP
Change 01: 21 Apr 221.
- Adds
PanicFilter
Feature- RefindPlus now discards NVRAM write attempts of kernel panic information by default
- Can be disabled using a new
decline_panicfilter
configuration token - Currently limited to when directly booting MacOS from RefindPlus
- Adds
SupplyAppleFB
Feature- Attempts to provide AppleFramebuffers on Macs when absent under certain circumstances
- Can be disabled using a new
decline_applefb
configuration token
- Adds
TextHelp
Feature- Uses complementary text colours to improve legibility
- Can be disabled using a new
decline_texthelp
configuration token- Only when using a custom title banner
- Always on when using the default title banner
- Adds
IconRowMove
Feature- Allows repositioning the icon row position on the RefindPlus screen
- Sometimes needed when icons block parts of custom banners
- Base position can be specified using a new
icon_row_move
configuration token
- Allows repositioning the icon row position on the RefindPlus screen
- Adds
IconRowTune
Feature- Allows adjustments to the
IconRowMove
position - Offset value can be specified using a new
icon_row_tune
configuration token
- Allows adjustments to the
- Adds
RansomDrives
Feature- Some types of firmware, notably on HP Notebooks, may lock some partitions
- This renders them inaccessible or may even lead to RefindPlus hanging
- Such partitions can be unlocked by setting a new
ransom_drives
configuration token - This option is currently always disabled on Apple firmware
- Some types of firmware, notably on HP Notebooks, may lock some partitions
- Adds
RescanDXE
Feature- Controls scanning for newly revealed DXE drivers when connecting handles
- Switch ON or OFF with a new
disable_rescan_dxe
configuration token
- Switch ON or OFF with a new
- This was previously done by default but may negatively impact loading speed
- Typically only required when running non-native filesystems
- Controls scanning for newly revealed DXE drivers when connecting handles
- Adds
DriverPriority
Feature- Asigns a higher priority to drivers loaded by RefindPlus
- Ensures that such are loaded when other similar drivers exist (mainly in the firmware)
- Currently tied to the
RansomDrives
Feature and only activated when that feature is active
- Adds
HaltSeconds
Function- Works as
PauseSeconds
does, but does not terminate on keypress
- Works as
- Fixes Unicode Collation
- Now checks for and uses Unicode Collation Protocol instances that support English
- Previously simply selected the first instance found (Inherited)
- This should allow proper support for languages using unicode text
- Improves UEFI Runtime Function Wrapping
- The wrapped UEFI Runtime
SetVariable
function is now better managed
- The wrapped UEFI Runtime
- Improves
TransientBoot
Feature- Now removes pre-existing
PreviousBoot
instances when booting with this option set
- Now removes pre-existing
- Improves
DirectBoot
Feature- Previously failed when a keyboard was not connected
- Minimises screen shudder when the
ESC
key is held down to override DirectBoot
- Improves
ScreenShot
Feature- Properly limited to one (1) sreenshot per keypress
- Removes limitation of the keypress not continuing beyond the on-screen message display
- Fixes Screenshots being only functional for the main RefindPlus screen
- This bug was introduced in v0.13.2.AN (Commit 99da7ce)
- Properly limited to one (1) sreenshot per keypress
- Improves
HandleSignedInt
Function- Removed limitation on handled values
- Improves
egDisplaymessage
Function- Now includes option to pause in the function
- Previously needed a separate call
- Now erases the message after the display (if a pause is invoked)
- Previously only properly erased when called on the main screen
- The erasure was however also lost on the main screen when
IconRowMove
and/orIconRowTune
is active - Now fixed for all screens but artefacts may result with some custom banners
- Now includes option to pause in the function
- Improves
CleanNvram
Feature- The Emulated NVRAM on the filesystem is now also cleared
- Now triggers NVRAM garbage collection on Macs when run
- This is an equivalent of manually setting
nvram ResetNVRam=1
- This is an equivalent of manually setting
- Improves
ProtectNVRAM
Feature- Adds
rEFIt Variant
to UEFI Loaders filtered forProtectNVRAM
- Made up of
RefindPlus
,rEFIt
andrEFInd
files chain-loaded from named locations - The ProtectNVRAM feature is not enabled for such loaders
- Made up of
- Now checks new NVRAM write entries against existing entries
- Only updates the entries when absent or different
- Filtering these reduces NVRAM writes and associated wear and tear
- Expands blocked SecureBoot related items
- Now clears existing instances of blocked variables
- Adds
UnlockID
andUnlockIDCopy
to filtered items- These are not certificates but work in concert with the certificates
- Hence, not required once certificates are filtered
- Filtering these reduces NVRAM writes and associated wear and tear
- Filters out the Current OEM Policy from post-block clean up
- Removal may have negative impact on UEFI-PC
- Not strictly needed as ProtectNVRAM is currently limited to Apple Firmware
- Considered best to add a filter now in case that changes in future
- Adds
- Improves Identification of Linux Instances
vmlinuz
,bzImage
, andkernel
loaders are now accounted for as Linux loaders- The
ProtectNVRAM
feature is now not applied to such loaders - The
grub
loader was already accounted for
- Improves OS Boot Filtering
- The
OSType
flag is now taken into account
- The
- Improves Load Error/Warning Display
- The
ContinueOnWarning
feature is forced on temporarily if required
- The
- Improves Time Bound Primed Buffer Mitigation
- Mitigates against RefindPlus spontaneously running default items
- Intervention is based on a rising threshold based on build type and presence of Apple firmware
- Also doubles threshold time when external disks are detected
- The issue appears to be worse when such disks are connected
- Removes
BootKicker
feature- The feature was added as part of attempts to provide the RefindPlus screen on MacPro5,1
- This was ultimately achieved via other means but the feature was maintained for potential benefits
- The feature never actually worked properly however, hence the removal
- Amends GOP Mode Selection Preference
- RefindPlus defaults to selecting the maximum resolution GOP Mode when a screen resolution is not specified
- When two modes have the same resolution, the later mode was used
- This is now changed to prefer the first mode found
- Amends OpenProtocol Remapping on Macs without AppleFramebuffers
- The remapping is now disabled when GOP is absent on any type of firmware
- It is now also disabled when AppleFramebuffers are absent on Apple firmware
- This is to avoid potential memory management issues pending further investigation
- Amends Default Loader Scan for APFS Support Volumes
- APFS
Recovery
,Update
andVM
volumes are now added to theDontScanVolume
list by default
- APFS
- Amends Scan for
.VolumeIcons
andVolumeBadges
- Volumes in the
DontScanVolume
list are now skipped
- Volumes in the
- Amends System Table Reallocations
- No longer copies memory for system table reallocations
- Some Mac models fail to boot with this following recent firmware updates
- Other recent changes to RefindPlus may have also affected booting 'FileVault' encrypted volumes
- Amends
HandleProtocol
Stashing- No longer stashes and restores HandleProtocol on
OcProvideConsoleGop
call
- No longer stashes and restores HandleProtocol on
- Renames the
SilentBoot
Feature asDirectBoot
- This more accurately describes the feature.
- Renames Misc Tokens to Permit Grouping of Related Tokens
- The
uga_pass_through
token is renamed aspass_uga_through
- The
XYZ_hidden_icons
tokens are renamed ashidden_icons_XYZ
- The
XYZ_renderer
tokens are renamed asrenderer_XYZ
- The
- Extends fixes on Mac Recovery Implementation for MacOS on APFS
- Adjusted to cover all MacOS instances on APFS
- APFS Recovery Volumes are handled as Mac Recovery Tools and not as volumes with loaders
- IMPORTANT:
- This implementation is still a work in progress ... feedback required/welcome
-
Updated attached files to include post release
PanicFilter
feature fix ↩