- Refind Windows Download
- Refind Mac
- Install Refind
- Refind Boot Manager Download Mac Installer
- Refind Boot Manager Download Mac High Sierra
Without a label the Startup Manager will show EFI Boot which may be confusing if you have other partitions with an /EFI/BOOT/bootx64.efi file. Cd /Volumes/BOOTMGR/EFI bless -folder BOOT -label rEFInd (Optional) Goto my Mac icons website and download the mac-icons.dmg file. Use the Finder application to mount this file. Sudo bless -mount /Volumes/esp -setBoot -file /Volumes/esp/efi/refind/refindx64.efi -shortform Unmount the rEFInd directory. You can restart your computer now and it will automatically unmount the ESP and run rEFInd after it restarts. If you want to unmount the ESP folder before you restart your computer, enter the following command. I don't have a Mac with Secure Boot, and I'm not even 100% certain that what Apple calls Secure Boot is the same thing as Secure Boot on UEFI-based PCs, so I don't know if this procedure would work; but it might. Try installing rEFInd in Linux or using the self-install method (if you can get rEFInd to start from a USB flash drive). $ sudo apt-add-repository ppa:rodsmith/refind $ sudo apt update $ sudo apt install refind You'll be asked whether to install rEFInd to the ESP when you first install it. Thereafter, the rEFInd version will update along with your other software. The 1.1 version of ReFind for Mac is provided as a free download on our website. This Mac download was checked by our built-in antivirus and was rated as safe. This Mac application is a product of Mysterious Trousers, LLC. The program lies within System Tools, more precisely File Managers.
by Roderick W. Smith, [email protected]
Originally written: 3/14/2012; last Web page update:3/13/2020, referencing rEFInd 0.12.0
This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!
Donate $1.00 | Donate $2.50 | Donate $5.00 | Donate $10.00 | Donate $20.00 | Donate another value |
Beginning in March 2020 and until schools re-open in the United States, I'm donating all rEFind proceeds to No Kid Hungry, which aims to eliminate childhood hunger in the United States. I'll make donations early each month based on the previous month's donations to rEFInd.
This page is part of the documentation for the rEFInd boot manager. If a Web search has brought you here, you may want to start at the main page.
Contents
For the most part, rEFInd is easy to use; just use your keyboard's arrow keys to select the OS you want to boot or the utility you want to launch and press the Enter key. A few details aren't entirely intuitive, though, so this page describes them.
Using Basic rEFInd Features
With rEFInd in place and added to your firmware's list of boot utilities, you can reboot your computer. Depending on your configuration, rEFInd may come up immediately or you may need to select it from your firmware's boot options or reconfigure your firmware to present rEFInd automatically. Unfortunately, I can't offer much specific advice on this score, since EFI implementations differ so much in their user interfaces.
Assuming rEFInd starts up correctly, you should see its main screen, which resembles the following:
If you don't press a key before the timeout expires, the default boot loader will launch. (The timeout is shown beneath the description line until you press a key.) This is normally the item that you launched the last time rEFInd ran, but you can adjust the default by editing the configuration file. (In this example, it's the Ubuntu Linux loader, which is further identified by text as EFIubuntugrubx64.efi from ESP.)
This display is dominated by the central set of OS tags (icons), which in this example includes tags for an unknown Linux distribution, Ubuntu, macOS, and Windows. All but the first of these are on hard disks, but the unknown Linux boot loader is on an optical disc, as revealed by the small icons (known as badges) in the lower-right corners of the OS icons.
In this example, the Ubuntu tag is selected. You can move the selection left by pressing the left arrow key and right by pressing the right arrow key. If your system has many boot loaders, an arrow icon will appear to the right and/or left of the boot loader list, indicating that the boot loader list will scroll when you move off the edge. (Such an arrow is visible to the right in the sample screen.) You can scroll the list by one line full of icons by using the Page Up or Page Down keys to move left and right, respectively. Moving past the final selection or using the down arrow key moves the selection to the second row of small tags, which launch ancillary programs or perform special actions. If you've moved the selection cursor to the second row, pressing the up arrow key or scrolling past the left edge of the second row moves the cursor to the top row. In this figure, these eight tags are present:
- Launch the EFI shell
- Launch the tool to partition a disk (gptsync or gdisk)
- Launch a memory-testing utility
- Launch a tool to edit Secure Boot keys (MokManager, HashTool, or KeyTool)
- Launch a Windows recovery utility
- Display an information page
- Reboot the computer
- Exit from rEFInd
By default, the options to display an information page, shutdown the computer, and reboot the computer are present. Options to launch a shell, launch gdisk, launch a memory test utility, launch the Apple recovery utility, launch the Windows recovery utility, and launch a Secure Boot key management utility will also appear automatically if these utilities are installed. A tag to reboot into the firmware appears if your firmware supports this feature. Options to launch the hybrid MBR tool (gptsync) and to exit from rEFInd are not displayed by default; you must edit the configuration file to enable these features, or to disable those that are displayed by default if you don't want them.
To launch an OS or utility, you should select its tag and then press the Enter key or the space bar.
Ordinarily, rEFInd displays tags for OSes it finds on internal hard disks, external hard disks (including USB flash drives, CF disks, and so on), and optical discs. Sometimes, though, the firmware hasn't had time to fully examine these devices by the time rEFInd starts; or you might only insert or plug in the media after rEFInd appears. In these cases, you can press the Esc or Backspace (Delete on Macs) key to have rEFInd re-read its configuration file and re-scan your media for boot loaders. This action can take a few seconds to complete, so be patient. You can also use this feature to detect OSes if you launch a shell and use it to load a driver or edit the refind.conf file. If you regularly need to press Esc/Backspace, you might look into the scan_delay configuration file option, described on the Configuring the Boot Manager page.
On some computers, the firmware doesn't mount external USB media unless you adjust a firmware option or use the EFI's own boot manager prior to launching rEFInd. If you don't see external media appear in rEFInd's list, consult your computer's manual or examine its firmware to locate a relevant option. This option is often called fast boot or something similar; when enabled, the computer doesn't activate most USB devices because doing so takes a second or two.
Adjusting Boot Options
If you press the Insert, F2, Tab, or + key, rEFInd will show a menu that may hold additional options, depending on the OS type. (MacOS and Linux are most likely to hold interesting options on their submenus.) The following figure shows the submenu for macOS. You can use this menu much like the main menu; move the cursor to select the option you want to use, then press the Enter key to launch the boot loader with the selected options. Press the Esc or Backspace (Delete on Macs) key or select Return to Main Menu to return to the main menu. (See the Methods of Booting Linux page for information on what you might see on a Linux submenu page.)
From the options submenu, you can press the Insert, F2, Tab, or + key again to edit your boot loader options. You're most likely to want to do this when booting Linux via its EFI stub loader, since you can then enter arbitrary kernel options. A simple text-mode line editor opens (shown below), enabling you to move a cursor back and forth in the line with your arrow keys, delete text, and type in new text. If you want to boot with your edited options, press the Enter key. If you decide you picked the wrong entry, press the Esc or Backspace key. Note that long option lists, as shown in the figure, scroll off the edge of the screen. Moving the cursor past the screen edge scrolls the entire line of text.
If your computer supports Secure Boot, you may find that some of your OSes and tools won't work; they'll produce Secure Boot validation failure error messages. You can overcome this problem by creating a signing key, signing your binaries with it, and adding the public version of that key to your machine owner key (MOK) list. This process is described on the Managing Secure Boot page.
Using Keyboard Shortcuts
Although most rEFInd features can be activated via fairly obvious keyboard actions, some are not obvious. Table 1 summarizes the keystrokes that rEFInd accepts, and the action that each keystroke invokes.
Keystroke | Explanation |
---|---|
left arrow | Moves the selection one icon to the left (or up the list in text mode) |
right arrow | Moves the selection one icon to the right (or down the list in text mode) |
up arrow | Moves the selection from the utilities row to the OS row (in text mode, moves up one entry) |
down arrow | Moves the selection from the OS row to the utilities row (in text mode, moves down one entry) |
Page Up | Scrolls the visible set of tags to the left (or up in text mode) |
Page Down | Scrolls the visible set of tags to the right (or down in text mode) |
Home | Moves the selection to the first item on the OS row |
End | Moves the selection to the last item on the utilities row |
Esc or Backspace (Delete on Mac keyboards) | Returns from a sub-menu; on the main screen, re-reads the configuration file and re-scans for boot loaders |
Delete (on PCs) or minus (-) (Delete on Mac keyboards is Backspace on PC keyboards, and will not work for this) | Hides a menu tag. The tag is remembered via the computer's on-board NVRAM or in a disk file, depending on the setting of the use_nvram token in refind.conf. |
Insert, F2, Tab, or + | From the main menu, opens the selection's submenu, which is most useful with macOS, ELILO, and Linux kernels with EFI stub loader support; in a submenu, opens a line editor enabling editing of boot options |
F10 | Saves an image of the current screen in the file screenshot_###.bmp in the EFI System Partition's (ESP's) root directory. (### is a sequence number starting with 001) |
F12 or (on some keyboards) Eject | Ejects removable media. This feature only works on some Macs but not on most UEFI-based PCs. |
Enter or spacebar | Launches the currently-selected OS, utility, or built-in feature |
1 through 9 | Launches the specified boot loader by number |
A | Displays the 'About rEFInd' information |
E | Launches the first instance of ELILO in the boot list |
G | Launches the first instance of GRUB in the boot list |
L | Launches the first Linux kernel in the boot list |
M | Launches the first Mac OS boot loader in the boot list |
P | Launches gptsync |
S | Launches an EFI shell, if available |
U | Shuts down the computer (but note that this is buggy and reboots most UEFI-based PCs) |
W | Launches the first Windows boot loader |
Other letters | Launch OSes whose names begin with those letters, as described below |
rEFInd assigns shortcut letters to most OS entries based on the first letter of the directory in which the OS's boot loader is stored. For instance, if you have a boot loader called /EFI/debian/elilo.efi, rEFInd attempts to assign it a shortcut letter of D. rEFInd overrides this default for macOS, Windows, and for Linux's GRUB, ELILO, and EFI stub boot loaders if the distribution can't be more precisely identified, as noted in the preceding table. This method works well for many installations, but it can produce conflicts. For instance, if you have a Macintosh that holds both macOS and Mandriva, both OSes would normally use the M shortcut key. In practice, which works depends on the order in which rEFInd detects the OSes.
Booting Legacy OSes
Sometimes it's necessary to boot a legacy (BIOS-based) OS on an EFI computer. This is especially true on Macs, since this has been the usual method of dual-booting macOS and Windows. (Since the release of Windows 8, though, booting Windows in EFI mode on Macs has become both more practical and more common.) In the past, many Linux distributions installed more easily in BIOS mode on Macs, but many Linux distributions now favor native EFI-mode installation on Macs. (See my EFI-Booting Ubuntu on a Mac page for an in-depth look at this topic.)
On UEFI-based PCs, booting some OSes in EFI mode and others in BIOS mode is less often necessary, since it's usually easy to install all your OSes in one mode or the other. If you have a working EFI-mode OS installation, though, and if you want to install an OS that lacks EFI-mode boot support, you may need to boot in both modes. Most of the BSDs (FreeBSD being a notable exception), Haiku, DOS, Windows XP and earlier, and many more obscure OSes still lack EFI support and so must be booted in BIOS mode. You might also want to boot a BIOS-mode emergency recovery CD, such as Parted Magic or System Rescue CD. Note, however, that EFI-mode support is being added to OSes. It's possible that some of those I've mentioned here will support EFI-mode booting by the time you read this!
To help out when you need to boot in BIOS mode, rEFInd supports booting legacy OSes; however, the details vary between Macs and UEFI PCs. Also, be aware that some UEFI PCs lack the Compatibility Support Module (CSM) that's required for this feature to work. This is true even of some computers that can boot BIOS-based OSes natively. This can happen because the firmware is basically a BIOS with a UEFI implementation tacked on top of it; such systems rely on the native BIOS to boot in BIOS mode, and may not provide a way for EFI applications to access the BIOS features via CSM mechanisms. If you have such a computer and if you enable a legacy boot option in the configuration file, rEFInd notifies you of its inability to present legacy boot options when it starts up.
The scanfor option, described on the Configuring the Boot Manager page, controls rEFInd's detection of legacy OSes. On Macs, the default is to scan for such OSes, since a common boot scenario on Macs is dual-booting macOS and Windows installed in BIOS mode, and of course BIOS/CSM/legacy support is required for this. On UEFI PCs, rEFInd defaults to not scanning for legacy OSes; thus, you must edit the scanfor item in the configuration file if you want to boot a legacy OS on a UEFI PC.
On Macs, rEFInd uses a flexible scanning algorithm inherited from rEFIt. This procedure detects most legacy OSes on most disks, although it can sometimes miss an OS. This scanning algorithm can often identify the legacy OS you've installed and present a suitable icon. On UEFI PCs, rEFInd relies on the computer's NVRAM settings to determine which legacy boot loaders to scan, but rEFInd does tell the firmware to find every BIOS-mode boot option and add it to its NVRAM list. On most UEFI PCs, at least one hard disk and your optical drive appear as options. On one computer I tested (a Lenovo laptop), the internal hard disk appears in the rEFInd menu as a removable disk. If you have multiple hard disks, you may need to uncomment the uefi_deep_legacy_scan option to get entries for booting all of your disks. If you opt to scan for BIOS-mode optical disks (scanfor cd) on UEFI-based PCs, an icon will appear whether or not your drive holds a CD. The UEFI scanning procedure is also incapable of detecting the OS type, so you'll see a generic legacy OS icon, as shown at the right.
On both PCs and Macs, if you see non-functional legacy boot options, you can remove them by using the dont_scan_volumes token in refind.conf: Add any substring from the description that appears when you highlight the non-functional option to the set of options to have rEFInd ignore that entry. (Note that you must provide a complete volume name when excluding EFI volumes from scanning. The legacy-mode exclusion operation is more flexible in this regard.) You can also hide an option by pressing the Delete (on PC keyboards) or minus (-) keys.
Reducing Startup Delays
You may discover that rEFInd takes a while to appear on the screen compared to other boot managers and boot loaders. Ultimately, the reason is that rEFInd is doing more—it's reading more filesystems, scanning for bootable files, and so on. In most cases, rEFInd takes just a second or two longer than other boot loaders, but I've heard of (and seen) much longer delays on computers that are configured sub-optimally. Some things you can do to reduce these delays include:
- Remove unnecessary drivers—Simply loading a driver takes a certain amount of time, and if a filesystem driver finds a filesystem to read, rEFInd will spend time scanning that filesystem for bootable files. If there are no such files, or if you're not using them, then this is wasted time. Thus, you should check the drivers, drivers_x64, or other architecture-specific drivers subdirectory to be sure it doesn't hold unnecessary drivers.
- Use FAT for /boot—This tip is a corollary of the preceding one. If you use rEFInd to boot the Linux kernel directly, and if you rely on a driver to read the Linux kernel, then you'll have to live with the time to load the driver and to scan at least one extra filesystem. If you mount your ESP at /boot, or even if you create a separate FAT /boot partition, you'll save a little time. Note, however, that most Linux distributions don't allow you to install to a system with a FAT /boot partition, so you may need to set this up after doing your initial installation. If you see symbolic links in /boot, be wary; your distribution may rely upon them, and because FAT doesn't support symbolic links, this action may cause problems when upgrading kernels. On Macs, you can use HFS+ for this purpose, since Apple's EFI implementation includes an HFS+ driver.
- Minimize the number of scanned filesystems—There's overhead associated with every additional filesystem rEFInd scans. Thus, if you have, say, separate ext4fs root (/), /boot, /usr, /home, and /var filesystems, and if you install rEFInd's ext4fs driver, rEFInd will end up scanning at least six filesystems (counting the FAT ESP), although only one of those has Linux kernels. You can use FAT for /boot and remove the ext4fs driver to speed up the boot process, as just described; but if you prefer to avoid the downsides of that action, you can switch /boot to some other filesystem, such as ext2fs or ReiserFS. This plan will reduce the number of filesystems to be scanned and improve boot time. Alternatively, if you re-install Linux, you can reduce the number of partitions or use LVM (which rEFInd can't read) for all of your filesystems except for /boot.
- Use a speedier filesystem—In my tests, rEFInd's ReiserFS driver is the fastest and ext2fs is the slowest, with Btrfs and ext4fs falling in-between these two. The difference is trivial on some computers but it's significant on others. Filesystem speed differences are more likely to be noticeable in the time it takes to boot the OS; rEFInd's own startup time is less likely to be affected by a filesystem change.
- Use a speedier driver—rEFInd 0.7.0 introduced a read-ahead cache in its filesystem drivers, which greatly improved their speed on some systems. If you're using an older driver, try using a newer one. Pete Batard's efifs drivers are an alternative to rEFInd's drivers. I've only dabbled with these drivers, but my initial impression is that some of them are quite speedy, but others are very slow.
- Delete or move files and directories—By default, rEFInd scans the root (/) directory, /boot, and most subdirectories of /EFI on every partition that it scans. If these locations exist but contain no bootable files, they'll just slow rEFInd down. Likewise, if you use dont_scan_files to keep unused boot loaders out of the menu, rEFInd will still do much of the work of scanning those files. In all of these cases, deleting or moving the directories or files that are being scanned but that don't contain bootable options you want to see can speed things up.
- Use the also_scan_dirs option sparingly—Using also_scan_dirs is useful in some situations, but it does add to rEFInd's task list. Use it only if you must.
- Reduce the scanfor list—Removing items from the scanfor list in refind.conf can speed things up a bit. This is especially true on Macs, which scan for BIOS-mode boot loaders by default. If you never boot a Mac in BIOS mode, try uncommending scanfor and ensure that the hdbios, biosexternal, and cd options are not present. The external and optical items won't add delays unless the relevant media are inserted, which brings us to....
- Don't boot with removable media attached (unless you intend to boot from them)—If you insert an optical disc into your drive or plug in a removable device like a USB flash drive, rEFInd will attempt to scan it. This will slow down rEFInd's startup process, so you shouldn't make a habit of booting with such media inserted. In fact, there's another reason not to boot with external media attached: If such a medium is infected with malware, and if your firmware is configured to boot from external media first, you'll end up running the malware, possibly infecting your computer.
I hope these tips will help you to overcome any speed problems you're experiencing. As I said, rEFInd is reasonably fast on many computers, so you might not run into problems in the first place. If you do, though, reducing rEFInd's workload can help.
copyright © 2012–2020 by Roderick W. Smith
This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.
If you have problems with or comments about this Web page, please e-mail me at [email protected]. Thanks.
Return to my main Web page.
In this blog post I’ll be covering the process of installing and troubleshooting refind bootloader from a machine running Windows 10 1903 (although I hope this will survive any updates from Microsoft).
At first, I tried following the official documentation and replacing the
{bootmgr}
’s path with refind’s, but it didn’t work. Then, I used BCDEDIT.exe
to modify every single path to bootmgfw.efi
I cound find but to no effect. After every reboot, Windows kept showing up no matter what.So, I’ll be describing here the steps I had to take in order to make everything work as expected, and some guide to troubleshoot any error that you stumble on. Here’s a screenshot of the final result:
What our goals are
- Install and theme refind from a Windows 10 machine
- Make refind the default bootloader
- Prevent Windows from setting itself as the bootloader after every boot
What our goals aren’t
- Cover the details of installing refind from any other Operating System (if you’re not on Windows 10 and wants to install refind, take a look here)
- Make Secure Boot happy (I may or may not make a blog post about this in the future. If you want to use Secure Boot - which I recommend -, you can start by taking a look at the official documentation on this topic)
Refind Windows Download
What you’ll need
- refind (duh)
- Explorer++ or some other file explorer that can be launched as Administrator (I’ll assume that you have one, but it is not required at all. If you feel confortable, you can do all the file moving/editing from your command prompt)
- A Windows 10 bootable USB stick (or DVD if you live in a cave)¹
¹NOTE: The Windows 10 bootable is not required, but is recommended in case you mess things up.
Before we get started
⚠️ UPDATE: Before you proceed, I recommend trying the steps on the official documentation and using this only as last resort. If you do have to follow this path, I recommend you backup your refind installation folder after the installation is complete. When you are installing some OSes (e.g. Linux), they will overwrite refind’s files and prevent you from booting into refind (but booting into the fresh installed OS will work). If this happens, all you have to do is login into the OS you just installed and restore your refind backup.
First of all, go ahead and disable UEFI’s Secure Boot. I won’t go into details on how to do it, since it changes from system to system. If you don’t know how to do it just search around. Pay attention not to disable UEFI, just Secure Boot.
Getting started
In ordet to get started, we’ll need access to the Windows’ FAT32 EFI partition. To do that, we’ll have to mount it. From an elevated command prompt, issue the following command (where
B:
is the letter you want to assign to the partition):After this, you should have your partition mounted at
B:
(or whatever letter you specified). In order to access it, you’ll have to launch Explorer++ as Administrator (see the note below). If you open it up you should see the following structure:NOTE: The old trick of killing
explorer.exe
and launching it from an elevated command prompt doesn’t seem to be working anymore. The B:
drive shows up but is not accessible. I prefer not to mess around with this drive’s permissions, so I’m using this alternative method.Refind Mac
Microsoft Windows’ Boot Environment
Microsoft’s folder intuitively contains files used to boot Windows. I’ll summarize what I think is important about the boot process, but if you want to know more, I suggest you start here (this link is where I’m getting all the info below).
NOTE: I’m not an expert, so I may say something that is not 100% accurate. If you find something that you think is incorrect, please drop me a line.
With just Windows installed, this is what the boot flow looks like:
- UEFI Firmware: Performs CPU and Chipset initialization, load drivers, etc.
- UEFI Boot Manager: Loads UEFI device drivers and loads boot application
- Windows Boot Manager (
EFIMicrosoftBootbootmgfw.efi
): Is responsible for loading the Windows Loader (C:WindowsSystem32winload.efi
) chosen by the user (in case there’s more than one Windows installed).
Replacing Windows Boot Manager
Our goal here is to replace Windows Boot Manager with refind (but, of course, allowing refind to call the Windows Boot Manager later if that’s what the user wants).
In order to do that, we’ll use the EFI fallback file. Here’s a quick definition, but if you want to know more, take a look here and here.
Install Refind
The firmware will look through each EFI system partition on the disk in the order they exist on the disk. Within the ESP, it will look for a file with a specific name and location. On an x86-64 PC, it will look for the file EFIBOOTBOOTx64.EFI.
So… let’s recap: we know that the firmware looks for Windows Boot Manager on
EFIMicrosoftBootbootmgfw.efi
and we know that, if it doesn’t find it, it’ll look for whatever file is at EFIBootbootx64.efi
. Hmm…You probably realized where we are going here, but in case you dind’t: our plan is to set refind as the EFI fallback file and move Windows Boot Loader to some place where the firmware can’t find it. Then, we can create an entry in refind pointing to the place where we moved Windows’ files.
This is actually quite simple, but will require a few hacks. Lets begin.
Installing refind
First of all, rename the existing
EFIBoot
folder to something like EFIBoot.old
, so that you have a backup in case you need it. With this out of the way, create a new EFIBoot
folder and copy refind’s files there. Rename refind_x64.efi
to bootx64.efi
.One more thing, add the following entry to your
refind.conf
file (this is important, trust me), replacing {folder}
to anything BUTMicrosoft
(I’ll use _Microsoft
) and {pathtoyouricon.png}
with the actual path of your icon:After this step, refind is properly set up as the EFI fallback. All we have to do now is make Windows Boot Loader unfindable by the UEFI firmware.
Renaming the Microsoft folder
This should’n need a dedicated section, but is not as straightforward as it seems. The
EFIWindows
folder cannot be renamed from Windows (since it is kept in use).So, you’ll need to get a command prompt at boot. In order to do that I usually use the Windows bootable (just press
Shift + F10
on menu), but there are other ways to do it in case you didn’t set up your bootable media.At the boot command prompt, mount the EFI partition and navigate to the EFI folder:
At this point, if you explore this folder, you should have your
Boot
folder with refind’s files and Microsoft
folder with Windows’ ones. All you have to do is rename the Microsoft folder to the same name you used on your refind’s menuentry
.⚠️Remember to replace
{folder}
by the exact same thing you used in your refind.conf
file.And that’s it. Close the command prompt and restart your computer. Next time you boot your firmware should not find Windows Boot Manager and fallback to refind. Since we manually added the Windows entry to refind, you should be able to boot into Windows from there.
Troubleshooting
I messed things up and now I can’t boot my computer
Keep calm. This probably happened to me a few dozen times in the process of trying to install refind.
All you have to do is fix your EFI partition. I usually just format the partition and ask Windows to rebuild it, this way you should have a fresh start. Note that this will only work if Windows is the only operating system installed in this partition.
To format and rebuild the partition, boot into your Windows 10 media (I hope you have one), launch a command prompt and execute the following:
This should rebuild your EFI partition and you should be able to boot into Windows now.
Refind shows up without any option (hangs)
This happened to me. In my case it was an issue with the NTFS driver, so all I had to do was remove the
ntfs_x64.efi
file from the EFIBootdrivers_x64
folder.Refind Boot Manager Download Mac Installer
NOTE: You don’t need the NTFS driver to boot into Windows, since the EFI partition is using FAT. For more info, take a look here
If it isn’t a drive issue for you, see if any of the below helps. This is a quote from refind’s author Roderick W. Smith:
Refind Boot Manager Download Mac High Sierra
This sort of problem normally indicates a filesystem issue – rEFInd is getting stuck in an infinite loop attempting to read one of the filesystems on the disk. I recommend you try the following:
1. If you have any external disks attached to the computer, try unplugging them. Such disks sometimes cause problems. If this fixes the problem but you need to use the external disk on a regular basis, you may need to further debug the problem as below; but if it’s just a USB flash drive that you don’t need to leave permanently attached, then this should be the end of it.
2. Remove (or move) all the EFI filesystem drivers from the “drivers”, “drivers_x64”, and “drivers_ia32” subdirectories of the rEFInd installation directory. (Normally there’ll be only one drivers subdirectory; just remove all those driver files.) Reboot. 3. If rEFInd hangs even with no EFI filesystem drivers installed, then the problem is likely with the ESP or some other FAT filesystem. You can try doing a filesystem check on such partition(s) with dosfsck in Linux, CHKDSK in Windows, or similar utilities. In an extreme case, you could try backing up the ESP (and/or other FAT partitions), creating a fresh filesystem, and restoring the data.
4. If rEFInd comes up and shows a menu after removing the filesystem drivers, even if the menu options are incomplete, then this is good; it indicates that there’s a problem with one of the filesystems or their drivers. You can then begin restoring the driver(s) that you need. Normally this will be just one, for whatever filesystem holds your Linux kernels. (You do NOT need the NTFS driver to boot Windows.)
5. If rEFInd works at this point, then you’re done – the problem was in some superfluous driver(s) that you weren’t using. 6. If rEFInd hangs, then you can try booting in some other way and using a filesystem check utility like fsck on the filesystem(s) that can be read with the driver(s) you restored. With any luck this will fix the problem.
7. If the problem persists at this point, you have a number of options:
a) Remove the offending filesystem driver, install GRUB, and use it to boot the Linux kernel. GRUB uses a different filesystem driver and so may not be affected.
b) If you don’t already use one, create a small (~1GiB) partition to use as /boot, using a different filesystem than your main Linux partition. You can then install the EFI driver for the /boot partition, copy the contents of /boot to it, and adjust /etc/fstab to mount this partition at /boot. The ext4fs, Btrfs, and ReiserFS EFI drivers are the fastest ones.
c) Do as in option b, but use FAT, which requires no special driver. This works better with some distributions than others, though. Debian-based distributions often use symbolic links, which aren’t supported on FAT, in /boot, for instance. Some Arch Linux users like to use FAT on /boot (or mount the ESP at /boot), by contrast.
d) Completely wipe and re-install the offending partition(s). It’s possible that the EFI driver is flaking out because of leftover data that wasn’t completely erased when you created the partition. If you opt to do this, I recommend completely zeroing the partition (with “dd if=/dev/zero of=/dev/{wherever}” or something similar) before restoring it.
e) Try a different EFI filesystem driver. The efifs project (http://efi.akeo.ie/) offers a large number of EFI filesystem drivers, and its variant of the rEFInd driver might work better on your system.
There may be some other options and potential causes I’m forgetting.
1. If you have any external disks attached to the computer, try unplugging them. Such disks sometimes cause problems. If this fixes the problem but you need to use the external disk on a regular basis, you may need to further debug the problem as below; but if it’s just a USB flash drive that you don’t need to leave permanently attached, then this should be the end of it.
2. Remove (or move) all the EFI filesystem drivers from the “drivers”, “drivers_x64”, and “drivers_ia32” subdirectories of the rEFInd installation directory. (Normally there’ll be only one drivers subdirectory; just remove all those driver files.) Reboot. 3. If rEFInd hangs even with no EFI filesystem drivers installed, then the problem is likely with the ESP or some other FAT filesystem. You can try doing a filesystem check on such partition(s) with dosfsck in Linux, CHKDSK in Windows, or similar utilities. In an extreme case, you could try backing up the ESP (and/or other FAT partitions), creating a fresh filesystem, and restoring the data.
4. If rEFInd comes up and shows a menu after removing the filesystem drivers, even if the menu options are incomplete, then this is good; it indicates that there’s a problem with one of the filesystems or their drivers. You can then begin restoring the driver(s) that you need. Normally this will be just one, for whatever filesystem holds your Linux kernels. (You do NOT need the NTFS driver to boot Windows.)
5. If rEFInd works at this point, then you’re done – the problem was in some superfluous driver(s) that you weren’t using. 6. If rEFInd hangs, then you can try booting in some other way and using a filesystem check utility like fsck on the filesystem(s) that can be read with the driver(s) you restored. With any luck this will fix the problem.
7. If the problem persists at this point, you have a number of options:
a) Remove the offending filesystem driver, install GRUB, and use it to boot the Linux kernel. GRUB uses a different filesystem driver and so may not be affected.
b) If you don’t already use one, create a small (~1GiB) partition to use as /boot, using a different filesystem than your main Linux partition. You can then install the EFI driver for the /boot partition, copy the contents of /boot to it, and adjust /etc/fstab to mount this partition at /boot. The ext4fs, Btrfs, and ReiserFS EFI drivers are the fastest ones.
c) Do as in option b, but use FAT, which requires no special driver. This works better with some distributions than others, though. Debian-based distributions often use symbolic links, which aren’t supported on FAT, in /boot, for instance. Some Arch Linux users like to use FAT on /boot (or mount the ESP at /boot), by contrast.
d) Completely wipe and re-install the offending partition(s). It’s possible that the EFI driver is flaking out because of leftover data that wasn’t completely erased when you created the partition. If you opt to do this, I recommend completely zeroing the partition (with “dd if=/dev/zero of=/dev/{wherever}” or something similar) before restoring it.
e) Try a different EFI filesystem driver. The efifs project (http://efi.akeo.ie/) offers a large number of EFI filesystem drivers, and its variant of the rEFInd driver might work better on your system.
There may be some other options and potential causes I’m forgetting.