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!
I don't know about disable it but you can try hiding grub boot menu, it's quite easy to do so.
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
sudopassword, fill it. This behavior is because you're gonna modify
grubconfig file (which need root privilege).
When the file opens, remove
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=""
- Save the file, open terminal and run
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.