You are not logged in.
System Info:
3.14.1-1-ARCH
refind-efi-0.7.8-1
Problem: rEFInd does not boot arch linux.
When booting the machine, rEFInd's gui selection menu presents options for windows or linux.
Upon selecting linux, the following is displayed:
rEFInd - Booting OS
Starting vmlinuz-linux
Using load options 'ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772 initrd=\boot\initramfs-linux.img'
Invalid loader file!
Error: Not Found while loading vmlinuz-linux
* Hit any key to continue *
Below are the outputs of blkid, lsblk -f, the structure of /boot and cats of /boot/efi/EFI/refind/refind.conf and /boot/refind_linux.conf
blkid
/dev/sda1: UUID="2014-05-01-05-20-54-00" LABEL="ARCH_201405" TYPE="iso9660" PTUUID="1535e446" PTTYPE="dos" PARTUUID="1535e446-01"
/dev/sda2: SEC_TYPE="msdos" LABEL="ARCHISO_EFI" UUID="96ED-5DA9" TYPE="vfat" PARTUUID="1535e446-02"
/dev/sdb1: LABEL="Recovery" UUID="E63202B832028E2D" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e3729f62-9c32-4ac9-a9dd-56a9c073e7e5"
/dev/sdb2: UUID="9C03-552D" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="9bcdb083-82e9-49e6-b03d-fd376585d633"
/dev/sdb4: UUID="B2161962161928BD" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="6de10de9-3322-486c-8108-bf14f5a7bcb6"
/dev/sdb5: UUID="bd6b3352-1b79-4c70-a061-21ff87ff0772" TYPE="ext4" PARTLABEL="root" PARTUUID="699115b1-1413-42b3-9fd7-a80a8a51b6fa"
/dev/sdb6: UUID="e71e6a25-913a-4932-9fc9-81942a5dab2e" TYPE="ext4" PARTLABEL="home" PARTUUID="1fc33e24-4c26-459c-a80a-9440e1f4e683"
/dev/loop0: TYPE="squashfs"
/dev/loop1: UUID="f07bfb26-3377-487a-a022-efd840614a0d" TYPE="ext4"
/dev/loop2: UUID="f07bfb26-3377-487a-a022-efd840614a0d" TYPE="ext4"
/dev/mapper/arch_root-image: UUID="f07bfb26-3377-487a-a022-efd840614a0d" TYPE="ext4"
/dev/sdb3: PARTLABEL="Microsoft reserved partition" PARTUUID="fa94c812-e1ff-4603-ba97-be7f155f12c8"
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
├─sdb1
├─sdb2 /boot/efi
├─sdb3
├─sdb4
├─sdb5 /
└─sdb6 /home
sdc
├─sdc1
└─sdc2
loop0
loop1
└─arch_root-image /etc/resolv.conf
loop2
└─arch_root-image /etc/resolv.conf
Structure of /boot
*note: /boot is really the original microsoft efi system partition (in my case, /dev/sda2) that I mounted to /boot/efi and whose structure is shown below:
/boot
├── efi
│ ├── EFI
│ │ ├── Boot
│ │ │ └── bootx64.efi
│ │ ├── Microsoft
│ │ │ └── Boot
│ │ │ ├── BCD
│ │ │ ├── BCD.LOG
│ │ │ ├── BCD.LOG1
│ │ │ ├── BCD.LOG2
│ │ │ ├── bg-BG
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── bootmgfw.efi
│ │ │ ├── bootmgr.efi
│ │ │ ├── BOOTSTAT.DAT
│ │ │ ├── boot.stl
│ │ │ ├── en-US
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Fonts
│ │ │ │ ├── {{FONTS REMOVED FOR BREVITY}}
│ │ │ ├── Resources
│ │ │ │ ├── bootres.dll
│ │ │ │ └── en-US
│ │ │ │ └── bootres.dll.mui
│ │ ├── refind
│ │ │ ├── drivers_x64
│ │ │ │ └── ext4_x64.efi
│ │ │ ├── icons
│ │ │ │ ├── {{ICONS REMOVED FOR BREVITY}}
│ │ │ ├── keys
│ │ │ │ ├── altlinux.cer
│ │ │ │ ├── canonical-uefi-ca.der
│ │ │ │ ├── fedora-ca.cer
│ │ │ │ ├── openSUSE-UEFI-CA-Certificate.cer
│ │ │ │ ├── refind.cer
│ │ │ │ └── SLES-UEFI-CA-Certificate.cer
│ │ │ ├── refind.conf <=================== http://ix.io/cFy
│ │ │ └── refind_x64.efi
│ │ └── tools
│ ├── initramfs-linux-fallback.img
│ ├── initramfs-linux.img
│ └── vmlinuz-linux
└── refind_linux.conf <===================== http://ix.io/cFw
49 directories, 190 files
Excerpt of /boot/efi/EFI/refind/refind.conf
(full file available here: http://ix.io/cFy)
menuentry Linux {
icon EFI/refind/icons/os_arch.icns
volume "EFI system partition"
loader /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
options "ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772"
cat /boot/refind_linux.conf
"Boot with standard options" "ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772 "
"Boot to single-user mode" "ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772 single"
"Boot with minimal options" "ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772"
Last edited by dk0r (2014-05-28 01:36:16)
Offline
A couple of things that are important:
refind_linux.conf should be in the same directory as vmlinuz-linux and the initrd so it should be in /boot/ since that is where your kernel is.
In your refind.conf stanza you have the line volume "EFI system partition" which tells rEFInd that the loader is in that partition whereas the kernel and initrd files seem to be in /boot/ which is not the EFI System Partition. Hence the volume line needs to specify the filesystem where /boot is which in your case appears to be /dev/sdb5 so the volume line in that case should be volume "root" since root is the filesystem label for sdb5? Note that if you update to rEFInd version 0.8.0 or later then you can use the partuuid value to specify the volume but in the version you are using that token for the volume was not yet implemented.
In the stanza you quoted there was no terminating } but maybe you just didn't copy it to your post.
Making these changes may let the system boot to the arch kernel.
Last edited by mcloaked (2014-05-27 20:21:16)
Mike C
Offline
Well, according to lsblk, the rEFInd files and the kernel are in /dev/sdb2 which is in fact labeled "EFI system partition". The original post states that /dev/sda2 is mounted to /boot/efi instead of /dev/sdb2, but I assumed that was a typo.
However, the fact that refind_linux.conf is in /boot, as mcloaked mentioned, may be a problem: that would mean it is not in /dev/sdb2 but in fact in /dev/sdb5.
I am also confused as to why the loader and initrd are located at '/boot/vmlinuz-linux' and '/boot/initramfs-linux.img' instead of '/vmlinuz-linux' and '/initramfs-linux.img', since they seem to reside at the root of /dev/sdb2.
Offline
Thanks ΔEΔt and mcloaked. You both nailed it!
The solution:
1.) Move refind_linux.conf into /boot/efi/ where it will be collocated w/ the kernel and initrd
2.) Revise stanza in /boot/efi/EFI/refind/refind.conf to reflect correct mount points as follows:
menuentry Linux {
icon EFI/refind/icons/os_arch.icns
volume "root"
loader /vmlinuz-linux
initrd /initramfs-linux.img
options "ro root=UUID=bd6b3352-1b79-4c70-a061-21ff87ff0772"
}
As clarification for prospective readers, my mounting scheme was as follows:
sdX5 ===(is mounted to)==> /
sdX6 ===(is mounted to)===> /home
sdX2 ===(is mounted to)===> /boot/efi
*note sdX2 was my original microsoft efi partition
Last edited by dk0r (2014-05-28 01:55:54)
Offline
... ΔEΔt
...Snort!
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
Great stuff! hbar and ΔEΔt I am really uncertain about! Glad the boot issues were resolved.
Last edited by mcloaked (2014-05-28 08:03:43)
Mike C
Offline
Good one!
Although you should be careful with Δt: time is not a quantum observable, so the definition of Δt is a priori not so obvious.
Offline