grub-pc versus grub-efi-amd64

Volker Wysk post at volker-wysk.de
Mon Aug 31 16:59:43 UTC 2020


Am Montag, den 31.08.2020, 14:27 +0200 schrieb Tom H:
> On Sat, Aug 29, 2020 at 5:31 PM Volker Wysk <post at volker-wysk.de>
> wrote:
> > I've completely reinstalled and set up my UEFI system anew, a few
> > weeks ago. Now I'm wondering why the package grub-pc and not
> > grub-efi-amd64 is installed. I have two GPTs (SSD and HDD) and a
> > partition which is larger than 2 GB on the HDD, and it works.
> > 
> > On the page [1] there it's written about the GRUB customizer
> > program:
> > 
> > "Dieser Artikel basiert auf dem Paket grub-pc für ältere BIOS-
> > Rechner
> > bzw. Installationen im BIOS-Modus. Auf modernen EFI-Systemen wird
> > dagegen das Paket grub-efi-amd64 eingesetzt. Während das bei
> > einfachen
> > Aufgaben keine Rolle spielt, kann ein Neuschreiben des MBR
> > (BIOS-Modus) ein EFI-System schwer beschädigen!"
> > 
> > I couldn't find an English version. Here's my translation:
> > 
> > "This article is based on the package grub-pc for elder BIOS-
> > computers
> > or rather installation in BIOS mode. On modern EFI systems however
> > the package grub-evi-amd64 is used. Whereas this doesn't play a
> > role
> > for simple tasks, a new-writing of the MBR (BIOS mode) can damage
> > an
> > EFI- system severely."
> > 
> > Why is grub-pc installed on my system, and not grub-efi-amd64? Why
> > does it work at all..??
> > 
> > What happends when I run Grub Installer? Will that nuke my new
> > system?
> > What happends when I install grub-efi-amd64?
> 
> I installed 20.10 right after 20.04 was released on an EFI system,
> and
> I also have "grub-pc" rather than "grub-efi-amd64" installed.

And this isn't a packaging bug...


> The Ubuntu grub2 source package's chopped up into many binary
> packages.
> 
> Neither "grub-pc" nor "" have anything really significant for booting
                         ^grub-efi-amd64
> an EFI system.

This is the part which I didn't understand. Grub2 is the boot loader,
so I guessed, because of that article, that handling of UEFI versus the
old BIOS-based standard was placed in those two packages (grub-pc and
grub-efi-amd64). But, like you said, Grub is split into a LOT more
packages. There are no less than 46 packages with "grub" in the name.

What disturbes me, is that the "update-grub" script is in the "grub-pc" 
package, but not in "grub-efi-amd64". Isn't this script needed, for
instance, when a new kernel is to be installed?

Obviously it isn't. But why is it split into the two packages? Doesn't
it matter, which package is installed? If not, why two packages?

> localhost /tmp/GRUB $ dpkg -L grub-pc
> /.
> /usr
> /usr/bin
> /usr/lib
> /usr/lib/grub-legacy
> /usr/lib/grub-legacy/update-grub
> /usr/sbin
> /usr/sbin/upgrade-from-grub-legacy
> /usr/share
> /usr/share/bash-completion
> /usr/share/bash-completion/completions
> /usr/share/bug
> /usr/share/bug/grub-pc
> /usr/share/bug/grub-pc/presubj
> /usr/share/bug/grub-pc/script
> /usr/share/doc
> /usr/share/man
> /usr/share/man/man8
> /usr/share/man/man8/grub-bios-setup.8.gz
> /usr/bin/grub-ntldr-img
> /usr/sbin/grub-bios-setup
> /usr/share/bash-completion/completions/grub-bios-setup
> /usr/share/doc/grub-pc
> 
> localhost /tmp/GRUB $ apt download grub-efi-amd64
> 
> localhost /tmp/GRUB $ dpkg -x grub-efi-amd64_2.04-1ubuntu28_amd64.deb 
> .
> 
> localhost /tmp/GRUB $ lr
> .:
> grub-efi-amd64_2.04-1ubuntu28_amd64.deb  usr/
> 
> ./usr:
> share/
> 
> ./usr/share:
> bug/  doc/
> 
> ./usr/share/bug:
> grub-efi-amd64/
> 
> ./usr/share/bug/grub-efi-amd64:
> presubj  script*
> 
> ./usr/share/doc:
> grub-efi-amd64@
> 
> localhost /tmp/GRUB $ sudo apt install grub-efi-amd64 -s

What does that "-s" argument do? I couldn't find it in the man page.

> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following packages will be REMOVED:
>   grub-gfxpayload-lists grub-pc
> The following NEW packages will be installed:
>   grub-efi-amd64
> 0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded.
> Remv grub-gfxpayload-lists [0.7] [grub-pc:amd64 ]
> Remv grub-pc [2.04-1ubuntu28] [grub-efi-amd64-signed:amd64 ]
> Inst grub-efi-amd64 (2.04-1ubuntu28 Ubuntu:20.10/groovy [amd64])
> Conf grub-efi-amd64 (2.04-1ubuntu28 Ubuntu:20.10/groovy [amd64])
> th localhost /home/th
> 
> localhost /tmp/GRUB $
> 
> So if you install "grub-efi-amd64", nothing much'll change.

Thanks!

Cheers,
Volker
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/ubuntu-users/attachments/20200831/b9dc4b44/attachment.sig>


More information about the ubuntu-users mailing list