Boot stuck on linux-zen

If the suggestion above still does not work, I have another idea.
Your error message is:

Error: file ‘/@/boot/intel-ucode.img^/@/boot/initramfs-linux-zen.img’ not found

While in the update-grub output I can see:

Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img

You see, there is a ^ instead of a space.
I’ve found something similar here:

Maybe, you could

sudo micro /boot/grub/grub.cfg

search that string and replace the ^ with a space.
If it works, this could be overwritten by the next update-grub, but we’ll see that later…
The solution should be the one in the link above:

sudo micro /etc/grub.d/30_os-prober 

replace in line 213

LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"

with

LINITRD="`echo ${LINUX} | cut -d ':' -f 5 | tr '^' ' '`"

and finally

sudo update-grub