rEFInd

Software Screenshot:
rEFInd
Software Details:
Version: 0.9.2 updated
Upload Date: 27 Sep 15
Developer: Roderick W. Smith
Distribution Type: Freeware
Downloads: 458

Rating: 3.0/5 (Total Votes: 2)

rEFInd is an open source boot manager or boot loader that supports Linux, Mac OS X and Microsoft Windows operating systems. It’s a fork of the well known rEFIt boot manager, but engineered to support UEFI (Unified Extensible Firmware Interface)-based machines.

The application lets users to manually edit and set boot-time options, try Live operating systems that are distributed on bootable CD discs or USB flash drives, launch Linux 3.3.0 and later kernels that are built with EFI stub loader support.

Features at a glance

Key features include support for Secure Boot, which depends on a separate PreLoader or shim program, ability to launch MS Windows and Macintosh recovery utilities, as well as third-party EFI programs like an EFI shell.

When compared with rEFIt, we can immediately notice that rEFInd is able to better handle UEFI-based machines that contain multiple bootloaders and automatically detects installed EFI boot managers. In addition, it provides both text-mode and graphical boot prompts.

In more technical terms, the application features support for EFI 1.x and UEFI 2.x machines, as well as both PCs and Mac platforms. It also supports a wide range of file systems, including EXT2, EXT3, EXT4, Btrfs, ReiserFS, ISO-9660, and HFS+.

Another interesting feature is the ability to reboot into the firmware setup utility of specific UEFIs. Furthermore, the application supports maintenance-free Linux kernel updates, which means that there no need to manually configure certain boot parameters after a kernel update.

Conclusions

All in all, rEFInd is yet another great UEFI boot loader, designed as a drop-in replacement for the GRUB (GRand Unified Bootloader) software. It’s somehow similar to the gummiboot boot manager, but it includes even more features, multiple configuration options, as well as support for numerous filesystems and operating systems. It is navigable with the keyboard and supports custom background images.

What is new in this release:

  • Soon after releasing 0.9.1, I started receiving bug reports about problems with it and Shim 0.8. (See this thread for one such report.) It turns out that the problem was not a new bug in rEFInd, but rather a change from Shim 0.7 to Shim 0.8 that made it next to useless with rEFInd. Specifically, Shim 0.8 now de-registers itself from the EFI after a follow-on program launches another one. This is done to avoid problems in a boot path in which Shim launches fallback.efi, which in turn launches another Shim. This creates a new problem, though: rEFInd can validate just one binary before it's "cut off" from Shim. Since rEFInd's drivers are binaries, if you use a single driver, that means that you won't be able to launch anything that requires validation via Shim. I quickly discovered a workaround, which I've implemented in this release. I consider this a "band-aid" patch, though, because it relies on a quirk of Shim's logic to bypass its de-registration. As such, the workaround in this release may break with a future Shim. A true fix will take longer to develop. I want to release this workaround version to head off further problems in the near term, though. This version also introduces a new feature, which is also Shim-related: Since version 0.7, Shim has supported launching binaries other than grubx64.efi by passing them on the command line. (Actually, Shim 0.4 supported this, but it required a broken path specification.) I've added support for this feature to install.sh: Adding the --keepname option to install.sh causes the script to preserve rEFInd's regular filename and to register the approprirate follow-on parameters to have Shim launch rEFInd by that name. This works, but is likely to be more delicate than using the default Shim follow-on name of grubx64.efi. The advantage, of course, is that rEFInd needn't "lie" about its name, which makes for less confusion in filenames. For the moment, the RPM and Debian packages I build do not use this new naming feature, since I can't be sure what version of Shim might be picked up. These changes do not affect users who do not use Secure Boot.

What is new in version 0.8.6:

  • Most (but not all) of this release's changes focus on Windows dual-booting and Mac-specific issues. There's a new Windows 8 icon, which is now used by default as the Windows icon, although the old icon remains available and is used for Windows XP and earlier boots on Macs. If the NTFS driver is loaded, rEFInd will now exclude non-bootable NTFS volumes from the Mac boot list (this change does not affect UEFI-based PCs). A bug that caused misidentification of whole disks and NTFS volumes as being FAT has been fixed (again, this problem affected Macs, not PCs). A couple of Mac-specific install.sh bugs have been fixed, resulting in more reliable identification of the ESP and of the installation directory. Previous versions ignored a volume name of "HFS+ volume" because that name was produced by earlier versions of the rEFInd HFS+ driver for all HFS+ volumes; but the current HFS+ driver produces a real volume name, so I've removed that special case from the code. I've removed the r472 rEFIt commit, introduced in 0.8.5, because it was causing some BMP files to fail to load. Finally, the hideui token in refind.conf now accepts a value of badges, which has the effect of hiding the disk-type badges associated with OS launch icons.

What is new in version 0.8.5:

  • The biggest single change with this version is a new NTFS driver contributed by Samuel Liao, who also contributed the Btrfs driver. Samuel also contributed some miscellaneous driver fixes and a change to the way the keyboard is handled, which improves responsiveness on some systems. This version also improves the way install.sh works under OS X. In particular, it tweaks the bless command in a way that may eliminate startup delays and it does a better job of detecting and replacing existing rEFInd installations (on the ESP), rather than blindly writing to EFI/BOOT. Finally, this version applies commits from late in rEFIt's history: r467, which improves handling of BIOS/legacy boots from the second and subsequent disks on Macs; and r472, which enables handling BMP images that are not vertically flipped. These commits were not present in rEFInd from the start because the starting point for rEFInd was a Debian source package taken from a slightly earlier version.

What is new in version 0.8.4:

  • OS X 10.10 ("Yosemite") made changes that necessitated alterations to both rEFInd's install.sh script and rEFInd defaults. Specifically, Yosemite now uses a form of logical volume management (LVM) that makes installing rEFInd to the OS X root directory impossible, so the default location is changed to the ESP. Changes to the default for dont_scan_volumes are necessary to make the new location for the OS X boot loader show up. Another big change is in the new (but experimental) support for network booting, with the help of iPXE. See the BUILDING.txt file in the source package for details on how to build and install the necessary files. A new option for refind.conf, enable_and_lock_vmx, sets the VMX bit on Intel CPUs, which is necessary for booting some hypervisors, such as Hyper-V. This feature can be set on many computers' EFIs, but some, such as Macs, lack this ability. (Do not set this option on AMD CPUs or older Intel CPUs that lack this feature, though!) If rEFInd can't find its icons directory, it now drops back to text mode. A bug in dont_scan_files has been fixed, enabling you to specify a complete path to certain special-case boot loaders to omit them from scans. Finally, I've updated the icons for Fedora and Ubuntu and added an icon for Xubuntu.

What is new in version 0.8.3:

  • This version introduces a number of minor bug fixes and feature improvements. The most user-visible of these are that on Macs, rEFInd now displays a partition's label for BIOS-bootable OSes on filesystems that rEFInd can't read; and you can now pass timeout = -1 in refind.conf to have rEFInd boot the default OS immediately unless there's a keypress when rEFInd loads, in which case that keypress is read as a shortcut key. A change that's less likely to be noticed is that the default setting for scan_all_linux_kernels is now true. Since this option had been uncommented in the sample configuration file, this change will not affect most people. I've fixed a bug that caused rEFInd to unload drivers as soon as they were loaded. This didn't affect rEFInd's drivers because they ignored the relevant EFI calls; but this was preventing some other drivers from working. I've added two new icons, one for Mythbuntu and the other for the Clover boot manager. Finally, I've removed Oracle's GPLv2 code from the core filesystem driver code, since it was incompatible with the GPLv3 used by the Btrfs driver. This change shouldn't affect the operation of the drivers, but there's a slim chance that it will.

What is new in version 0.8.2:

  • I've continued to refine the UEFI BIOS-mode boot code with this version; it now uses the BIOS-mode boot entries provided by the firmware by default, and actively scans for new entries only if the deep_uefi_legacy_scan token is present in refind.conf. This change is motivated by reports I've received of BIOS-mode boot entries multiplying on some systems; however, a deep scan is required to detect the second and subsequent disks on other computers. A second important change is that the default selection is now the last-booted item rather than the first item in the list. You can still set a fixed default via the default_selection token, and in fact if you provide a list that begins with +, the default will be the previously-booted item unless it can't be found, in which case the subsequent items in the list will be tried. Minor changes include the addition of an icon for Mageia Linux, a minor bug fix in GUID-parsing code, and an update of my personal build system from TianoCore UDK2010.SR1.UP1.P1 to UDK2014. This last item will affect anybody else who uses TianoCore to build rEFInd, since some default paths have changed, so you may need to update yourself or adjust the path in Make.tiano.

What is new in version 0.8.1:

  • The biggest code change in this version is that rEFInd's UEFI-style BIOS-mode boot code now works when rEFInd is built with GNU-EFI as well as when built with Tianocore. This change won't affect users of my binary builds, which have long been made with Tianocore, but if your distribution builds rEFInd with GNU-EFI, it might interest you. Some user-noticeable bug fixes include a fix to a bug that could cause rEFInd to omit boot loaders on a partition's root directory, a fix to a bug that caused .VolumeIcon.icns to take a higher-than-intended precedence on OS X boot volumes, a fix to a bug that could cause a BIOS-mode boot from the wrong device in UEFI mode, and improved centering of BIOS-mode boot descriptions on the screen. Other changes include two new optional bitmap fonts (Ubuntu Mono and Nimbus Mono), omission of messages about scanning of boot loaders when scan_delay is set to 1, a change to the search order for icons (PNG files now override ICNS files), and a conversion of all the icons in the icons directory from ICNS to PNG format. Note that this last change may necessitate changing manual boot stanzas if you refer to icons in the default icon directory, depending on how you upgrade rEFInd.

What is new in version 0.7.9:

  • This version includes a number of bug fixes: install.sh no longer displays error messages if the dmraid utility isn't available; the HFS+ driver now reports a correct volume name; filesystem driver bugs that could cause lockups have been fixed; a redundant "utility" in the MOK utility's description has been removed; and an (as-yet untested) attempt to fix a continuous-rescanning problem after ejecting a disc on some computers has been implemented. In addition, rEFInd now removes redundant kernel entries on Ubuntu systems to keep the menu uncluttered and a new gdisk option has been added to the showtools item. (An EFI version of my gdisk utility can be built with the help of the UEFI GPT fdisk library.)

What is new in version 0.7.8:

  • This version emphasizes changes to icon and banner graphics handling. Internally, rEFInd can now scale graphics, which previous versions could not do. To make use of this feature, three new refind.conf tokens now exist: big_icon_size and small_icon_size set the sizes of big (first-row OS) and small (second-row tool) icons; and banner_scale tells rEFInd to draw banners to a 1:1 scale (noscale, the default) or to scale the banner to fill the screen (fillscreen). I've also adjusted the post-installation script used by the RPM and Debian packages to search for existing Shim programs called shimx64.efi, not just shim.efi (as had been done before). This should help when installing a package on distributions that use the shimx64.efi filename, such as Ubuntu. Finally, I'm providing a preliminary set of Debian packaging files, which may help distribution maintainers to adopt rEFInd.

What is new in version 0.7.7:

  • A new configuration file token, windows_recovery_files, leads this list of changes; you can use it to specify files that boot Windows recovery tools. If you include the windows_recovery option on the showtools line, these files will then be represented by a small Windows recovery badge on the second row rather than as a full-sized OS loader, thus reducing clutter and making the purpose of this loader clearer. You can also now specify a complete path to dont_scan_files items, including a volume specifier. The use_graphics_for, also_scan_dirs, dont_scan_dirs, dont_scan_files, scan_driver_dirs, and windows_recovery_files tokens can all now accept + as their first option, which causes subsequent list items to be added to their defaults rather than replacing them. The configuration file can now be specified at program launch by passing a -c option, as in -c myconf.conf; you can use this feature to set up a manual boot stanza that launches rEFInd with modified boot options. Scans of ext2/3/4fs and ReiserFS partitions now omit partitions with filesystem UUIDs that have already been seen. This is an effort to reduce clutter from such partitions that are components of RAID 1 arrays. The install.sh script now attempts to locate and mount an unmounted ESP when run under Linux. Finally, I've fixed a bug in both install.sh and mkrlconf.sh that caused the generated refind_linux.conf file to contain a stray line break and unnecessary PARTUUID= specification on some systems.

Similar Software

ms-sys
ms-sys

14 Apr 15

Syslinux
Syslinux

17 Feb 15

KBoot
KBoot

3 Jun 15

Comments to rEFInd

Comments not found
Add Comment
Turn on images!