I'm pretty new to Ubuntu but for the most part I've been able to set up everything the way I want. I'm using an HP Spectre with Windows 10 and Ubuntu (UEFI). The only thing I'm struggling with is using Refind instead of Grub. I've installed Refind and disabled secure boot. When I boot up the computer the Refind menu appears and I can select between Windows 10 or 2 Ubuntu partitions. My problem is when I click Ubuntu it also loads Grub right after but when I click Windows it loads directly into the OS. How can I disable Grub after I click Ubuntu in the Refind selection. I don't necessarily want to remove it from the computer if its not mandatory but I want to be able to load into Ubuntu without having to do anything in Grub. I've searched everywhere but was not able to find a solution to this. Also, is there a way to make the second Ubuntu boot disappear without deleting it? Thank you for any help, I really appreciate it!

  • Did hide grub option necessary for you ? – Liso Jan 9 '17 at 3:41
  • I've realized that since there is 2 Ubuntu icons, one boots directly into Ubuntu after clicking it in Refind and the other goes to the Grub screen. When I did the installation it was setup this way but I don't know the difference between the two and which I could hide and which I need. They both have the same information on them. – mjm2z Jan 9 '17 at 4:52

I don't know about disable it but you can try hiding grub boot menu, it's quite easy to do so.

  1. Press Ctrl+Alt+T on keyboard to open Terminal, paste and run below command then:

    gksudo gedit /etc/default/grub
    

    An pop up will ask your sudo password, fill it. This behavior is because you're gonna modify grub config file (which need root privilege).

  2. When the file opens, remove # sign before GRUB_HIDDEN_TIMEOUT=0 and set GRUB_HIDDEN_TIMEOUT_QUIET=true. So it looks like:

    GRUB_DEFAULT=0
    GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=10
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX=""
    
  3. Save the file, open terminal and run sudo update-grub

Source: http://ubuntuhandbook.org/index.php/2014/06/ubuntu-1404-hide-grub-menu/

There are multiple ways to achieve the effect you desire. Broadly speaking, they are:

  • Configure GRUB to hide its own menu and boot only its default entry. (You should be able to launch older kernels by hitting the space bar, IIRC, as soon as GRUB launches; but timing on this may be tricky.) Liso's answer should help you do this.
  • Use the rEFInd entry that boots the Linux kernel directly, bypassing GRUB. This approach is likely to be the simplest way to go. It also gives you the option of selecting an older kernel by hitting the F2 or Insert key, rather than Enter, when you launch Ubuntu from rEFInd.
  • Install yet another boot loader, configure it to boot without presenting a menu, and use it. Many options are available; see my page on the subject for details. This approach is likely to be the most complex to set up, though, and in all probability it will have no advantages over one of the previous two options. I mention it only for completeness.

In all three cases, one issue you may encounter is multiple entries in rEFInd for Ubuntu. As I understand it, you're seeing two such entries now, one of which launches GRUB and one of which launches your Linux kernel. (You can distinguish them by the descriptions that appear when you highlight them in the rEFInd menu.) If you want to hide the unused/unwanted entry, you can do so in several ways, as described here in the rEFInd documentation. The best approach is likely to edit /boot/efi/EFI/refind/refind.conf: Add a dont_scan_dirs line that specifies ubuntu (to hide GRUB); or uncomment the scan_all_linux_kernels line and set it to false to keep rEFInd from showing your Linux kernels. If you prefer to boot through GRUB, it might be simpler to remove rEFInd's driver for the filesystem on which your kernel lives. (The driver should be in /boot/efi/EFI/refind/drivers_x64, assuming you're using an x86-64 system.)

That said, it may be better to leave the redundant entry in place, because that gives you an extra boot option in case one of them fails. GRUB might become misconfigured, for instance, so having an option to boot via the kernel and its EFI stub loader may be worthwhile; or a kernel update might break the EFI stub loader, as has happened at least once already (see bug #1649326). Thus, having a backup boot path can be worthwhile, even if it adds a redundant menu entry that you seldom use to rEFInd.

  • A very well written answer which addresses a different Q to the one asked which was specifically about hiding the Grub refind entry and not "all kernels", – RichieHH Sep 24 at 12:24

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.