Boot Errors After an Update

Hi

During an update I had a file copy error for a font file.

Now I see the following errors when booting the PC. The errors appear before the Zorin splash screen so I'm guessing it has to do with GRUB?

error: invalid font.
error: no suitable video mode found.
error: no video mode activated.

Does anyone know how can I fix this? Any help would be appreciated.

Below is what I found in /var/log/apt/history.log for the update.

Start-Date: 2025-05-15 11:25:47
Commandline: aptdaemon role='role-commit-packages' sender=':1.124'
Upgrade: linux-tools-common:amd64 (5.15.0-139.149, 5.15.0-140.150), firefox:amd64 (138.0.1~build1, 138.0.3~build1), grub-efi-amd64-signed:amd64 (1.187.6+2.06-2ubuntu14.4, 1.187.12+2.06-2ubuntu14.8), libabsl20210324:amd64 (0~20210324.2-2, 0~20210324.2-2ubuntu0.2), grub-efi-amd64-bin:amd64 (2.06-2ubuntu14.4, 2.06-2ubuntu14.8)
End-Date: 2025-05-15 11:47:27

Hi and welcome.
If you still have the installation media you created to install Zorin, boot off that and run the Boot Repair Utility and see if that fixes things.

1 Like

Hi swarfendor437,

I tried Boot Repair from the original installation media but I get the following message:

The current session is in BIOS-compatibility mode. Please disable BIOS-compatibility/CSM/Legacy mode in your UEFI firmware, and use this software from a live-CD (or live-USB) that is compatible with UEFI booting mode.

I could not find that setting in my BIOS. Maybe because it is older AMI BIOS from 2011. So I can't run the utility. Is there a way around this?

BTW, I found the original install error in /var/log/apt/term.log:

Setting up firefox (138.0.3~build1) ...
Setting up libabsl20210324:amd64 (0~20210324.2-2ubuntu0.2) ...
Setting up grub-efi-amd64-bin (2.06-2ubuntu14.8) ...
Setting up linux-tools-common (5.15.0-140.150) ...
Setting up grub-efi-amd64-signed (1.187.12+2.06-2ubuntu14.8) ...
Trying to migrate /boot/efi into esp config
Installing grub to /boot/efi.
Installing for x86_64-efi platform.
grub-install: error: cannot copy /usr/share/grub/unicode.pf2' to /boot/grub/fonts/unicode.pf2': Input/output error.

Processing triggers for libc-bin (2.35-0ubuntu3.9) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Log ended: 2025-05-15 11:47:27

Thank you!

The boot stick should be formatted in the same format that your PC uses.
When you use a legacy BIOS or have CSM activated use the MBR format for BIOS/UEFI and when you have a UEFI format it in GPT for UEFI when creating the boot stick.
You should not change the setting from Legacy/CSM to UEFI in your BIOS/UEFI after Zorin is installed. It won't boot anymore.
Was it really the same boot stick you used when installing Zorin or did you create a new one?

Hi Forpli,

The files on the USB are from Sep 18 2024, which I believe is the correct time frame for when I started using Zorin. But the USB was created on a different newer PC. Should I create another Zorin USB from this older PC which is having the issue?

Thank you!

It does not matter on which PC the boot stick was/is created. You can set the desired format in the tool with which the stick is created (e.g. Rufus, Ventoy).
I wonder why you got this error message.

I decided to try copying the font file myself as root, but as you can see below the copy fails.

root@Family2PC:/var/log/apt# cp -v /usr/share/grub/unicode.pf2 /boot/grub/fonts/unicode.pf2
'/usr/share/grub/unicode.pf2' -> '/boot/grub/fonts/unicode.pf2'
cp: error reading '/usr/share/grub/unicode.pf2': Input/output error

After searching the web for why cp might fail I was directed to the syslog. I'm not familiar with the kernel messages, but the output below from /var/log/syslog seems to indicate that there is an issue with the disk?

This freaked me out a bit, so I'm going to set up another PC with Zorin and move my work to that new install. Then I'll try more recovery steps on this broken PC and report back on the results.

May 16 10:48:53 Family2PC kernel: [ 3549.590633] ata1.00: exception Emask 0x0 SAct 0x1c098 SErr 0x0 action 0x0
May 16 10:48:53 Family2PC kernel: [ 3549.590652] ata1.00: irq_stat 0x40000008
May 16 10:48:53 Family2PC kernel: [ 3549.590660] ata1.00: failed command: READ FPDMA QUEUED
May 16 10:48:53 Family2PC kernel: [ 3549.590666] ata1.00: cmd 60/00:38:f0:64:bd/02:00:02:00:00/40 tag 7 ncq dma 262144 in
May 16 10:48:53 Family2PC kernel: [ 3549.590666] res 41/40:00:b0:66:bd/00:00:02:00:00/00 Emask 0x409 (media error)
May 16 10:48:53 Family2PC kernel: [ 3549.590685] ata1.00: status: { DRDY ERR }
May 16 10:48:53 Family2PC kernel: [ 3549.590691] ata1.00: error: { UNC }
May 16 10:48:53 Family2PC kernel: [ 3549.591952] ata1.00: configured for UDMA/100
May 16 10:48:53 Family2PC kernel: [ 3549.591998] sd 2:0:0:0: [sdb] tag#7 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=29s
*May 16 10:48:53 Family2PC kernel: [ 3549.592008] sd 2:0:0:0: [sdb] tag#7 Sense Key : Medium Error [current] *
May 16 10:48:53 Family2PC kernel: [ 3549.592015] sd 2:0:0:0: [sdb] tag#7 Add. Sense: Unrecovered read error - auto reallocate failed
May 16 10:48:53 Family2PC kernel: [ 3549.592022] sd 2:0:0:0: [sdb] tag#7 CDB: Read(10) 28 00 02 bd 64 f0 00 02 00 00
May 16 10:48:53 Family2PC kernel: [ 3549.592027] I/O error, dev sdb, sector 45967024 op 0x0:(READ) flags 0x80700 phys_seg 8 prio class 0
May 16 10:48:53 Family2PC kernel: [ 3549.592079] ata1: EH complete
May 16 10:49:30 Family2PC kernel: [ 3587.038889] ata1.00: exception Emask 0x0 SAct 0x40000 SErr 0x0 action 0x0
May 16 10:49:30 Family2PC kernel: [ 3587.038908] ata1.00: irq_stat 0x40000008
May 16 10:49:30 Family2PC kernel: [ 3587.038916] ata1.00: failed command: READ FPDMA QUEUED
May 16 10:49:30 Family2PC kernel: [ 3587.038922] ata1.00: cmd 60/08:90:b0:66:bd/00:00:02:00:00/40 tag 18 ncq dma 4096 in
May 16 10:49:30 Family2PC kernel: [ 3587.038922] res 41/40:00:b0:66:bd/00:00:02:00:00/00 Emask 0x409 (media error)
May 16 10:49:30 Family2PC kernel: [ 3587.038941] ata1.00: status: { DRDY ERR }
May 16 10:49:30 Family2PC kernel: [ 3587.038948] ata1.00: error: { UNC }
May 16 10:49:30 Family2PC kernel: [ 3587.040199] ata1.00: configured for UDMA/100
May 16 10:49:30 Family2PC kernel: [ 3587.040227] sd 2:0:0:0: [sdb] tag#18 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=3s
*May 16 10:49:30 Family2PC kernel: [ 3587.040237] sd 2:0:0:0: [sdb] tag#18 Sense Key : Medium Error [current] *
May 16 10:49:30 Family2PC kernel: [ 3587.040244] sd 2:0:0:0: [sdb] tag#18 Add. Sense: Unrecovered read error - auto reallocate failed
May 16 10:49:30 Family2PC kernel: [ 3587.040251] sd 2:0:0:0: [sdb] tag#18 CDB: Read(10) 28 00 02 bd 66 b0 00 00 08 00
May 16 10:49:30 Family2PC kernel: [ 3587.040256] I/O error, dev sdb, sector 45967024 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
May 16 10:49:30 Family2PC kernel: [ 3587.040292] ata1: EH complete
May 16 10:49:34 Family2PC kernel: [ 3591.004782] ata1.00: exception Emask 0x0 SAct 0x800000 SErr 0x0 action 0x0
May 16 10:49:34 Family2PC kernel: [ 3591.004802] ata1.00: irq_stat 0x40000008
May 16 10:49:34 Family2PC kernel: [ 3591.004810] ata1.00: failed command: READ FPDMA QUEUED
May 16 10:49:34 Family2PC kernel: [ 3591.004816] ata1.00: cmd 60/08:b8:b0:66:bd/00:00:02:00:00/40 tag 23 ncq dma 4096 in
May 16 10:49:34 Family2PC kernel: [ 3591.004816] res 41/40:00:b0:66:bd/00:00:02:00:00/00 Emask 0x409 (media error)
May 16 10:49:34 Family2PC kernel: [ 3591.004836] ata1.00: status: { DRDY ERR }
May 16 10:49:34 Family2PC kernel: [ 3591.004842] ata1.00: error: { UNC }
May 16 10:49:34 Family2PC kernel: [ 3591.007219] ata1.00: configured for UDMA/100
May 16 10:49:34 Family2PC kernel: [ 3591.007250] sd 2:0:0:0: [sdb] tag#23 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK cmd_age=3s
*May 16 10:49:34 Family2PC kernel: [ 3591.007260] sd 2:0:0:0: [sdb] tag#23 Sense Key : Medium Error [current] *
May 16 10:49:34 Family2PC kernel: [ 3591.007267] sd 2:0:0:0: [sdb] tag#23 Add. Sense: Unrecovered read error - auto reallocate failed
May 16 10:49:34 Family2PC kernel: [ 3591.007274] sd 2:0:0:0: [sdb] tag#23 CDB: Read(10) 28 00 02 bd 66 b0 00 00 08 00
May 16 10:49:34 Family2PC kernel: [ 3591.007278] I/O error, dev sdb, sector 45967024 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
May 16 10:49:34 Family2PC kernel: [ 3591.007312] ata1: EH complete

Looking at this, it makes me think that your BIOS target needs to be specified.

A search on the web:

As I had planned, I installed Zorin on another PC with all our personal files so the family could continue their work uninterrupted.

I then focused on the errant PC. Based on what I read in Aravisian's Arch link, I tried to completely remove GRUB in order to do a clean reinstall. But there was a package dependency error which would not let me do the purge. I'm assuming that had to do with the initial update failure. So, not having the time to go down a another rabbit hole, I reinstalled Zorin using the following procedure to save my home directory data and have a backup build:

1.) Using gparted I shrank my root partition (which was most of the drive) and created a new partition labelled home.

2.) Copied the files from home, on the root of my shrunken partition, to my new partition.

3.) Booted with the latest Zorin Core iso and did an install with custom partitions where my wonky shrunken partition was designated as root and was formatted, while the new partition was designated as home and left un-formatted. All other partition choices were left as the default.

This procedure cleared the boot errors and allowed me to continue using my personal files without a backup recovery. But of course I had to reinstall whatever packages I had added in the past, which was not very many.

In retrospect, I believe the drive corruption was probably caused by a 1 minute power outage earlier that morning. This is not unusual for my area, and hadn't caused issues in the past, so I didn't give it much weight, but I think this time was different.

So for me the lessons are to

  • turn off the PC when not in use
  • place my home directory in it's own partition
  • backup as much package config as possible

Thanks All