Nothin' to See Here Neon Sign

Warp Terminal

In Ubuntu, I use the update-grub command to update grub. Recently, I made a switch to Arch Linux for new adventures and there I encountered the error saying “sudo: update-grub: command not found”:

I remember choosing GRUB while installing Arch and the GRUB screen appeared too while booting the system. This is why I got confused when I saw the above error.

If you are in the same situation, let me share my findings with you.

Why do you see ‘update-grub’ command not found error?

You see the error because update-grub is not a standard command like ls, cd etc. It’s not even a standard command that is installed with grub.

In Ubuntu, the command is just an alias and when you run the update-grub command, it runs the following command instead:

sudo grub-mkconfig -o /boot/grub/grub.cfg

The grub-mkconfig is the command for managing grub. But the above command is difficult to remember so the aliased shortcut update-grub was created.

📋

You can either run the above grub-mkconfig command or create a custom update-grub command to run the same.

How to fix the update-grub command not found error

You can put some effort and create a custom update-grub command the same way it is implemented on Ubuntu and Debian.

It is a four-step process and I will assist you with every step.

Step 1: Create a new file

To create the update-grub command, the first step is to create a new file.

So open your terminal and use the following command:

sudo nano /usr/sbin/update-grub

What the above command will do is create a new file named update-grub in the /usr/sbin/ directory.

If you notice, there’s a nano command used which is a text editor which is responsible for creating an opening the file just after executing the command.

It will open an empty file looking like this:

create new file to solve update-grub command not found error

Step 2: Write new lines to the file

(secret: you don’t have to write but paste those lines 😉)

Once you execute the previous command, it will open the file where you have to add lines.

Simply select the following lines and paste them into the terminal using Ctrl + Shift + V:

#!/bin/sh 
set -e 
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
file contents to create a new file

Now, save changes and exit from the nano editor using Ctrl + O, press the Enter key and then Ctrl + X.

Step 3: Change ownership of the file

Once you are done creating the file, you have to assign the ownership to the root user of that file.

For that purpose, you’d have to use the chown command in the following manner:

sudo chown root:root /usr/sbin/update-grub
change file ownership in linux

Step 4: Change file permissions

In the last step, you have to change the read-write permissions using the chmod command as shown here:

sudo chmod 755 /usr/sbin/update-grub
change the read write permissions of the file

What the above command will do is only the file owner can read, write, and execute the file whereas others can only read and execute.

Once done, use the update-grub command it should work like you expect:

sudo update-grub
solved: sudo: update-grub: command not found error

What’s next? How about customizing GRUB?

Well, there’s a perception that everything related to GRUB is difficult but it is not and customize the GRUB bootloader as per your liking without any complex steps.

For that purpose, you’d have to install grub customizer, a GUI utility to customize grub easily.

Sounds interesting? Here’s a detailed guide on how to install and use grub customizer on Linux:

Customize Grub to Get a Better Experience With LinuxCouple of Grub configuration tweaks to get better experience with multi-boot Linux system using Grub Customizer GUI tool.

I hope you will find this guide helpful.

Similar Posts