You are not logged in.
Hi,
unfortunately I do have a very urgent problem.
Besides arch I also have windows 10 installed which I use once in a while. After I booted windows this time and wanted to reboot in arch, I get the error: error loading \vmlinuz-linux: not found
searching the web did not really help. Everything I found was related to some errors when installing arch, but my system was running nicely for years now. The only thing looking similar to my problem is: http://tutorialswitch.com/not-found/arc … -found.php
but this looks strange to me and I do not trust it.
I use simple efistub. When I tried the bios one time bootmanager, I could choose a \vmlinuz-linux file, so it seems to be there. However the same error appeared.
I fear I do not have any further information now, also I am only able to run windows. I am currently traveling and do not even have a bootable arch usb stick at hand but I am working getting one. What other information should I provide?
EDIT: I do have a bootable arch usb stick now. as far as I can tell, all the files are where they have always been. The last change of vmlinuz-linux was one week ago when I updated.
Quick help would be extremely appreciated as I really depend on my arch system.
Thank you very much in advance
Last edited by Ada (2018-01-03 09:24:05)
Offline
Windows is known for messing up the boot process according to its own liking. I presume you have already done so, but for future reference, following the advice from this wiki entry is recommended.
I use simple efistub.
Could you elaborate on what this means? Did you follow the "Using UEFI directly" section from here? If so, rerunning the respective commands from a chrooted system should be the first option to try.
If you have a bootloader sitting between the UEFI init process and the kernel's initramfs, which is it and have you tried reinstalling it from a chrooted system?
In addition to the above questions: Should you have issued any commands in the meantime, please also let us know what those and their respective outputs are.
Offline
Thank you very much for your advices.
Concerning "simple efistub": correct, this is exactly what I mean. I think I also followed the wiki entry you linked, concerning dual boot.
If so, rerunning the respective commands from a chrooted system should be the first option to try.
I think I did a something equivalent by using the bios GUI to change to boot entries. Is it not?
If you have a bootloader sitting between the UEFI init process and the kernel's initramfs, which is it and have you tried reinstalling it from a chrooted system?
No, I do not think there is an additional bootloader.
Should you have issued any commands in the meantime, please also let us know what those and their respective outputs are.
Not really. I only looked up if the missing file is still where it should be, which it seams to be.
Offline
I think I did a something equivalent by using the bios GUI to change to boot entries. Is it not?
I don't know of any method that could guarantee a correct answer to this question. But try to restore your setup according to "Using UEFI directly" and report back to us with the issued commands and outputs.
Offline
I get rather desperate now.
I redid the commands exactly as in the wiki:
efibootmgr --disk /dev/sdb --part 1 --create --gpt --label "Arch Linux" --loader /vmlinuz-linux --unicode "root=/dev/sdb2 rw initrd=/initramfs-linux.img"it is so straight forward I cannot see what the problem might be and it worked perfectly when I set it up.
I then did
efibootmgr --verboseThe point where my old arch entry and the new entry differ is
/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS........x....B.C.D.O.B.J.T.=.{...for the old entry, and for the new:
/File(\vmlinuz-linux)r.o.o.t.=./d.e.v./.s.d.b.2. .r.w. .i.n.i.t.r.d.=./.i.n.i.t.r.a.m.f.s.-.l.i.n.u.x...i.m.g.To me the first one looks wrong. However, neither of the two works.
I would also just install some other bootloader if this restores my system quickly. But GRUB needs a BIOS boot partition and I am not sure if systemd-boot is any quicker to setup. I could also perfectly without windows. My main goal really is to get my linux back quickly.
Offline
I am not entirely sure how to read those entries (and don't have the time to look it up now) but obviously
/File(\EFI\Microsoft\Boot\bootmgfw.efi)
and
/File(\vmlinuz-linux)
seems to hint that you should check whether vmlinuz-linux is indeed located right at the top of your ESP (i.e., in whatever folder is mounted at ESP). If not, it seems that you need to adjust the path to vmlinux-linux to an absolute one with the root at ESP.
If that doesn't work and an immediate solution is needed, I would recommend systemd-boot for its comfortable setup routine.
Offline
Thanks a lot for the fast reply.
Maybe I do not understand you correctly, but I think this is an absolute path. My ESP is /dev/sda1 (different to what I wrote before) and vmlinuz-linux is lying exactly there.
I thought the initramfs could be the problem, not correctly mounting the boot partition? But mkinitcpio gives me
'/lib/modules/4.11.3-1-ARCH' is not a valid kernel module directory I will look up systemd-boot then. Could it interfere with the current setup?
Offline
You understood me correctly. I simply meant, judging from the two entries, that it might be worth to double-check the location of vmlinuz-linux. But as you stated, that seems to be in order.
You did not mention this (if you have tried this before); please share _all_ the information available to you. In any case, this error suggests that some package versions are not properly aligned. Also we are past 4.11 by now. I suggest a `pacman -Syu`.
It shouldn't. Also, install os-prober to detect your Windows boot entry.
Offline
I only just tried this.
My last update was on Dec 26.
I have trouble getting a internet connection via chroot right now to update again.
I set up systemd-boot now but the problem remains the same.
I will keep trying setting up the internet connection and update my system.
Thanks again do much!
EDIT: I updated my system. I got the warning: warning given when extracting /boot/vmlinuz-linux (Could not unlink)
trying pacman -Syu again, it said I am up to date.
mkinitcpio still gives the exact same error
EDIT2: i just recognized, my usb stick is running Linux 4.11, which might be incompatible with my system. I will change that
EDIT3: I did
mkinitcpio -g /boot/intramfs-linux.img -k 4.14.10-1-ARCHThe output said it was successful, but it did not solve the problem
Last edited by Ada (2018-01-03 18:34:58)
Offline
Some common trouble-shooting:
1. While updating, running mkinitcpio, e.t.c., did you make sure that your boot partition was mounted?
2. systemd-boot requires the ESP to be mounted at /boot. Is this the case in your setup?
3. Can you please post the contents of the systemd-boot configuration files and the directory/files tree rooted at /boot?
Last edited by robg (2018-01-03 18:54:42)
Offline
1. I think so. what I did from my usb stick:
mount /dev/sda2 /mnt/
mount /dev/sda1 /mnt/boot/
arch-chroot /mntshould be correct, right?
2. yes I think /dev/sda1 should be my ESP
3.:
what is in /dev/sda1 and therefore in /boot:
EFI/
loader/
syslinux/ #no idea where that came from
'System Volume Information''/
FSCK0000.REC
FSCK0001.REC
initramfs-linux-fallback.img
initramfs-linux.img
intel-ucode.img
xen-4.8.0.config #normally I do not boot via xen. But so far it always worked if I did. No it doesn't either
xen-4.8.0.efi
xen-4.8.0.gz
xen.cfg
systemd-boot:
loader.conf
#timeout 2
default arch
arch.conf:
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=/dev/sda2 rw
When I run
bootctl statusI get in additionally to the information in the conf file:
/boot/loader/entries/arch.conf:2: Unknown line "title Arch"
/boot/loader/entries/arch.conf:3: Bad syntax
/boot/loader/entries/arch.conf:4: Bad syntax
/boot/loader/entries/arch.conf:5: Bad syntax
/boot/loader/entries/arch.conf:6: Unknown line "options root=/dev/sda2"
title: arch.conf
Do I see this correctly, that it should not be a problem of the bootloader, as it seems to correctly find initramfs-linux.img, but then the kernel cannot be found? What could be the reason that mkinitcpio does not fix that problem?
EDIT: I just recognized, that vmlinuz-linux.img is not there anymore. But it was definitely there before!
EDIT2: after realizing vmlinuz-linux is now gone, i just did
pacman -S linuxand everything is more or less fine again.
I still have no idea what the initial problem was. Thank you very much for your help!
Last edited by Ada (2018-01-03 20:50:30)
Offline
I just recognized, that vmlinuz-linux.img is not there anymore. But it was definitely there before!
If you did not unmount anything or exit the chroot before checking, then this is very worrying behavior.
after realizing vmlinuz-linux is now gone, i just did `pacman -S linux`
Did it prompt you install or reinstall the kernel? If the former, then this is even more worrying.
Do I see this correctly, that it should not be a problem of the bootloader, as it seems to correctly find initramfs-linux.img, but then the kernel cannot be found? What could be the reason that mkinitcpio does not fix that problem?
If systemd-boot is indeed loaded (next time, for debugging purposes, it's worth to have a little timeout) and you are again thrown to "error: error loading \vmlinuz-linux: not found", then your guess is very reasonable. Regarding your second question: In alignment with what I have written before, something odd was (is?) going on with your kernel package. I missed your previous piece of information,
EDIT: I updated my system. I got the warning: warning given when extracting /boot/vmlinuz-linux (Could not unlink)
, which would have already been a strong hint.
In any case, the update seems to have done the job. As to why things were off in the first place, I think I have to delegate this issue to someone more competent than me.
Offline