The command log for the work-around for a broken jammy install:
>>>
sudo su -
zpool export -a
zpool import -N -R /mnt rpool
zpool import -N -R /mnt bpool
UUID=$(zfs list | awk '/^bpool\/BOOT\/ubuntu_/ {print $1}' | sed 's/bpool\/BOOT\/ubuntu_//g')
zfs mount rpool/ROOT/ubuntu_$UUID
zfs mount bpool/BOOT/ubuntu_$UUID
zfs mount -a
mount --make-private --rbind /dev /mnt/dev
mount --make-private --rbind /proc /mnt/proc
mount --make-private --rbind /sys /mnt/sys
mount --make-private --rbind /run /mnt/run
chroot /mnt /bin/bash --login
mount -a
# Make backup of the original Jammy sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.jammy
# Create a new Noble sources.list
sudo nano /etc/apt/sources.list.noble
# Install the Grub2 packages
apt install grub-efi-amd64 grub-efi-amd64-signed
# This will pull in some needed depends of Grub2 2.12~rc1 from the Nolble Repo's
The command log for the work-around for a broken jammy install: /BOOT\/ ubuntu_ / {print $1}' | sed 's/bpool\ /BOOT\/ ubuntu_ //g') ubuntu_ $UUID ubuntu_ $UUID
>>>
sudo su -
zpool export -a
zpool import -N -R /mnt rpool
zpool import -N -R /mnt bpool
UUID=$(zfs list | awk '/^bpool\
zfs mount rpool/ROOT/
zfs mount bpool/BOOT/
zfs mount -a
mount --make-private --rbind /dev /mnt/dev
mount --make-private --rbind /proc /mnt/proc
mount --make-private --rbind /sys /mnt/sys
mount --make-private --rbind /run /mnt/run
chroot /mnt /bin/bash --login
mount -a
# Make backup of the original Jammy sources.list sources. list /etc/apt/ sources. list.jammy
cp /etc/apt/
# Create a new Noble sources.list sources. list.noble
sudo nano /etc/apt/
# Fill with these contents: us.archive. ubuntu. com/ubuntu/ noble main restricted universe multiverse us.archive. ubuntu. com/ubuntu/ noble-updates main restricted universe multiverse us.archive. ubuntu. com/ubuntu/ noble-backports main restricted universe multiverse security. ubuntu. com/ubuntu noble-security main restricted universe multiverse sources. list.noble /etc/sources.list
deb http://
deb http://
deb http://
deb http://
# Save and exit
cp /etc/apt/
apt update
# Add the Grub2 2.12 ppa uefi-team/ build
add-apt-repository ppa:ubuntu-
# Modify the sources.list line of the PPA to work with Jammy sources. list.d/ ubuntu- uefi-team- ubuntu- build-jammy. list
nano /etc/apt/
# Change the active line to: /ppa.launchpadc ontent. net/ubuntu- uefi-team/ build/ubuntu/ noble main
deb [trusted=yes] https:/
# Save and exit nano
apt update
# Install the Grub2 packages amd64-signed
apt install grub-efi-amd64 grub-efi-
# This will pull in some needed depends of Grub2 2.12~rc1 from the Nolble Repo's
# Reinstall/configure grub =/boot/ efi \ r-id=ubuntu --recheck --no-floppy
grub-install --target=x86_64-efi --efi-directory
--bootloade
# Update the intramfs images
update-intramfs -c -k all
# Change the repo sources back to Jammy sources. list.jammy /etc/apt/ sources. list
cp /etc/apt/
apt update
# Test: (Skip if snapshots already exist...) ubuntu_ 2nlhsy@ 20230204a ubuntu_ 2nlhsy@ 20230204b ubuntu_ 2nlhsy@ 20230204c
zfs snapshot bpool/BOOT/
zfs snapshot bpool/BOOT/
zfs snapshot bpool/BOOT/
zfs list -t snapshot
# Output: BOOT/ubuntu_ 2nlhsy@ 20230204a 0B - 298M - BOOT/ubuntu_ 2nlhsy@ 20230204b 0B - 298M - BOOT/ubuntu_ 2nlhsy@ 20230204c 0B - 298M -
#NAME USED AVAIL REFER MOUNTPOINT
#bpool/
#bpool/
#bpool/
# Exit Gracefully:
exit
mount | grep -v zfs | tac | awk '/\/mnt/ {print $3}' | \
xargs -i{} umount -lf {}
zpool export -a
reboot
>>>