.pacnew: /etc/default/grub

My files for /etc/default/grub are shwong the following differences for .pacnew:

/etc/default/grub /etc/default/grub.pacnew Comment Column 4 E F G H
GRUB_DISTRIBUTOR=‘Manjaro’ GRUB_DISTRIBUTOR=“Manjaro” Should be not critical
GRUB_CMDLINE_LINUX_DEFAULT=‘quiet splash udev.log_priority=3’ GRUB_CMDLINE_LINUX_DEFAULT=“quiet loglevel=3 rd.udev.log_level=3”
GRUB_THEME=“/usr/share/grub/themes/manjaro/theme.txt” #GRUB_THEME=“/path/to/gfxtheme” What neans ‘/path/to’?
GRUB_DISABLE_OS_PROBER=false #GRUB_DISABLE_OS_PROBER=false
GRUB_DISABLE_BOOTNEXT=true NOT IN ‘/etc’default/grub’
GRUB_BOOTNEXT_OMIT_INACTIVE=true NOT IN ‘/etc’default/grub’
GRUB_CMDLINE_LINUX_DEFAULT=“text” NOT IN ‘…/grub.pacnew’
GRUB_CMDLINE_LINUX_DEFAULT=“noplymouth” NOT IN ‘…/grub.pacnew’
GRUB_CMDLINE_LINUX=“” NOT IN ‘…/grub.pacnew’

How to proceed? Thank you!

Your /etc/default/grub file appears to have some strange entries in it (such as GRUB_CMDLINE_LINUX_DEFAULT=“text”).

To make it clearer as to what your actual GRUB configuration file contains, please post the output of:

grep -Ev "^#|^$" /etc/default/grub

That command will list all non-blank lines which are not commented out.

Also, please ensure that you post the output as code, not as a quote. See here for instructions :point_down:


[Mini How-To] format code or command output

Select and copy all the text in the Terminal window (minus the prompt, if you are using zsh).

Then paste the output in between two lines containing three backticks:
```
or three tildes:
~~~

Or:

Copy & paste, then highlight the pasted text and click the </> button at the top of the reply window (easier for smaller outputs).


Thank you @scotty65,

$ grep -Ev "^#|^$" /etc/default/grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR='Manjaro'
GRUB_CMDLINE_LINUX_DEFAULT='quiet splash udev.log_priority=3'
GRUB_CMDLINE_LINUX=""
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TERMINAL_INPUT=console
GRUB_GFXMODE=auto
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_DISABLE_RECOVERY=true
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"
GRUB_SAVEDEFAULT=true
GRUB_DISABLE_OS_PROBER=false
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX_DEFAULT="noplymouth"
GRUB_CMDLINE_LINUX=""
$

Ignore the commented lines; you will probably want to replace the first GRUB_CMDLINE one with its .pacnew replacement. In the meantime, I’d comment out those other “GRUB_CMDLINE” entries since, as @scotty65 said, these don’t look right.

You should also replace ' by " for these two lines (previous pacnew, a long time ago). It still works but eventually will fail in a future upgrade.

Good point; I saw it but thought nothing of it (“just a formatting change?”). Yes, worth doing that too.

You also have multiple lines with GRUB_CMDLINE_LINUX and …_DEFAULT.I don’t think it’s correct and you should at least remove the exact duplicates.

Some questions need to be answered by @MaMicha before firm advice can be given as to what should be in or out of the /etc/default/grub file.

  1. Is your device multi-boot, or is only Manjaro installed on it?

  2. Do you want to see a boot splash while booting (i.e. plymouth), or would you prefer to see scrolling text of the boot progress? At the moment, your configuration says “yes” to a splash (splash) & “no” to a splash (noplymouth - which is an invalid value anyway).

  3. Do you want the GRUB menu to display for a few seconds, so that you can select which O/S or Manjaro kernel to boot into?

Well, that’s a tough one…

Compare this: :point_down:

#GRUB_THEME=“/path/to/gfxtheme” 

to this: :point_down:

GRUB_THEME=“/usr/share/grub/themes/manjaro/theme.txt” 
  • The theme file in this case is: theme.txt
  • The PATH to that file is: /usr/share/grub/themes/manjaro/

:information_source: Whenever you see something like /path/to/whatever in a script template or in documentation, it is a placeholder for the actual filesystem path that’s needed in order for the script to find that file.

As the only reason to edit such a placeholder is because you have moved the destination file(s) elsewhere (for example, when manually installing a new theme) then it’s expected that you would know what that path should be.

The placeholder is used in the pacnew file to indicate that there should be a path entered, however, the default path to the Manjaro theme already clearly exists in /etc/default/grub, so there is nothing to change.


Simply put, take the pacnew. Only replace the line with the Theme with your old theme path so that the menu is green and not black and white.
And uncomment disable osprober. Everything else - like the pacnew.

And at the end sudo update-grub

Thank you @Scotty:

Only Manjaro.

I prefer to see scrolling text of the boot progress, if possible with the option to pause the progress. I tried a bunch of key-combinations on my LENOVO-Laptop, none did the job.

GRUB menu is not necessary.

Then, you don’t need to uncomment the os prober line.
And for the scrolling text also remove quiet from the respective line (it was quiet splash, the pacnew changed it to quiet). If you want it noisy. :stuck_out_tongue_winking_eye:
For me the scrolling log is the best boot animation too.

P.s. it is not about reading it, it is too fast. If it stucks somewhere it will pause. And everything is in the journal for later reference.

As @MaMicha appears to want what is almost a default GRUB boot process (with just a change to no splash and the Manjaro theme), they might be best off just replacing their /etc/default/grub file with the following (which is just the file from the latest GRUB package with the Manjaro theme path inserted, the removal of quiet so that text appears during the boot process, and Plymouth disabled using kernel parameters):


# GRUB boot loader configuration

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 rd.udev.log_level=3"
GRUB_CMDLINE_LINUX="plymouth.enable=0 disablehooks=plymouth"

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'menu' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=hidden

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Uncomment this option to enable os-prober execution in the grub-mkconfig command
#GRUB_DISABLE_OS_PROBER=false

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/title/Fsck#Boot_time_checking
#GRUB_ROOT_FS_RO=true

# Disable generating menu entries for other EFI boot manager entries detected
GRUB_DISABLE_BOOTNEXT=true

# Skip EFI boot manager entries that are marked inactive
# when when generating bootnext entries
GRUB_BOOTNEXT_OMIT_INACTIVE=true

I recommend that you make the changes by opening the file in a GUI text editor (as you use Plasma, kate):

kate /etc/default/grub

Just replace the entire contents of the file with the content from above. When you click the Save button, you will be prompted to enter your password to save the file.

Then, run:

sudo update-grub

and reboot.


If you decide at some stage that you do want to see a menu (which is useful when multiple kernels are installed, especially release candidates where you may occasionally need to boot into a more stable kernel), then you should change the GRUB_TIMEOUT_STYLE=hidden entry to GRUB_TIMEOUT_STYLE=menu, and also probably make the timeout a bit longer so that you have enough time to select the kernel.

This will set the timeout to 15 seconds: GRUB_TIMEOUT=15, which is what I have set on my system. If I don’t want to wait 15 seconds, I just press Enter when the grub menu appears to immediately boot into the latest kernel .


Of course, sudo update-grub needs to be run whenever any changes are made to /etc/default/grub.

Once you are happy with your grub configuration, you should then remove the .pacnew file:

sudo rm /etc/default/grub.pacnew

You cannot pause that.

  • UNIX is a multitasking operating system, and systemd makes use of this for initializing userspace. Among other things, that’s why it also boots much faster than a traditional System V init system.

  • An interactive terminal offers various key combinations for manipulating the output stream, but the boot-up console is not an interactive terminal. The only keyboard shortcuts it recognizes are the ones for switching to another tty once those have been set up, and it only seamlessly transitions into an interactive terminal once it too becomes a login console.

Thank you @scotty65, works perfect! Would you please explain the meaning of the Bootnext lines? I did not have those so far.

The default behavior of grub 2.16 is that it adds the UEFI boot entries to the grub menu. In most cases, you would not want that, as it creates duplicate entries. Therefore, the new settings allow you to disable this behavior.

In order to disable the new behavior, merge the .pacnew into your /etc/default/grub, like so… :backhand_index_pointing_down:

# Disable generating menu entries for other EFI boot manager entries detected
GRUB_DISABLE_BOOTNEXT=true

# Skip EFI boot manager entries that are marked inactive
# when when generating bootnext entries
GRUB_BOOTNEXT_OMIT_INACTIVE=true

… and then run… :backhand_index_pointing_down:

sudo update-grub

:+1: Glad it has worked out for you.

I’ll take the liberty of marking my post as the solution, so that the thread can close automatically in a few days.

I’ll also add some more advice on dealing with .pacnew & .pacsave files:

First, install the meld and pacman-contrib packages if they are not already installed on your system.

Then, if any .pacnew or .pacsave files turn up on your system, before making any changes read through the following (and maybe also bookmark the pages so that you can find them quickly again):