61

How do I find the version of GRUB that is running in a particular version of Ubuntu? I want a terminal command that tells me.

7 Answers 7

80

For me the above answer given by @Daniel does not work. I have Ubuntu 14.04 LTS (this also works with Ubuntu 17.10) and to check the version of Grub (Grub2) I need to type:

grub-install --version

check grub2 version

7
  • 2
    Correct they seemed to have changed it with some newer version. Just like in apt where apt-get update -f won't work anymore and you'll have to use the explicit apt-get update --fix-missing
    – Daniel W.
    Nov 3, 2014 at 15:21
  • works with 16.04 LTS as well :) Oct 16, 2018 at 13:17
  • sudo grub-install --version for debian.
    – RichieHH
    Feb 24, 2020 at 6:17
  • Works with 20.04 LTS as well.
    – wyphan
    Nov 30, 2020 at 22:44
  • 1
    But is this Grub version 2.02 or Grub2 version 2.02?
    – alife
    Oct 21, 2022 at 18:08
20

On clean ubuntu installs the grub package itself doesn't seem to be installed. Thus typing 'grub -anyoption' results in an error that says grub is not installed. However you can type for example

grub-install -v

And it will give you the correct version of grub currently installed

enter image description here

The version of the Grub is 1.99-21ubuntu3

EDIT: As others have pointed out the commandline flags have been changed in newer versions. So now instead of typing grub-install -v you'd have to use a capital 'V' or the explicit --version

4
  • 2
    I find it more friendly this way. Also grub-probe -V works. Feb 25, 2012 at 1:14
  • 1
    basicly everything in your /usr/bin folder that starts with 'grub' does the job
    – Daniel W.
    Feb 25, 2012 at 1:22
  • 4
    Uppercase -V, not lowercase. Nov 3, 2014 at 4:43
  • 1
    Ahh thanks for the hint! They must have changed it with a newer version..I'll edit it in the post
    – Daniel W.
    Nov 3, 2014 at 15:22
7

This will roughly do the job:

dpkg -l | grep grub | grep ii

You should note that just to confuse things that the version 1.9x is known as Grub2. I think they number it in a similar way that people would call the 1600-1699, the 17th century.

4
  • 1
    I find it weird that there is no command for it. like a grub command that grub -v and done. Thanks again Oli you rock ^^. Feb 25, 2012 at 1:02
  • I think that v1.9 is supposed to be "pre-Grub2" - i.e., an almost ready version. Yet, you'd think that 2.0.x RC# would have been better naming for them...
    – Mei
    Feb 25, 2012 at 2:30
  • 1
    The thing is--the grub you may be using to boot may not be installed from the Ubuntu system you are currently running. Therefore I prefer the other answer. Oct 7, 2012 at 17:52
  • "GRUB 2 is the default boot loader and manager for Ubuntu since version 9.10 (Karmic Koala)." .... "In this guide, GRUB 2 is version 1.98 or later. GRUB legacy (version 0.97) will be referred to as GRUB. " from help.ubuntu.com/community/Grub2 Dec 27, 2023 at 3:50
5

It can be also found out with either of these:

grub-probe --version 
grub-probe -V
3

to find out what bootloader you're using, you have to look at the bootloader!

try dd if=/dev/sda bs=512 count=1 2> /dev/null | grep -q GRUB && echo "GRUB found"


All querying of installed packages, as described in the other answers, miss an important point: to probe your bootloader, look at the bootloader!

In other words, you can install whatever packages you like in whatever OS or distro you like, but none of this has anything to do with the bootloader you'll use when you reboot.

specifically, for MBR/msdos partitioned disks: probe the MBR (i.e. look at the bootloader to see what bootloader you're using)

This duplicate has some good answers: How do I find out which boot loader I have?

I like this more complete answer, found in a newer question:
question: https://superuser.com/questions/466086/how-can-i-discover-which-bootloader-is-installed-where
answer: https://superuser.com/a/466248

2

The package name is grub-pc, so you can do this:

dpkg -l grub-pc

which will show you something like this:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                     Version                   Architecture              Description
+++-========================================-=========================-=========================-=====================================================================================
ii  grub-pc                                  2.02~beta2-9ubuntu1.7     amd64                     GRand Unified Bootloader, version 2 (PC/BIOS version)
1

I'll throw my hat into the ring as well. You can also do it with apt-cache policy grub-pc

:~$ apt-cache policy grub-pc
grub-pc:
  Installed: 2.02-2ubuntu8.7
  Candidate: 2.02-2ubuntu8.7
  Version table:
 *** 2.02-2ubuntu8.7 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.02-2ubuntu8 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

You must log in to answer this question.

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