You are not logged in.
Pages: 1
I've installed my arch system about 8 months ago and every system upgrade worked well. But now, my gummiboot bootloader doesn't start anymore (nothing happens, just the next bootentry is tried). As far as i know, i've made no manual changes, so it's a bit confusing. I tried to reinstall gummiboot - but still no luck. Currently, i've installed grub to a usb stick - which works for now. But this isn't a durable solution. A few details:
$ efibootmgr
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0005
Boot0000* Linux Boot Manager
Boot0001* Hard Drive
Boot0002* UEFI OS
Boot0005* UEFI: Sony Storage Media
$ efivar -n 8be4df61-93ca-11d2-aa0d-00e098032b8c-Boot0000 -p
GUID: 8be4df61-93ca-11d2-aa0d-00e098032b8c
Name: "Boot0000"
Attributes:
Non-Volatile
Boot Service Access
Runtime Service Access
Value:
00000000 01 00 00 00 72 00 4c 00 69 00 6e 00 75 00 78 00 |....r.L.i.n.u.x.|
00000010 20 00 42 00 6f 00 6f 00 74 00 20 00 4d 00 61 00 | .B.o.o.t. .M.a.|
00000020 6e 00 61 00 67 00 65 00 72 00 00 00 04 01 2a 00 |n.a.g.e.r.....*.|
00000030 01 00 00 00 22 00 00 00 00 00 00 00 de ff 0f 00 |...."...........|
00000040 00 00 00 00 80 8b f8 1f d9 36 57 4a 82 46 a6 cd |.........6WJ.F..|
00000050 1b c5 a3 bd 02 02 04 04 44 00 5c 00 45 00 46 00 |........D.\.E.F.|
00000060 49 00 5c 00 67 00 75 00 6d 00 6d 00 69 00 62 00 |I.\.g.u.m.m.i.b.|
00000070 6f 00 6f 00 74 00 5c 00 67 00 75 00 6d 00 6d 00 |o.o.t.\.g.u.m.m.|
00000080 69 00 62 00 6f 00 6f 00 74 00 78 00 36 00 34 00 |i.b.o.o.t.x.6.4.|
00000090 2e 00 65 00 66 00 69 00 00 00 7f ff 04 00 |..e.f.i....... |
$ find /boot
/boot
/boot/vmlinuz-linux
/boot/initramfs-linux.img
/boot/initramfs-linux-fallback.img
/boot/EFI
/boot/EFI/gummiboot
/boot/EFI/gummiboot/gummibootx64.efi
/boot/EFI/Boot
/boot/EFI/Boot/BOOTX64.EFI
/boot/loader
/boot/loader/entries
/boot/loader/entries/arch-fb.conf
/boot/loader/entries/arch.conf
/boot/loader/loader.conf
/boot/intel-ucode.img
$ cat /boot/loader/loader.conf
timeout 3
default arch
$ cat /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux
initrd /intel-ucode.img
initrd /initramfs-linux.img
options root=UUID=d9ef388f-c69f-41fa-9481-9c83b97fff1b rw
$ fdisk -l
[...]
Device Start End Sectors Size Type
/dev/sda1 34 1048575 1048542 512M EFI System
[...]
$ cat /etc/fstab
# /dev/sda2 (/)
UUID=d9ef388f-c69f-41fa-9481-9c83b97fff1b / ext4 rw,relatime,data=ordered 0 1
# efivarfs
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
# /dev/sda1 (/boot)
UUID=60FF-25C2 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
fsck /dev/sda1 also shows nothing wrong. Any ideas what the problem could be or how i could debug further?
PS
Secure and fast boot is disabled.
Offline
You might use efibootmgr to change the BIOS boot order. Your boot is the fifth at the moment.
You might try to remake the gummiboot install. See here
For my BIOS I had to remove one entry because of limited space. The efibootmgr shown me the right setup, but in the realty the NVRAM didn't accepted the 4th entry.
Actually I have entries for: direct boot into kernel, Win8 and gummi. Rarely I use to chance boot sequence. My favorite is the kernel call.
If you don't mind, you might overwrite $esp/EFI/Boot/bootx64.efi with $esp/boot/EFI/gummiboot/gummibootx64.efi, after backup bootx64.efi, that will make gummiboot your default entry.
do it good first, it will be faster than do it twice the saint
Offline
As suggested, it seems likely that your BIOS boot order got re-arranged by something. First use efibootmgr to check the order:
# efibootmgr
Then, to change the boot order to, say 3, 4, 0:
efibootmgr -o 0003,0004,0000
Offline
Do you see any kernel output?
I doubt you can.
Just a further check, what says
$ lsblk -o NAME,UUID
# gummiboot status
A check on gummiboot
md5sum /boot/EFI/gummiboot/gummibootx64.efi
6a8e02cb697ba62768bcc8673e2f66b7 /boot/EFI/gummiboot/gummibootx64.efi
$ grep -i gummi /var/log/pacman.log
# 8<--------8<--------8<--------8<--------8<--------
[2014-06-02 16:04] [PACMAN] upgraded gummiboot (44-2 -> 45-1)
# 8<--------8<--------8<--------8<--------8<--------
do it good first, it will be faster than do it twice the saint
Offline
As suggested, it seems likely that your BIOS boot order got re-arranged by something.
My boot order is fine, "Linux Boot Manager" seems to be the correct entry. I use "UEFI: Sony Storage Media" because this is my boot usb stick and currently the only way to boot the system.
You might use efibootmgr to change the BIOS boot order.
I've tried this via efibootmgr and the native uefi setup of my mainboard. The first boot option should be correct ("Linux Boot Manager").
You might try to remake the gummiboot install.
Already done. I've done a "gummiboot update", a complete gummiboot reinstall and even a complete new efi partition.
Do you see any kernel output?
No, because the kernel is not loaded. The problem is, that the bootloader doesn't start.
$ lsblk -o NAME,UUID
NAME UUID
sda
├─sda1 60FF-25C2
└─sda2 d9ef388f-c69f-41fa-9481-9c83b97fff1b
sdf 2014-02-01-20-10-54-00
└─sdf1 10B5-834A
$ md5sum /boot/EFI/gummiboot/gummibootx64.efi
ef357b701d67fa39355cbc1c3b9d5afd /boot/EFI/gummiboot/gummibootx64.efi
$ grep -i gummi /var/log/pacman.log
[…]
[2015-02-13 09:13] [PACMAN] upgraded gummiboot (45-1 -> 48-1)
Today i tried to create a new boot entry (manually) using efibootmgr:
$ efibootmgr -c -d /dev/sda -p 1 -l /EFI/gummiboot/gummibootx64.efi -L "Arch Linux"
The entry "Arch Linux" appears in the uefi setup, but selecting it (overriding the boot options) and pressing enter just gives me a black screen for a few seconds and the uefi setup is displayed again.
One thing i've noticed that i have a efi variable called "Boot0000-00000000-0000-0000-0000-000000000000" (in/sys/firmware/efi/efivars). Could this cause some issues?
edit:
I forgot:
If you don't mind, you might overwrite $esp/EFI/Boot/bootx64.efi with $esp/boot/EFI/gummiboot/gummibootx64.efi, after backup bootx64.efi, that will make gummiboot your default entry.
BOOTX64.EFI and gummibootx64.efi don't have any differences in my installation.
Last edited by shellfan (2015-02-13 14:44:03)
Offline
Do you have 2 ESP (sda1 and sdf1) ?
Any modifications since then ?
do it good first, it will be faster than do it twice the saint
Offline
Do you have 2 ESP (sda1 and sdf1) ?
sda1 is the esp from where i want to boot from (which doesn't work). sdf is my usb boot stick.
Any modifications since then ?
Only a system upgrade with pacman and the new "Arch Linux" boot option, which i've created with the efibootmgr command.
Offline
$ cat /etc/fstab # /dev/sda2 (/) UUID=d9ef388f-c69f-41fa-9481-9c83b97fff1b / ext4 rw,relatime,data=ordered 0 1 # efivarfs efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0 # /dev/sda1 (/boot) UUID=60FF-25C2 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
Why do you have "efivarfs" in your fstab?
How about trying a pure EFISTUB entry in your NVRAM:
# efibootmgr -d /dev/sda -p 1 -c -L "EFISTUB" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/initramfs-linux.img"
Jin, Jiyan, Azadî
Offline
@ HoaS, missing microcode and perhaps using UUID rather than kernel names
I agree that to boot a single OS, the EFIstub it's preferable. The only drawback is the difficulty to update kernel command line.
do it good first, it will be faster than do it twice the saint
Offline
@ HoaS, missing microcode and perhaps using UUID rather than kernel names
Good point.
# efibootmgr -d /dev/sda -p 1 -c -L "EFISTUB" -l /vmlinuz-linux -u "root=UUID=d9ef388f-c69f-41fa-9481-9c83b97fff1b rw initrd=/intel-ucode.img initrd=/initramfs-linux.img"
EDIT: if you wish to change the kernel line, make a new entry and delete the old one using:
# efibootmgr -b xxxx -B
Where "xxxx" is the bootnumber -- find this by running `efibootmgr` with no arguments.
Last edited by Head_on_a_Stick (2015-02-14 11:49:44)
Jin, Jiyan, Azadî
Offline
Why do you have "efivarfs" in your fstab?
Why not? Does it hurt? Or is it useless?
How about trying a pure EFISTUB entry in your NVRAM:
I've tried:
efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux EFISTUB" -l /vmlinuz-linux -u "root=UUID=d9ef388f-c69f-41fa-9481-9c83b97fff1b rw initrd=/intel-ucode.img initrd=/initramfs-linux.img"
... but it's the same. Selecting EFISTUB or adjusting the bootorder just gives me a black screen for a few seconds and im back in the uefi setup.
$ efibootmgr
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0004,0001,0002,0003
Boot0001* Hard Drive
Boot0002* UEFI OS
Boot0003* UEFI: Sony Storage Media
Boot0004* Arch Linux EFISTUB
edit:
Just tried it also with "root=/dev/sda2 rw initrd=/initramfs-linux.img". Still no luck.
edit:
Now i've done a uefi/bios update. I've noticed the following:
- ater selecting the gummiboot bootloader or a efistub entry on boot (in the uefi setup), the screen now gives me a persistent blinking cursor
- the "Boot0000-00000000-0000-0000-0000-000000000000" variable (in /sys/firmware/efi/efivars) is gone
Last edited by shellfan (2015-02-16 08:41:44)
Offline
Try selecting the "UEFI OS" option -- this will boot up using /boot/EFI/Boot/BOOTX64.EFI which should be the gummiboot loader.
If that works, either delete all the other NVRAM entries or set it up to boot first.
That EFI variable is the first custom NVRAM entry you will have made -- new versions of this file can be created using `efibootmgr`
Re: efivarfs in fstab -- I can't see what that would actually do; fstab is only parsed after the boot loader/manager has exited.
Jin, Jiyan, Azadî
Offline
The "UEFI OS" option didn't work (same effect as all other options).
Now i've installed grub 2 on a separate hard disk and booting works again. I still can't figure out, why it's not working with gummiboot or efistub entries...
I'll stay with grub 2 for now.
Offline
Pages: 1