You are not logged in.
Upon booting I get this error.
EFI stub: ERROR: Failed to read file
Trying to load files to higher address
EFI stub: ERROR: Failed to read file
I have been running arch on a laptop for a few months now and this happened all of a sudden. What could have caused this? What can I do to diagnose and fix it?
Last edited by nostro (2016-06-29 03:38:34)
Offline
Which bootloader are you using?
Offline
Which bootloader are you using?
systemd-boot
Last edited by nostro (2016-06-27 03:39:31)
Offline
Try booting from a live cd and reinstall systemd-boot.
Offline
Look like the efi stub (part of the kernel that boot the kernel under UEFI) can't find the kernel (or initrd). That's weird. Are you not referring to an non existent initramfs file? Try to fsck the system partition. You can also try to reinstall systemd boot as suggested.
If that does not work, boot an UEFI shell and try to read the kernel and initrd (for example copy them on a removable media and then check that they were properly copied). You may also try to launch the kernel from the UEFI shell with the good options (initrd are passed with the initrd= option).
As mentioned previously, you will need a bootable CD.
Updated: I have a similar error if I specify a non existent initrd file. It is likely your issue.
Last edited by olive (2016-06-27 07:49:29)
Offline
Hi guys, thanks for the replies. So I have set up my live USB and booted. As suggested I used fsck (I had to man it first, I'm not too familiar with it). I tried...
$fsck /dev/sda
which yielded a big quote saying /dev/sda does not describe ext2/ext3/ext
I also tried...
$fsck /dev/sda1
which yielded
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
I'm assuming the second attempt was the correct way to use fsck. What is a dirty bit should I try removing it?
Last edited by nostro (2016-06-28 03:17:19)
Offline
Dirty bit: https://technet.microsoft.com/en-us/lib … 90641.aspx
And yes, go ahead and see if fsck can fix it.
Offline
It's better to fix your error from fsck but it is unlikely your issue. Can you double check the path of the initrd you pass to the EFI stub? You must specify the full path of the initramfs, taking as root the root of the partition from which the kernel is booted. If yu have still issue post the exact content of the EFI partition as well as your systemd configuration files.
Offline
if you already had arch installed, only certain things could have changed in your efi partition. like has anything changed in your loader.conf or arch.conf? have you compiled a custom kernel since then? messed around with your partitions? need to make a new ramdisk? does your layout match the wiki basically? like any clues?
i can't put this zsh config on the forum: http://dotshare.it/dots/1144/
Offline
It's better to fix your error from fsck but it is unlikely your issue. Can you double check the path of the initrd you pass to the EFI stub? You must specify the full path of the initramfs, taking as root the root of the partition from which the kernel is booted. If yu have still issue post the exact content of the EFI partition as well as your systemd configuration files.
How would I do that from the live USB?
Offline
@nostro Just mount your partitions: https://wiki.archlinux.org/index.php/Mount
Last edited by olive (2016-06-28 10:36:07)
Offline
So I have mounted my boot partition. initamfs-linux.img is located at the root of my boot device.
here is my /entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /inter-ucode.img
initrd /initramfs-linux.img
options root=PARTUUID=... rw initrd=/intel-ucode.img initrd=/initramfs-linux.img
they seem to be right assuming root starts with my boot device.
if you already had arch installed, only certain things could have changed in your efi partition. like has anything changed in your loader.conf or arch.conf? have you compiled a custom kernel since then? messed around with your partitions? need to make a new ramdisk? does your layout match the wiki basically? like any clues?
My boot partition was working for the past few months, i did not intentionally (nor consciously) change loader.conf or arch.conf. My partition layout is one partition for boot, one swap partition and one for the rest of root (sda1, sda2, sda3 in that order).
Last edited by nostro (2016-06-28 22:01:52)
Offline
I don't think you need the "initrd=xxxx" parts in your option line.
Matt
"It is very difficult to educate the educated."
Offline
I don't think you need the "initrd=xxxx" parts in your option line.
https://wiki.archlinux.org/index.php/Mi … de_updates
for intel microcode I think I should.
Offline
nah, you don't, and your options root= can just be /dev/sdax or whatever, too. the wiki isn't too clear on these matters. i threw away the partuuid idea as something too hard to remember. i assume your two initrd entries have something to do with intel cpu clocking, but you might mess around with that to see if that's the problem.
maybe it would be a good idea to redo the whole systemd-boot install from the beginner's wiki? i'd start by making a new initial ramdisk. check in your boot partition to see if all the files mentioned in your arch.conf even exist, and work from there.
Last edited by likeahundredninjas (2016-06-28 23:58:27)
Offline
nah, you don't, and your options root= can just be /dev/sdax or whatever, too. the wiki isn't too clear on these matters. i threw away the partuuid idea as something too hard to remember.
The final sentence, while telling, is the only thing that prevents your post from being a clean sweep of wrong...
Offline
@jasonwryan u so smart u just solved this man's problem
edit: i won't fight back too hard since i borrowed some stuff from your vimprobable2 config but don't you think that trying to flame me might be counter-productive?
Last edited by likeahundredninjas (2016-06-29 00:03:05)
Offline
I wasn't flaming you: I was ensuring that no-one else that read this thread would be left with the impression that not using UUIDs was a good idea, or that the wiki was unclear about that.
Offline
Should I try reinstalling systemd-boot? How would I do that from a live cd?
I imagine it being along the lines of...
1) chroot to root partition
2) bootctl install
Would I have to remove the old systemd-boot?
edit: all the files in my arch.conf exist where they should
Last edited by nostro (2016-06-29 02:26:26)
Offline
No, you need to fix your arch.conf. You need either the initrd lines OR initrd= in the options. Like you were told before, take them out of the options line.
Last edited by Scimmia (2016-06-29 02:36:16)
Offline
I wasn't flaming you: I was ensuring that no-one else that read this thread would be left with the impression that not using UUIDs was a good idea, or that the wiki was unclear about that.
what was i wrong about? you can use, in my case, 'options root=/dev/sda3 rw' and the wiki in no way mentions that. it's probably safest to wear a helmet while crossing the street, but in most cases nobody regrets not doing so. i didn't say that it was the best way to go about it. only mentioned it as an alternative. then you strut in, quipping about my wrongness and in no way contributing to the thread.
i can't put this zsh config on the forum: http://dotshare.it/dots/1144/
Offline
what was i wrong about? you can use, in my case, 'options root=/dev/sda3 rw' and the wiki in no way mentions that.
Yeah, that works until your firmware decides to change the order it detects drives. Or you boot with a USB drive plugged in and the numbers change. It's a very fragile way to do things and is NOT recommended.
Offline
jasonwryan wrote:I wasn't flaming you: I was ensuring that no-one else that read this thread would be left with the impression that not using UUIDs was a good idea, or that the wiki was unclear about that.
what was i wrong about? you can use, in my case, 'options root=/dev/sda3 rw' and the wiki in no way mentions that. it's probably safest to wear a helmet while crossing the street, but in most cases nobody regrets not doing so. i didn't say that it was the best way to go about it. only mentioned it as an alternative. then you strut in, quipping about my wrongness and in no way contributing to the thread.
You realise multiple accounts is forbidden here?
Offline
No, you need to fix your arch.conf. You need either the initrd lines OR initrd= in the options. Like you were told before, take them out of the options line.
This worked, sorry for not doing it sooner, thank you all.
Solved.
Offline