I have used SLES 11.3 x86-64 for a while on servers using EFI and ELILO for booting, not grub.
recommend you have only one hard drive installed in your system, that way it shows up as device /dev/sda
and not something other than sda
the first partition of the hard drive should be formatted as FAT32, or VFAT.
The EFI of the system will read that file system.
You should have the folder structure of efi/SuSE/ there with these files
elilo.conf
elilo.list
elilo.efi
vmlinuz-3.0.101-68-default
initrd-3.0.101-68-default
the numbers 3.0.101-68 will be different for you, I am running sles 11.4 so my numbers refer to a later kernel version.
look at your elilo.list file and make sure it points to the correct syntax of the initrd and vmlinuz files.
here is the exact contents of my elilo.list file, just 4 lines:
elilo.conf
elilo.efi
vmlinuz-3.0.101-68-default
initrd-3.0.101-68-default
provided this boot partition is not corrupted and that elilo.efi file is not corrupted,
it will then read go off the elilo.list and elilo.conf files.
here is my elilo.conf file
# This file has been transformed by /sbin/elilo.
# Please do NOT edit here -- edit /etc/elilo.conf instead!
# Otherwise your changes will be lost e.g. during kernel-update.
#
# Modified by YaST2. Last modification on Tue Feb 2 16:39:27 EST 2016
timeout = 80
##YaST - boot_efilabel = "SUSE Linux Enterprise Server 11 SP4"
default = SLES11_SP4_1
prompt
image = vmlinuz-3.0.101-68-default
###Don't change this comment - YaST2 identifier: Original name: linux###
label = SLES11_SP4_1
append = "splash=verbose showopts "
initrd = initrd-3.0.101-68-default
root = /dev/disk/by-id/scsi-35000c5003335b7ff-part2
image = vmlinuz-3.0.101-68-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
label = Failsafe
description = "Failsafe (3.0.101-68-default)"
append = "showopts ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe "
initrd = initrd-3.0.101-68-default
root = /dev/disk/by-id/scsi-35000c5003335b7ff-part2
the big thing is where it has root = /dev/disk…
for you with only one hard drive in the system, which will be device /dev/sda,
edit that root line in both locations in your elilo.conf file to be
root = /dev/sda2
now my hard drive has 2 partitions, partition 1 being /dev/sda1 is the EFI boot partition formatted as FAT32 having the files i just described,
and partition 2 is the root partition, I don’t have a swap partition.
Whatever partition number is your root partition is the number you want to use, so for instance if your partition 2 is swap, and partition 3 is your / partition {your root partition} then do root = /dev/sda3
if you can boot the dvd and do rescue system and get a prompt where you can look at and edit these files, that’s generally all that needs to be done for the EFI boot method.
And in combination with the install dvd doing an automatic repair on the boot partition, fixing elilo.efi if it is bad, you should be able to fix it.
one last thing for successful boot: the /etc/fstab file on the root partition.
here is first 2 lines of mine
/dev/disk/by-id/scsi-35000c5003335b7ff-part2 / ext3 acl 1 1
/dev/disk/by-id/scsi-35000c5003335b7ff-part1 /boot/efi vfat umask=0002,utf8=true 0 0
I have mine set to mount “by device-id”
what i described above is all about mounting “by device-name” which is much more simple but has it’s drawbacks.
Provided you have only your operating system hard drive in the system, so you know it will be device /dev/sda
then edit your /etc/fstab file if necessary.
Mine refers to my specific hard drive, yours will have a different scsi id which i have know idea what that can be.
But all you need to do is this
/dev/sda2 / ext3 acl 1 1
/dev/sda1 /boot/efi vfat umask=0002,utf8=true 0 0
in your /etc/fstab file and that will allow for a successful boot.
Once running, you can go into yast - system - partitioner and change the fstab options for that disk back to mount by-device-id,
then look at your /etc/fstab file and it will have the correct syntax for the scsi id of your drive, which you can then manually edit back in to /boot/efi/efi/SuSE/elilo.conf and /etc/elilo.conf.