Odd issue with Grub, fears my server may fail to boot

Hello!

Debian 10 dedi here, installed a little more than a year ago, running the GPL version of webmin+virtualmin, installed by a professional for me, while, me, I only take care of the day to day, lightweight maintenance and small operations.

It’s been over a week I have this odd message show up in the terminal, every time virtualmin updates a package as part of the normal updates:

Installing package(s) with command apt-get -y install php5.6 php5.6-cgi php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-opcache php5.6-readline php5.6-soap php5.6-tidy php5.6-xml php5.6-zip php7.0 php7.0-cgi php7.0-cli php7.0-common php7.0-curl php7.0-fpm php7.0-gd php7.0-imap php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-soap php7.0-tidy php7.0-xml php7.0-zip php7.1 php7.1-cgi php7.1-cli php7.1-common php7.1-curl php7.1-fpm php7.1-gd php7.1-imap php7.1-intl php7.1-json php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-opcache php7.1-readline php7.1-soap php7.1-tidy php7.1-xml php7.1-zip php7.2 php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-soap php7.2-tidy php7.2-xml php7.2-zip php7.3 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-fpm php7.3-gd php7.3-imap php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-soap php7.3-tidy php7.3-xml php7.3-zip php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-fpm php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-soap php7.4-tidy php7.4-xml php7.4-zip ..

Setting up grub-pc (2.02+dfsg1-20+deb10u3) ...
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: error: embedding is not possible, but this is required for RAID and LVM install.
You must correct your GRUB install devices before proceeding:

  dpkg-reconfigure grub-pc
dpkg: error processing package grub-pc (--configure):
 installed grub-pc package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 grub-pc
Reading package lists...

After which there’s the normal log of the normal updates installing themselves, ending with, I keep one last “normal” line:

NOTICE: You are seeing this message because you have apache2 package installed.
Errors were encountered while processing:
 grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)

You see the idea? Whatever updates are ran, the system attempts, first, to process grub.

And I have no idea why it’s doing that: I haven’t even remotely touched anything that might affect my dedicated server’s boot sequence, never, not even once, I know better than to mingle with something that works without needing my help.

I have zero experience working with grub (if you make the exception of traumatic memories, from 22 years ago, in which “what happens if I do this” prevented the PC with all my homework from managing to boot up -_- ), so I am not sure why I may have this error, and, more importantly, what it may mean.

Every google search I ran led to people who had actively wanted to change how grub works, to personally configure or customize it, I didn’t find people for whom the message showed up out of the blue.

Please, my apologies to ask, but would you be able to tell me how bad this error is?
Could it mean my server’s ability to boot is, for the moment, compromised?!?

Thank you very much if you can shed some light on this weird issue! I’ll be grateful!

I allow myself to bump my topic with updated information, as things only got more confusing than before.

Now, I am receiving confusing, mixed up information regarding the boot.

Depending on where I take my information from, it appears that I’m booting

  • from EFI,
  • from BIOS, and
  • from Netboot.
    Yikes.

(1) Information telling I’m booting from BIOS

The grub-pc error that shows up whenever I run an update to my dedi’s packages, as grub-pc is the BIOS version of grub.

Installing package(s) with command apt-get -y install php5.6 [ and the rest of the day's packages ]

Setting up grub-pc (2.02+dfsg1-20+deb10u3) ...
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install: error: embedding is not possible, but this is required for RAID and LVM install.
You must correct your GRUB install devices before proceeding:

  dpkg-reconfigure grub-pc
dpkg: error processing package grub-pc (--configure):
 installed grub-pc package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 grub-pc
Reading package lists...

(2) Information that tells I’m booting from EFI

First, fdisk -l on the two raid- mirrored SSDs that contain the system partition (I also have two raid-mirrored SATAS for /home, AKA the websites)

fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC CL SN720 SDAQNTW-512G-2000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 04FC4465-7B4D-411C-ABB4-6C5E78424904

Device              Start        End   Sectors   Size Type
/dev/nvme0n1p1       2048    1048575   1046528   511M EFI System
/dev/nvme0n1p2    1048576  983429119 982380544 468,4G Linux RAID
/dev/nvme0n1p3  983429120 1000204287  16775168     8G Linux swap
/dev/nvme0n1p4 1000212480 1000214527      2048     1M Linux filesystem

and

fdisk -l /dev/nvme1n1
Disk /dev/nvme1n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WDC CL SN720 SDAQNTW-512G-2000
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: CE7D7C9A-C87F-4CE0-BA08-5A1C42E2F511

Device             Start        End   Sectors   Size Type
/dev/nvme1n1p1      2048    1048575   1046528   511M EFI System
/dev/nvme1n1p2   1048576  983429119 982380544 468,4G Linux RAID
/dev/nvme1n1p3 983429120 1000204287  16775168     8G Linux swap

Both of the disks contain an “EFI System”.

Also: among the available grub packages, it’s grub-efi that is “automatic”:

apt list --installed | grep grub

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

grub-common/stable,now 2.02+dfsg1-20+deb10u3 amd64 [installed]
grub-efi-amd64-bin/stable,now 2.02+dfsg1-20+deb10u3 amd64 [installed]
grub-efi-amd64-signed/stable,now 1+2.02+dfsg1+20+deb10u3 amd64 [installed,automatic]
grub-pc-bin/stable,now 2.02+dfsg1-20+deb10u3 amd64 [installed]
grub-pc/stable,now 2.02+dfsg1-20+deb10u3 amd64 [installed]
grub2-common/stable,now 2.02+dfsg1-20+deb10u3 amd64 [installed]

Also, dmesg confirms it:

dmesg | grep "EFI v"
[    0.000000] efi: EFI v2.60 by American Megatrends

Also:
The presence of this directory,
/sys/firmware/efi

Also: what is indicated with the company from whom I rent my dedicated server.
In the “boot” section, the chosen option says “hd (Boot from hard drive (no netboot))”.
There are 2 other options, boot from network, and rescue mode, but they are not the toggled options, the toggled option is, really, indeed, boot from hard drive.

Booting from hard drive could be both from BIOS (grub-pc) or UEFI (grub-efi), but I’m mentioning it nonetheless.

(3) Information that tells I’m booting from Netboot

efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0005,0006,0007,0002,0001
Boot0001  Hard Drive    BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)..GO..NO..........H.G.S.T. .H.U.S.7.2.6.T.4.T.A.L.A.6.L.1...................\.,.@.r.d.=.X.........A..........................>..Gd-.;.A..MQ..L.6.V.1.G.W.7.N.K. . . . . . . . . . . . .......BO..NO..........H.G.S.T. .H.U.S.7.2.6.T.4.T.A.L.A.6.L.1...................\.,.@.r.d.=.X.........A..........................>..Gd-.;.A..MQ..L.6.V.Z.G.P.9.S.V. . . . . . . . . . . . .......BO..NO..........W.D.C. .C.L. .S.N.7.2.0. .S.D.A.Q.N.T.W.-.5.1.2.G.-.2.0.0.0...................\.,.@.r.d.=.X.........A............................DJD..........Gd-.;.A..MQ..L.1.9.5.2.E.Q.4.4.1.3.0.6.......BO..NO..........W.D.C. .C.L. .S.N.7.2.0. .S.D.A.Q.N.T.W.-.5.1.2.G.-.2.0.0.0...................\.,.@.r.d.=.X.........A............................DJD..........Gd-.;.A..MQ..L.1.9.5.2.E.Q.4.4.6.5.1.1.......BO
Boot0002  UEFI: Built-in EFI Shell      VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO
Boot0004* UEFI: PXE IPv4 Intel(R) Ethernet Connection X722 for 10GBASE-T        PciRoot(0x3)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/MAC(ac1f6bdf50ba,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0005* UEFI: PXE IPv4 Intel(R) Ethernet Connection X722 for 10GBASE-T        PciRoot(0x3)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x3,0x0)/Pci(0x0,0x1)/MAC(ac1f6bdf50bb,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0006* debian        HD(1,GPT,3512b5d5-ac0a-41e6-bc83-54560aac8efb,0x800,0xff800)/File(\EFI\DEBIAN\GRUBX64.EFI)..BO
Boot0007* debian        HD(1,GPT,0fee750d-a044-4142-8182-9d88460a01c8,0x800,0xff800)/File(\EFI\DEBIAN\GRUBX64.EFI)..BO
MirroredPercentageAbove4G: 0.00
MirrorMemoryBelow4GB: false

Here, BootCurrent = 004, and 004 is “PXE IPv4 Intel® Ethernet Connection X722 for 10GBASE-T”
… which is Netboot.

Do you see what I mean, now, when I say this is an extremely confusing situation?

Any ideas would be most welcome and met with gratitude, thanks if you can help!

I’m not sure why it’s trying to install grub-pc since you don’t need it. I’d probably try sudo apt-get remove grub-pc --dry-run and see what it says. Note, the --dry-run is important as it won’t do anything as it just goes through the steps and it will probably tell you something.

Thanks for the answer!

I’ve just ran the dry-run you mentioned, and it gave a very basical “sure, it’s been removed” simulation result, I don’t quite know what to make of it, I’m afraid?

apt-get remove grub-pc --dry-run
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apt-show-versions libapt-pkg-perl php5.6-geoip php7.0-geoip php7.1-geoip php7.2-geoip php7.3-geoip
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  grub-pc
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Remv grub-pc [2.02+dfsg1-20+deb10u3]

I’m tempted to go ahead and actually remove it, but there’s still the faint possibility my server might actually manage to boot if, unluckily, it has to reboot ¯_(ツ)_/¯

Yeah it’s a tricky decision. Just have backups.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.