With v18.0-beta-7 I changed the way on how we use grub. This is the needed information to communicate to the user when using grub-quiet package.
We added new features to grub-quiet. On this we worked with Fedora together.
On systems with only a single OS installed, the grub menu's only function is to allow booting older kernels, which is only necessary as a rescue option in case of a severe kernel bug and as such not something which is directly useful for normal use.
Manjaro already has a lot of work done to not show too technical boot messages to end users during bootup, e.g. we pass quiet to the kernel and we had plymouth to show a bootsplash instead of a bunch of "Starting service-foo: OK" messages.
The grub menu with its kernel versions is another example of showing too technical info to end-users and on non multi-boot systems it normally is not necessary, so it is better to hide it.
This change will add menu-auto-hide functionality to grub, which when enabled will hide the menu if:
- The machine only has a single OS installed; and
- The previous boot has set a flag to indicate it successfully booted
To make the menu easier to reach when hidden this change will also extend how the menu can be unhidden. Currently to show the menu when hidden the user needs to press ESC during boot. There are 3 problems with this
- It is not easily discoverable
- Timing the ESC key press right may be hard
- ESC makes the machine enter its firmware/BIOS setup screen on some machines (especially with the #bladebook)
So we added 2 new unhide methods to address these problems:
- Press F8 to unhide the menu (F8 has been the key to show the Windows boot menu for many older Windows versions)
- Keep SHIFT pressed during boot, this fixes the timing problem and this is what Ubuntu does
This new auto-hide functionality will be automatically enabled on new Manjaro 18.0 installs. This can be disabled by running:
sudo grub-editenv - unset menu_auto_hide
You can also show the menu once for 60 seconds on next boot:
sudo grub-editenv - set menu_show_once=1
How to enable smooth-bootup
These steps are only needed when not using any Manjaro 18.0-beta-7 install media.
- switch to testing branch
- install linux418 or linux419
- install grub-quiet
- reinstall grub to MBR (Attention: use the correct cmd for your system!)
- EFI:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
- BIOS:
sudo grub-install --recheck /dev/sd[X]
(change [X] for your device letter. Check vialsblk -f
)
- EFI:
- reboot to see if all is still booting fine (optional)
- check that you have
loglevel=3 vga=current rd.systemd.show_status=auto rd.udev.log-priority=3 vt.global_cursor_default=0
in/etc/default/grub
underGRUB_CMDLINE_LINUX_DEFAULT
orGRUB_CMDLINE_LINUX
sed -i -e 's|fsck||g' /etc/mkinitcpio.conf
sudo mkinitcpio -P
sudo update-grub
- reboot your system