The Dangers of Cloning
I'm still not sure the reality of what occurred. My best guess is some kind of quantum madness, where different parts of the environment operated on each of the two partitions in different orders.
fstab on Foo, which means I had it backwards: when the boot didn’t have the mounts, it was actually on the correct partition. Needless to say the overall lesson remains unchanged: change the clone’s UUID as soon as it’s cloned. fstab, so it seemed reasonable that if the proper mounts occurred upon boot, then Bar must have been mounted as root. This was seemingly confirmed by a few instances where I booted to find the Bar mounts not present. It seems that wasn’t exactly the case.gdm3 didn’t execute. I logged into the virtual terminal only to see that /home hadn’t mounted either. Checked the fstab, and found it to be dmesg, and found that there had been a crash loading a kernel module, but it hadn’t taken the kernel or much else with it.
So I rebooted, watched the grub2 menu closely and saw that it included two entries for the same kernel, but one from whatever the local kernel might’ve been and another from Foo‘s partition. Dawns on me that means both have been updating, so more boots than I thought were using Foo instead of Bar.
Decide it’s time to delete Foo entirely. Reboot. grub2 goes to rescue mode. Ouch. For those unfamiliar, rescue mode is a minimal environment. It always reminds me of the State of Nature or maybe the part in the creation myth in Genesis before the gods created very much. Thankfully the bootloader is called grub and not grue, or I might have been eaten in that dark, dank rescue mode.
Nudge grub2 along by manually telling it to use Bar‘s grub2 config. It works, phew. grub2‘s menu shows I’m using an old kernel, circa when I installed the SSD.
Finish booting, aptitude shows 700-odd packages to update.
So I’d been booting with Foo as root the whole time. But it was using Bar‘s fstab. Quantum weirdness.
The lesson is: if you clone, go ahead and delete or remove the original from the system. While you’re at it, generate and set a new UUID for the clone.
I’m amazed that I didn’t really break anything. I’m not the least surprised that six years into using Linux there are things I have yet to learn. That’s half the fun.