Lost in boot, I think no EFI

Hi,

I’ve done a standard install, booting a USB key, but the system is not booting. I see a partition FAT mounted :

efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda6 on /boot/efi type vfat (rw,relatime,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/sda8 on /boot/grub2/x86_64-efi type btrfs (rw,relatime,ssd,space_cache,subvolid=261,subvol=/@/boot/grub2/x86_64-efi)

More strange, is when I insert the USB key, I can boot on it and from there, go to boot linux, and boot the new system.

What could I do to install a functional boot ?

Thanks,

I so lost with the new (for me…) boot system, I don’t even know what command I can provide you to give more details.

One is this a dual boot with Windows?

Does the machine have a BIOS or UEFI? ie is it older then 6 years old or newer? Newer is almost certain to have UEFI

If UEFI did you boot the installer in EFI or legacy mode?? The way you boot determines which boot method the installed OS uses

If UEFI you can install in either EFI boot or the old (legacy) MBR boot. But if dual booting all OS’s need to use the same boot method. If the drive is larger then 2 gig then you must use EFI

It’s a duad boot with Windows, but I’ve not used it since years.

It’s a 4 years old PC, I’ve disabled secure boot.

efibootmgr give me this :

efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0000,0001,0002,0003
Boot0000* opensuse HD(6,GPT,a5208dc3-258e-45bb-8b70-7a49c316c87c,0xc0fc000,0x55800)/File(\EFI\opensuse\grubx64.efi)
Boot0001* UEFI: SanDisk Cruzer Slice 1.26 PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(3,0)/HD(1,MBR,0x1b681c50,0x107c,0x1e84)…BO
Boot0002* Hard Drive BBS(HD,0x0)…GO…NO…{.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1…2.6…A…H…Gd-.;.A…MQ…L.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1…2.6…BO
Boot0003* CD/DVD Drive BBS(CDROM,0x0)…GO…NO…o.M.A.T.S.H.I.T.A.B.D.-.M.L.T. .U.J.2.6.2…A…>…Gd-.;.A…MQ…L.Q.W.4.3. . .0.0.2.8.7.7. . . . . . . . …BO

I think the entry 0000 is the good one, but I don’t know why it dosn’t boot.

I think I see the problem :

fdisk -l me donne mon disk id vhere it should boot :

7C4580AF-CC26-4522-8FC8-0289C67CF4AE

but efibootmgr me donne un autre id :

this:~ # efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0000,0001,0002,0003
Boot0000* opensuse HD(6,GPT,a5208dc3-258e-45bb-8b70-7a49c316c87c,0xc0fc000,0x55800)/File(\EFI\opensuse\grubx64.efi)

I need to find how to make it boot on the right disk…

Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7C4580AF-CC26-4522-8FC8-0289C67CF4AE

Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M BIOS boot
/dev/sda2 206848 2050047 1843200 900M Windows recovery environment
/dev/sda3 2050048 2312191 262144 128M Microsoft reserved
/dev/sda4 2312192 201641983 199329792 95G Microsoft basic data
/dev/sda5 201641984 202358783 716800 350M Windows recovery environment
/dev/sda6 202358784 202708991 350208 171M EFI System
/dev/sda7 458153984 500117503 41963520 20G Windows recovery environment
/dev/sda8 202708992 307580927 104871936 50G Microsoft basic data
/dev/sda9 307580928 458153983 150573056 71.8G Microsoft basic data

Normally I want it to boot on sda6.

I’m trying this :

efibootmgr -c -d /dev/sda -p 1 -L “opensuse” -l ‘EFI/opensuse/grubx64.efi’

I’ll try to reboot.

Last try for today, it’s 2am :slight_smile:

It’s not working… I think my boot partition dosn’t work…

Hi
The efibootmgr command you ran is wrong the partition is 6, but it looks like your boot in the BIOS for windows is mbr?

Or have you re-installed windows in efi mode?

If you mount sda6 manually, eg;


mount /dev/sda6 /mnt
cd /mnt/EFI
ls

Is there a Microsoft directory, or just openSUSE?

Also don’t see a Linux swap. Also I don’t think you boot to the EFI boot partition the UEFI searches for any EFI boot partitions and uses the contents to continue the boot. The EFI boot should be mounted at /boot/efi/ in the Linux system. It is not the same as the old MBR boot.

In addition if Windows (which version?) is MBR boot you can not chain in grub to Windows. or visa versa. You would need to use the UEFI boot menu to change OS.

I guess you could try fixing things through Yast-boot loader. But first make sure that EFI boot partition is mounted at /efi/boot/. Since you do not have a swap I assume you made changes to the partitioning so not sure what is or is not mounted. You can look at cat /etc/fstab and or type mount to see all mounts or just go to /boot/efi. In Yast be sure that grub2-efi is set as boot loader. Change something then change it back to trick Yast into thinking a change was made then accept. This should redo the boot code.

According to your fdisk output partition 1 is BIOS Boot which is wrong. You likely need partition 6 here. And please, put all computer output in tags code.

> malcolmlewis

I think I’ve erased the windows EFI when I’ve installed openSuse 13.2. I’ve done some mistake and tried to install it in MBR instead. But at the end, I know openSuse 13.2 was installed in EFI and I’m sure windows is in EFI.

But you are right, I should use -p 6 !

> gogalthorp

The swap is on another physical disk.
The Windows is a windows 8, I’ve used it a week maybe, then I’ve installed openSuse.

> arvidjaar

I’ll try this. And I’ll put the tag code !

Thanks a lot, I’ll let you know the result !

linux-ea7g:~ # ls -l /boot/efi/EFI/opensuse/grubx64.efi
-rwxrwxr-x 1 root root 179200 Jul 29 13:31 /boot/efi/EFI/opensuse/grubx64.efi

I’ve reinstalled the EFI partition, but it still dosn’t boot.

It is unclear what “reinstalled” means. Please post once again output of “fdisk -l”, “blkid” and “efibootmgr -v”.

By reinstalled, I mean formated and let the installer recreate it.


linux-1urk:~ # fdisk -l
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F0280ED6-6809-4413-8846-E352902D9F8A

Device          Start        End   Sectors   Size Type
/dev/sdb1        2048  976760831 976758784 465.8G Microsoft basic data
/dev/sdb2   976760832 1911583181 934822350 445.8G Microsoft basic data
/dev/sdb3  1911584768 1953523711  41938944    20G Microsoft basic data


Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 7C4580AF-CC26-4522-8FC8-0289C67CF4AE

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    206847    204800  100M BIOS boot                                
/dev/sda2     206848   2050047   1843200  900M Windows recovery environment             
/dev/sda3    2050048   2312191    262144  128M Microsoft reserved                        
/dev/sda4    2312192 201641983 199329792   95G Microsoft basic data                          
/dev/sda5  201641984 202358783    716800  350M Windows recovery environment                     
/dev/sda6  202358784 202723327    364544  178M EFI System                                       
/dev/sda7  458153984 500117503  41963520   20G Windows recovery environment                           
/dev/sda8  202723328 286615551  83892224   40G Microsoft basic data                                   
/dev/sda9  286615552 458153983 171538432 81.8G Microsoft basic data                                      
                                                                                                         
Partition table entries are not in disk order.                                                              
                                                                                                             
                                                                                                                
                                                                                                                     
                                                                                                                           
Disk /dev/sdc: 29.8 GiB, 32015679488 bytes, 62530624 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1b681c50

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdc1           4220    12031     7812  3.8M ef EFI (FAT-12/16/32)
/dev/sdc2  *       12032  9062399  9050368  4.3G 17 Hidden HPFS/NTFS
/dev/sdc3        9062400 62529535 53467136 25.5G  f W95 Ext'd (LBA)
/dev/sdc5        9064448 34228223 25163776   12G 83 Linux
/dev/sdc6       34230272 62529535 28299264 13.5G 83 Linux

linux-1urk:~ # blkid
/dev/sdb1: LABEL="Data1" UUID="FCBA6C76BA6C2F78" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3af3a337-1201-4273-b32a-580094e14e45"
/dev/sdb2: LABEL="Data2" UUID="C46E6D8D6E6D7956" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="a128c05e-afc1-4ecd-81e7-3295c0f2d23d"
/dev/sdb3: UUID="11e37f91-a80b-4cf1-86df-744cfa202789" TYPE="swap" PARTLABEL="primary" PARTUUID="4d670349-e8bc-4bb5-b91e-cda067e1b7f3"
/dev/sda1: UUID="E608-B39A" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="45bff093-541a-4b82-8562-4ca1ec7d8ad5"
/dev/sda2: LABEL="Recovery" UUID="EE88A1F288A1BA0B" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b9e7f4ef-af0e-4833-8d18-8734083c2c23"
/dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="b82ffff3-b989-4ad7-ac80-f29ebccc3abc"
/dev/sda4: LABEL="Windows" UUID="A282A57482A54D9B" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="fdc74074-4fb7-4d61-a5f6-9951d6bb7c75"
/dev/sda5: UUID="5EC493EAC493C2A7" TYPE="ntfs" PARTUUID="981fb735-736e-48e5-852f-5adb4420e9e9"
/dev/sda6: SEC_TYPE="msdos" UUID="EFC1-9274" TYPE="vfat" PARTLABEL="primary" PARTUUID="b52565dc-fa51-43ff-832b-d77d2692b09b"
/dev/sda7: LABEL="Restore" UUID="90EEA95DEEA93BFA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="58e02f92-09df-465c-b69a-1bd36bd53726"
/dev/sda8: UUID="ba6bb2e8-e211-4c5e-a28d-6bac35705519" UUID_SUB="5491c26e-7938-4fa0-834c-2f499889d838" TYPE="btrfs" PARTLABEL="primary" PARTUUID="6cde6ca2-9b59-4d11-9046-7071737c4214"
/dev/sda9: UUID="b7d90c8f-494c-4032-a943-b60c98156820" TYPE="xfs" PARTLABEL="primary" PARTUUID="ed825543-e60e-4fd4-9ce8-89a9e58c9177"
/dev/sdc1: SEC_TYPE="msdos" UUID="810E-2A27" TYPE="vfat" PARTUUID="1b681c50-01"
/dev/sdc2: UUID="2017-07-19-16-46-45-00" LABEL="openSUSE-Leap-42.3-DVD-x86_64033" TYPE="iso9660" PARTUUID="1b681c50-02"
/dev/sdc5: PARTUUID="1b681c50-05"
/dev/sdc6: PARTUUID="1b681c50-06"

linux-1urk:~ # efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0004,0005
Boot0003* UEFI: SanDisk Cruzer Slice 1.26       PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(4,0)/HD(1,MBR,0x1b681c50,0x107c,0x1e84)..BO
Boot0004* Hard Drive    BBS(HD,,0x0)..GO..NO........{.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1...2.6....................A.............................H..Gd-.;.A..MQ..L.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1...2.6........BO
Boot0005* CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO........o.M.A.T.S.H.I.T.A.B.D.-.M.L.T. .U.J.2.6.2....................A...........................>..Gd-.;.A..MQ..L.Q.W.4.3. . .0.0.2.8.7.7. . . . . . . . ........BO

It’s crazy, I’ve reinstalled, letting everything as default, it still dosn’t boot…

I don’t think that’s the problem.

I see, with “fdisk”

Disk identifier: A84A2F0F-20B6-41A9-9B24-BD4A0D3939F5

and I see, with “efibootmgr -v”

Boot0000* opensuse-secureboot   HD(1,GPT,8daf0950-e06b-4ac4-90fd-e966912fa23e,0x800,0xfa000)/File(\EFI\opensuse\shim.efi)

It’s working here. Those two IDs are not supposed to be the same.

The EFI partition that I use is “/dev/sdb1” (mounted on “/boot/efi”). So, checking that:


# blkid /dev/sdb1
/dev/sdb1: UUID="DFD4-44B1" TYPE="vfat" PARTLABEL="EFI System" PARTUUID="8daf0950-e06b-4ac4-90fd-e966912fa23e"

As you can see the partition uuid (PARTUUID) is the same as the ID given in the “efibootmgr -v” output.

Which still does not really explain anything, sorry. Do you mean you reinstalled the whole system?

linux-1urk:~ # efibootmgr -v
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0004,0005
Boot0003* UEFI: SanDisk Cruzer Slice 1.26       PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(4,0)/HD(1,MBR,0x1b681c50,0x107c,0x1e84)..BO
Boot0004* Hard Drive    BBS(HD,,0x0)..GO..NO........{.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1...2.6....................A.............................H..Gd-.;.A..MQ..L.S.a.n.D.i.s.k. .C.r.u.z.e.r. .S.l.i.c.e. .1...2.6........BO
Boot0005* CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO........o.M.A.T.S.H.I.T.A.B.D.-.M.L.T. .U.J.2.6.2....................A...........................>..Gd-.;.A..MQ..L.Q.W.4.3. . .0.0.2.8.7.7. . . . . . . . ........BO

Well, it does not show anything related to Linux boot. If you cannot boot how do you obtain this output? Do you boot some live distro?

Correct. GUID in media path for GPT partition is partition GUID (which is displayed as PARTUUID by blkid output).

If you cannot boot how do you obtain this output? Do you boot some live distro?

I use the install iso, installed on a bootable USB key to boot.

By itself, the system doesn’t boot.

How can I know where is my boot EFI part ?

/dev/sda6 on /boot/efi type vfat (rw,relatime,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)

I thought this one was the right one, am I wrong ?

linux-1urk:~ # ls -l /boot/efi/EFI/opensuse/grubx64.efi
-rwxrwxr-x 1 root root 179200 Jul 29 14:33 /boot/efi/EFI/opensuse/grubx64.efi

Once I know it’s the right partition to boot, how do I set the system to boot on it ?

Sorry to ask you so many questions…

Are you sure you installed openSUSE in EFI mode? How the very first screen looked like? Did it have F1, F2 etc hotkeys on the bottom?

What “grep LOADER_TYPE …/etc/sysconfig/bootloader” says (where file is of course on your real root partition, not on live boot filesystem)?

How can I know where is my boot EFI part ?

Wherever you want it to be. Firmware will use any suitable partition for which there is entry in firmware boot manager.

Are you sure you installed openSUSE in EFI mode? How the very first screen looked like? Did it have F1, F2 etc hotkeys on the bottom?

I think, I’ve the Grub2 EFI at the end just before the confirmation.

By the very first screen, you mean where you start the installer ? I’ll try to take picture of what I’ve done.

linux-1urk:/etc/sysconfig # grep LOADER_TYPE bootloader
LOADER_TYPE="grub2-efi"

It looks good, no ?