I have a dual Windows 7/Ubuntu system which I almost always boot into Windows. When I boot into Ubuntu it makes memtest the default boot menu option. Whilst this is annoying I could live with it if I were able to change the default back from the grub command line available from the boot menu. I don't want to have to boot into Ubuntu to fix this problem every time.

I am able to find the grub config file and can see the contents (sort of) by using:

cat (hd0,5)/boot/grub/grub.cfg

(although this only shows me the 'tail' not the whole file).

and the command:

configfile (hd0,5)/boot/grub/grub.cfg

executes this configuration (again).

Is it possible to edit this file from the grub command line?

The grub (1.99) manual suggests that I can use the Environment Block to:

set the default menu entry based on what was selected the last time

which may fix my problem but I can't find any examples of their use... Can I somehow use the save_env and load_env commands?

Note: I have grub version 1.98


No, there is no way to change the default boot menu from the grub command line. The easiest way to do this is by booting into Linux.

Next time you boot, look at the order of boot options. Let's say you want to make Windows the default boot option, note down the line it is on, i.e. the 4th or whatever.

Edit /etc/default/grub

Find the line -


Subtract 1 from the number you noted above, let's it was 4 and change the text to read


Run update-grub2 from the shell.

  • Can I do this from the grub command line (accessed from the boot screen)? How do I edit the file from there? – Matthew Murdoch Sep 27 '11 at 12:52
  • You can't make the changes I described without booting into linux. If you can't boot the installed system, you can use a live cd. – bryan Sep 28 '11 at 5:16
  • 1
    So the answer to my original question is 'No (it is not possible)'? – Matthew Murdoch Sep 28 '11 at 8:18

Using the Super Grub Disk is easier than using a live CD.

See this tutorial : GRUB 2 recovery.


To change the default boot of Backtrack 5 R3 to Windows 7 or any other OS then you must first make a note of what line in the list the option is on as you will need it in step 2. My Windows 7 boot option is on Line 5. Let's open the file we need to edit;

root@bt:~# gedit /boot/grub/grub.cfg

Then find the following line (it's on line 12 in mine)

set default="0"

Now subtract 1 from your chosen boot menu line i asked you to remember earlier, mine was on line 5 so i change the "0" to a "4"

set default="4"

Now click on save, then close down everything you have open and restart your computer to check it has worked, you should now find your chosen boot option highlighted.


This can be done using the grub command line tools.

Step 1: Find the number of your boot selection:

[root@box3 ~]# grep "^menuentry" /boot/efi/EFI/redhat/grub.cfg

Start counting from zero to find the number of the menuentry that you want.

Step 2: Set the default. Given that the menu item that you want is number 1 (i.e. the 2nd in the list) run the following command:

grub2-set-default 1

It's also worth noting that there may be multiple grub.cfg files on your system. For example, under RedHat, CentOS, and Fedora there is one for legacy boot and one for EFI boot.

[root@sri-0000-0003 ~]# find /boot -name grub.cfg

So, if you find yourself banging your head against your desk because the default boot selection never changes despite following all of the advice you've found, see if you might be modifying the wrong grub.cfg file.

Also worth noting is that if you've completely hosed your grub.cfg file, you can rebuild it with grub2-mkconfig (e.g. grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg).

  • The man page for grub2-set-default states the command will have no effect unless the grub config file has been created with /etc/default/grub containing the line GRUB_DEFAULT=saved, – kreemoweet Sep 24 '20 at 23:05
  • Ok Well, you would run grub2-mkconfig -o path/to/config if for some reason it hasn't already been done. However it is very likely already done. – shrewmouse Sep 25 '20 at 0:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.