We have an Ubuntu 22.04 setup that runs and works fine. When we clone the compact flash drive and put into an identical system it fails to boot with a file '/grub/i386-pc/normal.mod' not found
error message. We have been using grub recovery to try and see why and it appears (but we might be using grub recovery wrong as we are new to this) that the /boot/grub
directory is empty despite a verified clone being taken.
On the working system df-h
shows the following:
Filesystem Size Used Avail Use% Mounted on
tmpfs 377M 1.4M 376M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 5.6G 4.7G 644M 88% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda2 1.7G 247M 1.4G 16% /boot
tmpfs 16M 16K 16M 1% /opt/intellair/db
tmpfs 377M 4.0K 377M 1% /run/user/1000
Using grub recovery on the non-bootable system the ls
command gives the following results:
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
set gives:
cmdpath=(hd0)
prefix=(hd0,gpt2)/grub
root=hd0,gpt2
If we try to ls
any of the other drives we get Filesystem is unknown
, but gpt2 (corresponding to /dev/sda2
) works and if we run ls /
we get
config-5.15.0-52-generic
lost+found
System.map-5.15.0-52-generic
grub/
initrd.img
vmlinuz
initrd.img-5.15.0-52-generic
vmlinuz-5.15.0-52-generic
initrd.img.old
vmlinuz.old
Critically when we issue the command ls /grub
it runs OK but returns nothing. We take this to mean the grub folder is empty. This is supported also by being unable to load any modules (e.g. linux, kernel, normal, etc.) that we would expect to be in the grub folder.
Two specific questions:
In grub recovery if the /grub
directory contained files should ls /grub
list them?
Assuming /grub
is indeed empty, has anyone else had this issue before? It's almost like the clone of the compact flash drive specifically omitted the grub directory's contents?
It's worth noting this process worked fine for us on an old Ubuntu 18.04 setup. It's only on the newer Ubuntu 22.04 that the clone process gives this issue.