13.2 how to have a true efi booting

Hi,

I recently bought a new laptop with EFI firmware. I managed to install rEFInd that presents me the icons for Windows8-1 and for OpenSuse. My trouble is that, for OpenSuse, the boot is not direct and I am proposed the grub menu (which I would like to avoid as I already chose to boot OpenSuse).
My question is : " is there a mean to install OpenSuse 13.2 without any boot loader at all?

During install, there is a summary screen. Click on the heading for Booting. That gets you into the Yast Bootloader setup.

It should have told you that the Boot Loader to be used was “grub2-efi”. (Oops, make that “GRUB2-EFI”). But there is actually a choice. You can select

  • GRUB2
  • GRUB2-EFI
  • Do Not Install Any Boot Loader

It seems that you want the third of those option.

My advice would be to stick to “grub2-efi”, because you then have a boot choice of normal boot, recovery boot, boot a different kernel.

However, yes you can manage without grub2-efi.

And all this assumes that you were installing 64-bit.

I highly recommend you don’t entirly remove grub menu . it can come in very handy if you have troubles.

You can set grub menu to a faster selection in Yast and set the time out for the default boot option./ ou can shorten the wait but don’t make it too short or you won’t be able to catch it if you need a special boot option

Ok thank you nrickert and gogalthorp. I will stick to what you both say.

My advice would be to stick to “grub2-efi”, because you then have a boot choice of normal boot, recovery boot, boot a different kernel.

This advice was given by nrickert and echoed by gogalthorp. I agree.

But, if you would like to have the boot menu “disappear” for most of your boots, yet still be available when you need to use one of the other options, or need to hit “e” to add a parameter, you could do as I do:

Hide GRUB unless the Shift key is held down

To get the fastest possible boot, instead of having Grub wait for a time-out, Grub can hide the menu unless the Shift key is held down when Grub is starting up.

Add the following line to /etc/default/grub

GRUB_FORCE_HIDDEN_MENU="true"

Create the file /etc/grub.d/31_hold_shift

Copy/Paste this as the contents for that file:

#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="${prefix}"
datarootdir="${prefix}/share"

export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"
source "${datarootdir}/grub2/grub-mkconfig_lib"

found_other_os=

make_timeout () {

  if  "x${GRUB_FORCE_HIDDEN_MENU}" = "xtrue" ] ; then 
    if  "x${1}" != "x" ] ; then
      if  "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
    verbose=
      else
    verbose=" --verbose"
      fi

      if  "x${1}" = "x0" ] ; then
    cat <<EOF
if  "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
    cat << EOF
if  "x\${timeout}" != "x-1" ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

adjust_timeout () {
  if  "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    cat <<EOF
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
EOF
    make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
    echo else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
    echo fi
  else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
  fi
}

  adjust_timeout

    cat <<EOF
if  "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF


Now, when you boot, no Grub menu and no waiting for the timer. When you need to access the hidden menu, hold the Shift key as Grub starts up.:wink: