0

My Linux Debian v9.11.0 (Stretch) currently has GRUB1 installed.

root@Debian:~# grub-install -v
grub-install (GNU GRUB 0.97)

My other Ubuntu Linux has GRUB2 installed:

root@Ubuntu:~# grub-install -V
grub-install (GRUB) 2.02+dfsg1-20

I want to install GRUB2, but if I try to install it on the Debian with apt-get install grub2, a beta version of GRUB2 is installed !!!

root@Debian:~# grub-install -V
grub-install (GRUB) 2.02~beta3-5+deb9u2

I do not want this beta version - I want a stable version of GRUB2 like the one that Ubuntu has installed.

When searching for available GRUB2 packages from the Debian, I get only beta packages listed:

root@Debian:~# apt search GRUB2
Sorting... Done
Full Text Search... Done
grub-imageboot/oldstable 0.6 all
  boot iso, harddisk and floppy images with grub2 and syslinux memdisk

grub2/oldstable,now 2.02~beta3-5+deb9u2 amd64 [residual-config]
  GRand Unified Bootloader, version 2 (dummy package)

grub2-common/oldstable 2.02~beta3-5+deb9u2 amd64
  GRand Unified Bootloader (common files for version 2)

grub2-splashimages/oldstable 1.0.1+nmu1 all
  a collection of great GRUB2 splashimages

live-wrapper/oldstable 0.6+nmu1 all
  Wrapper for vmdebootstrap for creating live images

live-wrapper-doc/oldstable 0.6+nmu1 all
  Wrapper for vmdebootstrap for creating live images (Documentation)

vmdebootstrap/oldstable 1.7-1 amd64
  Bootstrap Debian into a (virtual machine) disk image

How to install a non-beta version of GRUB2 on the Debian ?

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255
  • It's fine to use the beta version. It has a lot of fixes that the original 2.00 does not, and was the best available version at the time of release. Using the 2.00 stable version would have been a disservice to users. You could also just upgrade to buster. – bk2204 Jan 07 '20 at 00:05

1 Answers1

2

You could install the current version from buster which is the same version as from your Ubuntu.

As described in this answer, you could add the buster main repository to your apt sources and set the default release to "stretch" to give packages from stretch a higher priority. You can then install newer packages from buster manually with sudo apt -t buster install nameofpackage.

Instructions:

  1. Create file /etc/apt/sources.list.d/buster.list containing the buster main repository

    deb http://deb.debian.org/debian buster main
    
  2. Create file /etc/apt/apt.conf.d/default-release with this content

    APT::Default-Release "stretch";
    

    Choose either "stretch" or "oldstable" as default release name.

  3. Run

    sudo apt update
    

    to update your package indexes.

    If you now run apt policy grub2 the output should look similar to this:

    apt policy grub2
    grub2:
      Installed: (none)
      Candidate: 2.02~beta3-5+deb9u2
      Version table:
         2.02+dfsg1-20 500
            500 http://deb.debian.org/debian buster/main amd64 Packages
         2.02~beta3-5+deb9u2 990
            990 http://ftp.de.debian.org/debian stretch/main amd64 Packages
    

    As you can see the version from the buster repository has a lower priority of 500.

  4. Install or upgrade grub2 with

    sudo apt -t buster install grub2
    
Freddy
  • 25,565
  • That's a functional workaround, but why does the Debian "Stretch" repository contain only beta versions of GRUB2 in the first place ? After all, GRUB v2.00 was released 5 years BEFORE Debian "Stretch" was released, see here: https://ftp.gnu.org/gnu/grub/ Is this a bug in this distro ? – George Robinson Jan 06 '20 at 11:50