4

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!

2
  • 7
    The first line should be a comment (# If ...) Dec 1, 2019 at 12:24
  • That was it. Wow, I feel dumb for missing that.
    – lilHar
    Dec 1, 2019 at 22:38

2 Answers 2

8

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 #

0

I was getting similar errors, not sure what happened on me, but my /etc/default/grub file had an extra line added during a recent update:

"/etc/default/grub" 34L, 1279C

was at the bottom of that file, I commented it out and things worked for me again!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .