My laptop originally had a 128GB M.2 ssd and 1TB hdd. The system is configured as dual-boot with windows. The /boot/efi partition is on /dev/nvme0m1p1 and the original root partition is on /dev/sda3.
I zipped the image of the original nvme0n1, swapped nvme0n1 for a 1TB M.2 ssd. and cloned the original image to the new ssd. The result was that I could boot to either windows or the /dev/sd3 version of ubuntu once the cloning was complete.
I then created a new ext4 partition, nvme0n1p6 and cloned the /dev/sda3 partition to it. I did forget to change the partition UIDD after the cloning and the first time I ran update-grub2. I subsequently changed the partition UIDD using gparted, reran update-grub2 and verified that it had found the image on the new UIDD for /dev/nvme0n1p6.
After spending 6 hours finding out I had inserted a space in a UIDD= statement in the /etc/fstab of the new image I was able to boot into that new image (my proof-reading skills can stand improvement). Once that image was loaded I ran update-grub2 again in order to move the selection for the new ubuntu to the top and default in the new grub.cfg.
Finally to the issue: After rebooting the grub menu that is displayed is still the grub.cfg of the original /dev/sda3/boot/grub folder.
copying the grub.cfg generated for /nvme0n1p6 to /sda3 allows the new grub.cfg to be displayed on subsequent boots.
renaming the grub.cfg file on /sda3 causes grub to stop at the command line on reboot. Exiting the command line causes the windows os to load. I can correct the problem with a live usb image that permits me to restore a valid grub.cfg on /sda3.
I suspect that the update-grub command is not the only command I need to run. My guess is that the images stored on /nvme0n1p1 need to be updated. Is this accomplished by running a grub install of some sort?