Post Installation Error

I was recently running 17.3 CORE on my old HP Pavailion x2 Detachable. I seem to remember upgrading it gradually from version 15 to 16, then to version 17, eventually ending up on 17.3. No fresh install along the way. I them thought I would try version 18, but seeing as there is no upgrade path from 17 to 18 CORE edition, I thought I would do a fresh install. Install runs through to completion fine. But, When I reboot I get the following error:-

'error: file /boot/grub/i386-efi/normal.mod not found.`
Entering rescue mode...
grub rescue>

I think it has something to do with the architecture of the HP laptop CPU.
The CPU is a Intel Atom Z3736F.
Please can anyone assist.

Regards
Dave Nolan

  1. Boot from a live USB
  2. Mount your root partition and bind system dirs:
  • Identify root (e.g., /dev/sda2). Then run:
sudo mount /dev/sdXN /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
  1. If you have a separate EFI partition, mount it (example /dev/sda1):
sudo mount /dev/sdY1 /mnt/boot/efi
  1. Chroot into the system:
sudo chroot /mnt
  1. Reinstall/repair GRUB for EFI (example for Debian/Ubuntu):
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
update-grub
  • For i386-efi use --target=i386-efi only if your system actually uses 32-bit EFI (rare).
  • If grub-install fails, try: apt-get update && apt-get install --reinstall grub-efi-amd64 shim-signed
  1. If using systemd-boot or another boot manager, reinstall or reconfigure that instead.
  2. If files are missing in /boot/grub, regenerate with:
grub-mkconfig -o /boot/grub/grub.cfg
  1. Exit chroot, unmount, reboot:
exit
sudo umount /mnt/boot/efi
sudo umount /mnt/dev /mnt/proc /mnt/sys /mnt
sudo reboot

Thanks for the response.

I tried this multiple times using a variety of live USB images. All efforts failed. It still comes back with the same error.
After mounting the filesystem, which on my laptop is /dev/mmcblk1p2, I notice that the /boot/grub folder does not have a sub-folder called i386-efi, even after completing the instructions.

Is there anything else I can try?
Any further diagnostics I can do?
Do you want me to post the contents of any files?

Regards
Dave

This is not from me but from IA, I hope it will help

The Intel Atom Z3736F processor uses a "Mixed Mode" architecture: it features a 64-bit CPU but is paired with a 32-bit UEFI firmware.

The error i386-efi/normal.mod not found occurs because the Zorin 18 installer likely configured the bootloader for a standard 64-bit (x64) UEFI. Your hardware, however, specifically looks for the 32-bit (ia32) GRUB files to initialize the boot sequence.

The Solution: Reinstalling GRUB in 32-bit Mode (ia32)

You will need to use your Zorin 18 installation USB to "chroot" into your installed system and manually install the 32-bit bootloader support.

1. Boot into the Live Session

Boot from your Zorin 18 USB and select "Try Zorin OS".

2. Identify your partitions

Open a terminal and run:

lsblk

Identify your main Zorin partition (e.g., /dev/mmcblk0p2) and your EFI partition (a small FAT32 partition, usually around 100-500MB, e.g., /dev/mmcblk0p1).

3. Prepare the Chroot Environment

Replace /dev/sdXn with your root partition and /dev/sdXm with your EFI partition:

sudo mount /dev/sdXn /mnt
sudo mount /dev/sdXm /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

4. Enter the installed system

sudo chroot /mnt

5. Install the 32-bit EFI packages

This is the critical step. You need the 32-bit version of GRUB to communicate with the Atom's firmware:

sudo apt update
sudo apt install --reinstall grub-efi-ia32-bin grub-efi-ia32

(Note: Ensure you are connected to Wi-Fi in the Live Session before entering the chroot if you need to download these packages).

6. Reinstall and update GRUB

Force the installation using the 32-bit target:

grub-install --target=i386-efi --efi-directory=/boot/efi --removable
update-grub

7. Exit and Reboot

exit
sudo reboot

Why did it work before?

Older versions of Zorin (or the upgrade path you followed from version 15) likely maintained the specific 32-bit EFI files or compatibility scripts. A "fresh" install of Zorin 18 defaults to a standard 64-bit configuration, which bypasses the specific needs of these older Intel Atom "Bay Trail" devices.

Quick Tip: On these HP Pavilion x2 models, it is common for Wi-Fi or Audio to be missing after a fresh install. If that happens, you may need to manually add the Broadcom firmware files to /lib/firmware/brcm/.

3 Likes

Fails at step 5 'sudo apt install ......'

Some packages could not be installed. This may mean you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or have been moved out of Incoming.

The following packages have unmet dependencies.
shim-signed : Depends: grub-efi-amd64-signed (>= 1.191~) but it is not going to be installed or
grub-efi-arm64-signed (>= 1.191~) but it is not installable or
base-files (< 12.3)

1. Purge the conflicting 64-bit packages

This clears the "impossible situation" by removing the packages that are demanding the 64-bit dependencies.

sudo apt purge -y grub-efi-amd64-signed grub-efi-amd64 shim-signed

2. Install the 32-bit version again

Now that the conflict is gone, the 32-bit installation should proceed smoothly:

sudo apt update
sudo apt install -y grub-efi-ia32-bin grub-efi-ia32

3. Complete the installation

Once the packages are installed, run the installation and update commands again to be sure:

grub-install --target=i386-efi --efi-directory=/boot/efi --removable
update-grub

:warning: Important: Secure Boot

Because we removed shim-signed, the bootloader is no longer "signed" for Microsoft's Secure Boot keys.

You must disable Secure Boot in the HP BIOS/UEFI settings.

  1. Restart the laptop.
  2. Mash F10 (usually) to enter BIOS.
  3. Find the Security or Boot tab.
  4. Set Secure Boot to Disabled.
  5. Save and exit.
1 Like

Thanks for the response.

Another step forward, another dependency error.

I am now getting and unmet dependency in step 2b ' sudo apt install...'

grub-efi-ia32-bin : Depends : grub-common (=2.12-lunbuntu7.3) but 2.12-lubuntu7.3+zorin2 is to be installed

grub-common is installed version 2.12-lubuntu7.3+zorin2

Regards
Dave

The Fix: Forcing the Version Downgrade

While still in the chroot environment, run the following command. It tells the system: "I know you have a newer Zorin version, but I want you to install this specific version instead."

sudo apt install grub-common=2.12-lubuntu7.3 grub-efi-ia32-bin=2.12-lubuntu7.3 grub-efi-ia32=2.12-lubuntu7.3

(Note: If the terminal says it can't find that exact version, run apt policy grub-common first to see the list of available versions and adjust the number after the = accordingly.)

If that still throws an error:

Sometimes apt gets stubborn about downgrades in a chroot. You can try to "force" the install by telling it to ignore the versioning issue for a moment:

sudo apt install --allow-downgrades grub-common=2.12-lubuntu7.3 grub-efi-ia32-bin grub-efi-ia32
1 Like

Not there yet.

Commands and output below :-

sudo apt install grub-common=2.12-lubuntu7.3 grub-efi-ia32-bin=2.12-lubuntu7.3 grub-efi-ia32=2.12-lubuntu7.3

apt policy grub-common

sudo apt install --allow-downgrades grub-common=2.12-lubuntu7.3 grub-efi-ia32-bin grub-efi-ia32

Regards
Dave

The version in the Ubuntu repository is 2.12-1ubuntu7.3 (note the 1 before "ubuntu" and it is "ubuntu", not "lubuntu"). My apologies for the confusion in the previous step; these version strings are very specific!

The Corrected Command

Inside your chroot terminal, please run this exact command using the version strings we confirmed from your screenshot:

apt install --allow-downgrades grub-common=2.12-1ubuntu7.3 grub-efi-ia32-bin=2.12-1ubuntu7.3

1 Like

Much more hopeful.

Do I now go back to step 3 in part 6 of this thread?

  1. Complete the installation

Once the packages are installed, run the installation and update commands again to be sure

grub-install --target=i386-efi --efi-directory=/boot/efi --removable
update-grub

Regards
Dave

PS I've just tried it and it says command 'grub-install' not found but it can be installed with
apt install grub2-common

yes you can

I've just tried it and it says command 'grub-install' not found but it can be installed with
apt install grub2-common

Should I go ahead and install it?

Yes.

The Critical Rule: Match the Versions

Since we are manually handling this "Mixed Mode" setup, we must ensure grub2-common matches the exact version of the other packages we just installed. If they don't match, the system will get confused again.

Run this command inside your chroot:

apt install --allow-downgrades grub2-common=2.12-1ubuntu7.3

When I run the grub-install command, I get an error saying that /boot/efi does not look like an EFI partition.

This error happened because the EFI partition isn't actually "connected" (mounted) to the folder you're working in. In image_5a3538.png, we can see that ls -l /boot/efi shows total 0. This confirms that the directory is empty because the actual partition is sitting unmounted outside of your current environment.

The Fix: Re-mounting the EFI Partition

Follow these steps exactly in your terminal:

1. Exit the current environment

You are currently "inside" your installed system. We need to go back to the Live USB environment to fix the mount.

exit

2. Identify the EFI partition again

Just to be 100% sure of the name (it’s usually something like /dev/mmcblk0p1 or /dev/sda1):

lsblk

Look for the small partition (100MB-500MB) labeled "EFI" or formatted as FAT32.

3. Mount it to the correct spot

Replace /dev/sdXm with the partition you identified in the previous step:

sudo mount /dev/sdXm /mnt/boot/efi

4. Re-enter your system

sudo chroot /mnt

5. Verify and Run the Install

Now, if you run ls /boot/efi, you should see some files or folders (like an "EFI" folder). If you do, go ahead and run the command that failed before:

grub-install --target=i386-efi --efi-directory=/boot/efi --removable

That has worked.
Do I now run 'update-grub'?

Yes, once that finishes, complete the process with these final steps:

  1. Update the boot configuration:
update-grub
  1. Exit the chroot environment:
exit
  1. Reboot:
sudo reboot

Thank you, Thank You, Thank You !!!

It now boots successfully.

You certainly know your stuff.

Many thanks.

1 Like

To be honest I was helped with AI for many things