You are not logged in.

#1 2012-08-09 09:48:14

sophismo
Member
Registered: 2012-07-28
Posts: 20

[Solved] Grub 2 error No such Device EFI

Hi!
After an Odysee of errors, non existing commands, burned Live-CDs and Macbook boot failures, I've managed my Macbook pro to boot Ubuntu and install Arch from there.


I have OsX on /dev/sda2
"/" on /dev/sda3
and swap on sda4

Consulting https://wiki.archlinux.org/index.php/GR … _systems_2 I've installed Grub 2 in Efi mode.
On startup it is now default - Why?
When I press Option I get to choose just rEFIt and then go to mac. This is no big deal, but knowing how to get OsX as standard back would be nice.

Now my real problem:

When I boot into Grub I get Arch Linux as desired. As well as a fallback mode.
When I choose it it just ends in:

No such Device: ad4103fa-d940-47ca-8506-301d8071d467.
Loading Linux core repo kernel ...
error: no such partition.
Loading initial ramdisk ...
error: you need to load the kernel first.

Press any key to continue..._

and it goes to Grub again.

On /dev/sda1/boot/efi/EFI/arch_grub/grub.cfg is a config file, which I've auto generated during installation with chroot. It looks ok to me, has these set root to UUID=... with the right UUID from my actual / partition, not this thing with ad410..

As well as that I've googled errors like this, which could be solved through mkinitcpio -p linux, but I've done that, during install and tried, then afterwards again,.. but again no luck.

Is there any suggestion?
Thanks, mike.

ps. I can chroot to my arch normally and even install things with pacman, and everything..

And here the grub.cfg from boot/EFI/arch_grub/grub.cfg mounted form /dev/sda1 as /boot:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
 fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 $
else
  search --no-floppy --fs-uuid --set=root 51481a71-ff88-4f68-93$
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch GNU/Linux, with Linux core repo kernel-true-51481a71-ff88-4f68-9375-69296d82468e' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  51481a71-ff88-4f68-9375-69296d82468e
else
search --no-floppy --fs-uuid --set=root 51481a71-ff88-4f68-9375-69296d82468e
fi
        echo    'Loading Linux core repo kernel ...'
        linux   /boot/vmlinuz-linux root=UUID=51481a71-ff88-4f68-9375-69296d82468e ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initramfs-linux.img
}
menuentry 'Arch GNU/Linux, with Linux core repo kernel (Fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-51481a71-ff88-4f68-9375-69296d82468e' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  51481a71-ff88-4f68-9375-69296d82468e
        else
else
          search --no-floppy --fs-uuid --set=root 51481a71-ff88-4f68-9375-69296d82468e
        fi
        echo    'Loading Linux core repo kernel ...'
        linux   /boot/vmlinuz-linux root=UUID=51481a71-ff88-4f68-9375-69296d82468e ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initramfs-linux-fallback.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Edit #2
This comes after I build the kernel with mkinitcpio -p linux looks normal to me

==> Building image from preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.4.7-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [pata]
  -> Running build hook: [scsi]
  -> Running build hook: [sata]
  -> Running build hook: [filesystems]
  -> Running build hook: [usbinput]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
bsdcpio: Failed to set default locale
==> Image generation successful
==> Building image from preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.4.7-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [pata]
  -> Running build hook: [scsi]
  -> Running build hook: [sata]
  -> Running build hook: [filesystems]
  -> Running build hook: [usbinput]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
bsdcpio: Failed to set default locale
==> Image generation successful

Last edited by sophismo (2012-08-09 20:57:04)

Offline

#2 2012-08-09 20:56:07

sophismo
Member
Registered: 2012-07-28
Posts: 20

Re: [Solved] Grub 2 error No such Device EFI

Done!
There was another grub.cfg and as I read it was the "wrong" one. But obviously it was the used one for me, cause the wrong IDs were in there.
cp /efi/EFI/grub.cfg to /boot/grub.cfg and it was up and running!

Offline

#3 2012-08-09 21:58:56

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: [Solved] Grub 2 error No such Device EFI

I am glad to see that the workaround was successful.  You know, when I used grub-efi on my mac as well as rEFIt, it would give me an extra entry on the selection screen.  Thus I opted to simply use the bios emulation, since I have never had any issues with that and knew how to use it better.  There is the expected 2-4 second delay on boot when it switches to bios mode, but otherwise was great.  Great to see that you have found something that works for you though.  Enjoy!

Offline

#4 2017-02-24 00:29:49

aereal
Member
Registered: 2013-02-12
Posts: 2

Re: [Solved] Grub 2 error No such Device EFI

sophismo wrote:

Done!
There was another grub.cfg and as I read it was the "wrong" one. But obviously it was the used one for me, cause the wrong IDs were in there.
cp /efi/EFI/grub.cfg to /boot/grub.cfg and it was up and running!

Thank you very much for this answer. This worked for me. In my case I had to move it to /boot/grub/grub.cfg.

Offline

#5 2017-02-24 00:42:00

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,065
Website

Re: [Solved] Grub 2 error No such Device EFI

The thread is nearly five years old. Don't necrobump: https://wiki.archlinux.org/index.php/Co … bumping.22


Closing


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

Board footer

Powered by FluxBB