Grub error: symbol “grub_calloc” not found. Entering rescue mode… grub rescue.

Since this morning, when i start my laptop, i only see the text:

Grub error: symbol "grub_calloc" not found.
Entering rescue mode...
grub rescue>

I recently updated the packages on my Ubuntu laptop.
I’m guessing it has something to do with the updates for the vulnerability “boothole” in Grub2.

I found this additional information:
https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass#Recovery

working on this now….

because my laptop is not by default suited for Ubuntu <= 18.04 (did not test on >= 20.04) (because of a video card driver issue).
i could not use the default boot / install USB approach. (installed Ubuntu originally by use of the CLI).

the solution i used for most physical systems is: Boot-repair and running the “recommended repair”.

etckeeper + git issue on trusty

latest Git version requires manually setting the user.email, if the email cannot be auto-detected.

In combination with etckeeper configured with Git, this can give an error (example bellow).

To prevent this, make sure “/etc/hosts” contains a FQDN for the current hostname of your machine.

From man hostname:

The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts, DNS, or NIS. For example, if the hostname was
“ursula”, one might have a line in /etc/hosts which reads

127.0.1.1 ursula.example.com ursula

linked bug on launchpad: https://bugs.launchpad.net/ubuntu/+source/etckeeper/+bug/1267564

Example error:

*** Please tell me who you are.

Run

  git config --global user.email "<email address hidden>"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address

Fix: “perl: warning: Setting locale failed.”

On Ubuntu, if you have the following error:


perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "nl_NL.UTF-8",
LC_MONETARY = "nl_NL.UTF-8",
LC_COLLATE = "C",
LC_ADDRESS = "nl_NL.UTF-8",
LC_TELEPHONE = "nl_NL.UTF-8",
LC_NAME = "nl_NL.UTF-8",
LC_MEASUREMENT = "nl_NL.UTF-8",
LC_IDENTIFICATION = "nl_NL.UTF-8",
LC_NUMERIC = "nl_NL.UTF-8",
LC_PAPER = "nl_NL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

check which locales are autogenerated with:
$ dpkg-reconfigure locales

(this should also generate the error again)

generate the missing locales with locale-gen, example:
$ locale-gen nl_NL.UTF-8

you can check if the error is solved with:
$ dpkg-reconfigure locales

if you want to change your system locale settings
$ vim /etc/default/locale

(not in “/etc/environment”, should be deprecated?)