2

I installed ArchLinux 2014.03 on my Thinkpad T420 (no dual boot), and when I turn on the computer it takes me to a boot menu with only one option: arch_grub. To continue I have to press enter, which takes me to the GRUB menu. How can I skip the boot menu and go to GRUB directly?

I'm using UEFI, here's the output of efibootmgr (with the last line augmented with -v). As you can see, arch_grub is first in the boot order, and is the only active device in the list.

$ efibootmgr
BootCurrent: 0019
Timeout: 0 seconds
BootOrder: 0019,0006,0007,000C,0008,0009,000A,000B,000D,000E,000F,0010,0011,0012,0013
Boot0000  Setup
Boot0001  Boot Menu
Boot0002  Diagnostic Splash Screen
Boot0003  Startup Interrupt Menu
Boot0004  ME Configuration Menu
Boot0005  Rescue and Recovery
Boot0006  USB CD
Boot0007  USB FDD 
Boot0008  ATAPI CD0 
Boot0009  ATA HDD2
Boot000A  ATA HDD0
Boot000B  ATA HDD1
Boot000C  USB HDD 
Boot000D  PCI LAN 
Boot000E  ATAPI CD1 
Boot000F  ATAPI CD2 
Boot0010  Other CD
Boot0011  ATA HDD3
Boot0012  ATA HDD4
Boot0013  Other HDD 
Boot0014* IDER BOOT CDROM
Boot0015* IDER BOOT Floppy
Boot0016* ATA HDD 
Boot0017* ATAPI CD: 
Boot0018* PCI LAN 
Boot0019* arch_grub     HD(1,800,100000,5d22657d-bf46-4973-894c-171c34f803a8)File(\EFI\arch_grub\grubx64.efi)

For some context, I had some trouble getting ArchLinux installed in the first place. Gummiboot is the default method, but for whatever reason my USB had trouble booting in UEFI mode that way. I had to follow these instructions from the wiki to switch my USB to GRUB. This included generating a GRUB standalone. I don't know if that's affecting the current problem.

It looks like this question from a year ago had the same problem, but with Ubuntu and no resolution.

2
  • Could you take a digital photo of the first menu you see? It's unclear from a description whether that's an EFI boot manager menu, a GRUB menu, a gummiboot menu, or something else.
    – Rod Smith
    Apr 4, 2014 at 12:13
  • Yup, here are the pictures. (can't add them to the original post, not enough reputation) Apr 4, 2014 at 19:33

3 Answers 3

2

So, I know this is probably a bit too late, but I figured I would give the "real" answer to this question for the next poor schlub who came across this problem and had to try fixing it. The issue is simply that the T420's EFI boot manager has no idea what grub is doing and is looking for /boot/bootx64.efi, which is the default boot file. More information is here:

https://wiki.archlinux.org/index.php/GRUB#EFI_path

I had to use efibootmgr -v to find out where the boot file was being stored first, like "EFI/ubuntu" or whatever ($path below, with the "\" characters converted to "/"). Just mount the partition (here, it's on /mnt) and then do this:

mkdir /mnt/EFI/boot cp /mnt/$path/grubx64.efi /mnt/EFI/boot/bootx64.efi

You should be copying grubx64.efi even if efibootmgr -v shows another file being used. The next time you start up, it should autodetect the file and boot as you expect.

1
  • 1
    This was a "feature" of the UEFI implementation on many of the older Lenovo laptops. It recognized a Microsoft UEFI bootloader but any other bootloader, such as GRUB2, had to be the fallback bootloader \BOOT\BOOTX64.EFI
    – fpmurphy
    Feb 1, 2015 at 18:49
0

I don't think the question from a year ago to which you referred is related to your problem.

The menu you've shown looks like one generated by the firmware, so this isn't a GRUB or Linux problem per se. I recommend you enter the firmware setup utility (by pressing the key referred to in your first screen shot -- I'm afraid it's blown-out and illegible in the photo) and look around. There's probably an option to display the built-in UEFI boot manager on every boot, and it's been activated. Deactivate it and it should go away. I can't be more precise because EFI implementations vary so much amongst themselves. Also, yours is the first I've heard of that will actually do this -- most skip past the boot menu with no way to configure it.

There's a possibility that the -t (--timeout) option to efibootmgr will adjust the boot manager timeout; setting it to a low value (1 or perhaps 0) might get the menu to disappear quickly or not appear at all; or the -T (--delete-timeout) option might get the menu to not appear at all. I've never experimented with these options, though, and the man page is very thin, so you'll have to experiment yourself.

1
  • I should've mentioned that I've tried increasing the timeout, but I hadn't noticed -T (unfortunately, that didn't help either). I've tried modifying every option that made sense in the setup utility, but here are some more pictures in case they help. Specifically, toggling the boot menu option doesn't do much for me. Also, I thought the old question was related since he was having trouble booting getting the GRUB screen. Apr 5, 2014 at 3:33
0

I've fixed it by changing boot mode from "Quick" to "Diagnostics" in the firmware setup utility (under the Startup tab) which can be brought up with F1. Now, when it starts up, there's a three second diagnostic page before loading GRUB.

I've got no idea why that worked, unfortunately.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .