Ubuntu – /usr/sbin/grub-mkconfig: 1: /etc/default/grub: If: not found

bootgrub2

When I run sudo update-grub2 or sudo update-grub

I get the response

Sourcing file `/etc/default/grub'
/usr/sbin/grub-mkconfig: 1: /etc/default/grub: If: not found

However, my /etc/default/grub file is definitely there. The contents are as such:

 If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#Originally...
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="splash radeon.si_support=0 amdgpu.si_support=1 radeon.cik_support=0 amdgpu.cik_support=1"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=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 `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

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

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

Any clue what the error could be? Thanks!

Best Answer

The error message

/usr/sbin/grub-mkconfig: 1: /etc/default/grub: If: not found

is not telling you that the file /etc/default/grub is not found, it's saying that the command If is not found at line #1 of that file. That's because If should be part of the comment block i.e.

 If you change this file, run 'update-grub' afterwards to update

should be

# If you change this file, run 'update-grub' afterwards to update

You will need to edit the file (with sudoedit /etc/default/grub for example) and insert the missing #