rEFInd
| rEFInd | |
|---|---|
rEFInd with minimalist theme showing boot selection of Windows 10 and Ubuntu | |
| Developer | Roderick W. Smith |
| Initial release | 14 March 2012 |
| Repository |
|
| Written in | C |
| Engine | |
| Operating system | Linux, macOS, Microsoft Windows, TrueOS |
| Platform | IA-32, x86-64, AArch64 |
| Size | ~ 4 MiB |
| Available in | English |
| Type | UEFI boot manager |
| License | GPL-3.0-or-later, BSD-3-Clause (original program), additional components released under various licenses |
| Website | www |
rEFInd is a boot manager for UEFI and EFI-based machines.[1][2] It can be used to boot multiple operating systems that are installed on a single non-volatile device. It also provides a way to launch UEFI applications.[3][4]
It was forked from discontinued rEFIt in 2012, with 0.2.0 as its first release.[5][6]
rEFInd supports the IA-32, x86-64, and AArch64 architectures.
Features
[edit | edit source]rEFInd has several features:[7]
- Automatic operating systems detection.
- Customisable OS launch options.
- Graphical or text mode. Theme is customisable.[8]
- Mac-specific features, including spoofing booting process to enable secondary video chipsets on some Macs.
- Linux-specific features, including autodetecting EFI stub loader to boot Linux kernel directly and using fstab in lieu of rEFInd configuration file for boot order.
- Support for Secure Boot.
Adoption
[edit | edit source]rEFInd is the default UEFI boot manager for TrueOS.
rEFInd is included in official repositories of major Linux distributions, such as Arch Linux,[9] Debian,[10] Ubuntu,[11] and Gentoo.[12]
Development
[edit | edit source]GNU-EFI and TianoCore are supported as main development platforms for writing binary UEFI applications in C to launch right from the rEFInd GUI menu. Typical purposes of an EFI application are fixing boot problems and programmatically modifying settings within UEFI environment, which would otherwise be performed from within the BIOS of a personal computer (PC) without UEFI.[7]
rEFInd can be built with either GNU-EFI or TianoCore EDK2/UDK.[13]
Fork
[edit | edit source]RefindPlus is a fork of rEFInd that add several features and improvements for Mac devices, specifically MacPro3,1 and MacPro5,1, and equivalent Xserve.[14]
See also
[edit | edit source]- GNU GRUB - Another boot loader for Unix-like systems
- Comparison of boot loaders
- efibootmgr - manipulate the EFI Boot Manager: create and destroy boot entries, change the boot order and other
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').