I recently purchased a new computer, a Clevo w230ss. I’ll have a review of the computer in the near future but for now I wanted to discuss setting up dual booting between Arch Linux and Windows from scratch using UEFI with rEFInd as the boot manager.
On my last computer while I did use UEFI I ended up sticking with GRUB as my boot manager for Linux as I wasn’t too familiar with UEFI at the time. This time I decided to use a proper UEFI boot manager and after examing the options decided on rEFInd. The thing that particularly attracted me to it was the fact that it had an attractive graphical interface and could manage booting from a variety of sources directly within UEFI.
This bring a number of benefits including a cleaner boot process and less moving parts with the elimination of GRUB. Another benefit is the automatic discovery of UEFI boot sources, for example when you want to boot a UEFI USB stick rEFInd will automatically scan it and present it as a boot option, no struggling to hit a function key in time to get into the BIOS boot menu.
On my new computer I have two SSDs, one for Arch Linux and the other for Windows. As is typically the case, I installed Windows first on one SSD and followed that by installing Arch Linux on the second one. In terms of partitions, I used GParted to create a 512MB boot partition on the Windows SSD with the remainder of the drive being used by Windows itself. The Windows installer will automatically setup it’s boot loader in the EFI partition.
Once I had both operating systems installed I then attempted to install rEFInd from the arch-chroot installation. I installed the rEFInd package through pacman and ran the refind-install script as specified in the Arch wiki but had no luck as the script would fail claiming the ESP wasn’t valid. I’m not sure if the issue was due to the fact I had the EFI partition mount at /boot instead of /boot/efi but I didn’t want to change things at this point.
What I ended up doing was reading the rEFInd instructions in more detail and followed the manual installations for installing it under Windows. As you can see here, the instructions are dirt simple and I got it up and running in no time. In retrospect, a much cleaner process for getting things of going would likely be something like this:
- Create EFI and Windows partitions on drive 1
- Install Windows on drive 1
- Install rEFInd using the Windows manual installation instructions
- Plug-in the Arch UEFI USB stick and reboot the computer
- When the rEFInd screen appears, boot to the Arch UEFI stick
- Install Arch as per normal
- Shutdown Arch install shell and remove stick as instructed
- Restart computer and when rEFInd appears boot to the Arch selection
- Complete Arch installation by installing whatever packages you need
Anyways, after the process was complete I had a nice boot manager as shown below.