OpenSuSE 13.2 installation: /boot/efi not FAT warning

I have a laptop (Fujitsu e751) which is currently running windows 7 and OpenSuSE 13.1 (dual-boot). It has earlier been running window7+opensuse12.1

According to yast I’m using GRUB2-EFI.

When I try to install OpenSuSE 13.2 I reject the proposed partitioning (would wipe out data), and instead import the existing:
/dev/sda8 /boot (ext3)
/dev/sda9 / (ext4)
/dev/sda10 swap
/dev/sda11 /home
and chose to format /boot and /

However, the installation then comes with this warning:
“Warning: with your current setup, your openSUSE installation will encounter problems when booting, because you have no FAT partition mounted on /boot/efi.
This will cause severe problems with the normal boot setup.
If you do not know exactly what you are doing, use a normal FAT partition for your files below /boot/efi.
Really use this setup?”

I though I knew what I was doing, but now I’m not so sure.
I have never had a FAT partition on this laptop:
—snip—
isjsys4:~ # fdisk -l /dev/sda

Disk /dev/sda: 128.0 GB, 128035676160 bytes, 250069680 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
Disk label type: dos
Disk identifier: 0x80794b31

Device Boot Start End Blocks Id System
/dev/sda1 2048 4306943 2152448 27 Hidden NTFS WinRE
/dev/sda2 * 4308992 250066943 122878976 f W95 Ext’d (LBA)
/dev/sda5 4311040 110131199 52910080 7 HPFS/NTFS/exFAT
/dev/sda6 211150848 221390847 5120000 27 Hidden NTFS WinRE
/dev/sda7 221394944 250066943 14336000 27 Hidden NTFS WinRE
/dev/sda8 110133248 110446591 156672 83 Linux
/dev/sda9 110448640 131411967 10481664 83 Linux
/dev/sda10 131414016 135604223 2095104 82 Linux swap / Solaris
/dev/sda11 135606272 211142655 37768192 83 Linux

Partition table entries are not in disk order
—snip—

I cannot find any sign of EFI/UEFI in the BIOS (could be hidden though).

So is the warning bogus, or has grub2 regressed since 13.1?
Should I try an upgrade instead of a new installation?

Warning comes from yast, not from grub2, and it is not bogus. It looks like you booted from 13.2 installation disk in EFI mode and the rest of your system is installed in legacy BIOS mode. You should double check BIOS settings for boot order and make sure you boot from installation disk in legacy BIOS.

If you boot the installer in EFI mode (check your BIOS settings and boot selection) it will want to install in EFI mode and EFI mode requires the small FAT partition. It is where the EFI boot stuff goes for each OS you install. So as it appears you are using the old MBR boot (ie legacy) you will need to force the booting of the DVD in legacy mode not EFI. generally this is done at boot by pressing a F key which one depends on the hardware. F12 seem popular. It may show which on the BIOS splash as boot options. Also you may be able set the default boot options in the normal BIOS screen.

How are you installing?

In particular, are you using the DVD installer, the Network installer, or booting a live system and installing from there?

It sure looks as if you booted the install media in UEFI mode.

Here’s how to check. On the boot screen (with your install media), if there are function keys listed at the bottom then you did not boot UEFI and the menu comes from “syslinux”.

If there is a message to hit ‘e’ to edit the boot command, then you booted UEFI and the menu comes from grub2.

I am aware of a bug if you are using live USB. If the first boot for that live USB was UEFI, it will remember that and may attempt to use “grub2-efi” even when not appropriate. But this only happens with a live installer on USB (as far as I know). In that case, you have to go into the boot settings of the installer and force it to use “grub2” rather than “grub2-efi”. You should not run into this problem with the DVD installer or Network installer.

If you know what you are doing, and if you are only using existing partitions, it should be safe to switch to “grub2” rather than “grub2-efi” in the booting section.

Best advice is to use the DVD installer or Network installer, and make sure that you boot it to non-UEFI mode.

(And a note to others: UEFI usually works well. But if you have an existing non-UEFI install of Windows, then changing to UEFI will break windows).

The installer is booted from USB (openSUSE-13.2-DVD-x86_64.iso)
The BIOS is Phoenix SecureCore Tiano v1.18 (2012-03-12). I can find no sign of EFI/UEFI in the BIOS or boot menu.

When running OpenSuSE 13.1 everything indicates that UEFI is not used (/sys/firmware/efi doesn’t exist).

If I use the 13.2 USB stick and go into rescue mode then /sys/firmware/efi does exist, which could indicate that the USB kernel believes it is in EFI mode, or there is hidden support for it in the BIOS.

So I am reasonably sure that the laptop currently doesn’t boot using UEFI.
It also seems that either the 13.2 USB stick is confused.

The question is if I should ignore that warning from yast, or if I will need to fiddle with grub2 during/after installation.

I downloaded the full openSUSE-13.2-DVD-x86_64.iso and copied it to an USB stick using ‘dd’. Then rebooted the laptop and pressed F12 to get to the boot menu and selected the USB stick.

Neither, but I think the ‘e’ prompt is just missing. When I can chose between installation/upgrade/rescue/… I can press ‘e’ and edit the boot parameters.

The weird thing is that the existing opensuse 13.1 yast thinks that I’m using grub2-efi. But if grub2-efi requires FAT then that can’t be right.

Will it be any different if I burn the image to a DVD instead?

Since the current install uses grub2-efe the new installer picks that up and does further checking which may not have been done in 13.1. How ever in13.1 it would not have used EFI mode unless you selected it some how.

Then you are definitely booting the install media in UEFI mode.

I think it is safe to force the use of grub2 for booting (click the Booting header on the summary screen). That screen does not show up until after the partitioning. So you will have to ignore the errors reported during partitioning. You will probably get more error message in the booting section (objecting to your change from “grub2-efi” to “grub2”. Again, I think it is safe do ignore those.

You will note my lack of certainty. I have not done what you are trying to do. But I have ignored other error messages without problem. I have installed grub2 rather than grub2-efi, but that was on an already installed system.

My biggest concern is in whether you are doing anything that would cause the partitioner to create any partitions. Because, in that case, it will probably change your disk to GPT partitioning and mess up Windows.

If you still have the iso file, then you could:

  1. Copy that iso to a new file
  2. Run “isohybrid” on it.
  3. Write that modified file to the USB (with “dd” or “dd_rescue” or however you originally wrote the iso to USB)

I don’t guarantee that won’t break something. But it is likely to leave you with a bootable USB that has no UEFI support. And if you are able to boot that, you probably won’t have booted in UEFI mode.

Another possibility that might work, is to use “fdisk” on your current boot USB. And, in “fdisk” delete that small EFI partition. I am seeing:


# fdisk -l /dev/sdd


Disk /dev/sdd: 7.5 GiB, 8004304896 bytes, 15633408 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: 0x10ce3e4f


Device     Boot Start     End Sectors  Size Id Type
/dev/sdd1        3584   11647    8064    4M ef EFI (FAT-12/16/32)
/dev/sdd2  *    11648 9138175 9126528  4.4G 17 Hidden HPFS/NTFS

The first of those two partitions is the EFI partition on the install USB.

Just delete in “fdisk” and save the changes. DO NOT attempt to zap that partition (overwrite), as that will possibly make it unbootable.

Better would be to closely check your BIOS settings, particularly the STARTUP settings, to see if there is a way of forcing only legacy booting.

Note that there are no guarantees with any of my suggestions.

If I were in your position, I would probably try just ignoring the error messages and forcing the booting to use “grub2” rather than “grub2-efi”. But I would probably make a backup image of the Windows 7 system first, so that I could recover in case of disaster.

I did that.
I then booted on the USB stick. The installer showed funtion keys at the bottom, so it was in non-EFI mode.
I rejected its partition proposal and instead imported the existing mount points, and formatting / and /boot.
The installer automatically selected grub2 (not grub2-efi). The only complaint it had was that it didn’t know where to install grub2 stage1. I chose MBR. After that installation went fine, and both opensuse 13.2 and windows 7 are bootable.

Thanks!

Summary: If the BIOS supports both legacy and EFI boot then booting from an USB stick with the normal dd’ed DVD image will boot in EFI mode, and yast will chose grub2-efi and insist on a FAT partition. What yast doesn’t know is that EFI is not required on the laptop. I don’t think there is any easy way for yast to detect this scenario, but perhaps an addendum to the release notes would be in order.

The laptop has been through a few generations of linux, starting with opensuse 12.1, so I have lost track of which bootloeader and where they have been used. That could explain why opensuse 13.1 used grub2-efi even though it wasn’t booting in EFI mode.

I’m glad that worked out for you.

Yours is the second case in the last few days, where somebody thought that they had disabled UEFI in the BIOS but the install media was still booted in UEFI mode. For the other case see this opensuse mailing list thread.

I’m a bit surprised this is happening. On my UEFI computers, the BIOS settings are clearer than that.

I guess this is a problem we will have to watch for when people have install problems.

I think the problem is that most don’t know there is more then one way to boot. and that you must choose which method to boot. Add to this not all implantation of EFI use the same interface and that boot screen linger about 2 or 3 sec to read those helpful hints that may or may not be on the splash screen. In most cases you can also set default boot method in the BIOS. But then also most people don’t poke around in their BIOS.

I have the same notebook (fujitsu lifebook e751), and I confirm - there is no option to switch efi/non-efi in bios or anywhere. Period.

I needed to install Debian side-by-side with existing Win 7 installation.
For me the other method worked: first, I tried to install amd64 untouched image, and failed miserably. Then I tried i386 image - it worked (grub loaded in normal non-efi mode). So, what was the difference? i386 image had no /efi/ folder, so I deleted it from amd64 image, and it worked. Grub loaded in non-efi mode, installation went as expected, in the end grub even detected existing Windows loader and added it to the boot menu.
Hope that will help someone.
Also you can create bootable usb with Rufus (for example), and delete /efi/ folder from there.

I don’t have experience with a fujitsu.

However, since this thread started, I have successfully installed for legacy booting using the 64-bit DVD installer.

Basic method: do not mount anything on “/boot/efi”. Ignore warnings. Go into the boot settings and change from “grub2-efi” to plain “grub2”. For more details see my blog post: Legacy install on a UEFI box.

These two statements contradict each other. The very fact that grub was loaded in non-efi mode means that your system does support legacy BIOS boot. You simply need to use different checkbox to select it. Most probably you have options for it in boot menu and just need to change order of boot entries. “Disable EFI” never did more than disabled some boot menu options “en masse”.

Mixing EFI and MBR boots can be done but it really is a bad idea and seriously depends in the BIOS support available. In most EFI BIOS the MBR boot is called legacy.