Here's an updated late_command to deploy with. _hexdump_bootcurrent: - &hexdump | grep efi /proc/mounts mountpoint /sys/firmware/efi/efivars echo "checking /sys/firmware/efi/vars/" ls -al /sys/firmware/efi/vars/ bcurrent=$(ls /sys/firmware/efi/efivars/BootCurrent*/data) [ -e "${bcurrent}" ] && hexdump $bcurrent echo "efibootmgr output before mounting efivars (uses vars)" efibootmgr -v echo "mounting efivars" mount -o defaults -t efivarfs efivarfs /sys/firmware/efi/efivars ls -al /sys/firmware/efi/efivars/ echo "efibootmgr output after mounting efivars" efibootmgr -v bcurrent=$(ls /sys/firmware/efi/efivars/BootCurrent*) [ -e "${bcurrent}" ] && hexdump $bcurrent umount /sys/firmware/efi/efivars late_commands: 01_efivars: ['grep', 'efi', '/proc/mounts'] 02_efimnt: ['mountpoint', '/sys/firmware/efi/efivars'] 03_hexdump: ['curtin', 'in-target', '--', 'sh', '-c', *hexdump] This runs fine on my VM now so it will be interesting to see what the BootCurrent values show here. One possible change to curtin here is we may need to start bind mounting /sys/firmware/efi/efivars when we run commands in-target The debug output from this should help us understand what's going on. I did observe that without efivars mounted, the grub install which adds a new ubuntu entry was only viable via /sys/firmware/efi/vars and that if I mounted efivars up and then ran efibootmgr, it wouldn't *show* the ubuntu entry; so it seems possible to have these different paths out of sync which may explain the error. On Fri, Sep 14, 2018 at 11:08 AM Ryan Harper