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
Footnotes
-
Updated attached files to include post release
PanicFilter
feature fix ↩