I have gone the clonezilla route in the past, and everytime there was some slightly buggy behavior. At this point I prefer to do a fresh install on a new drive. I do a fresh backup. Install the new drive, install the distro of choice (Fedora for the past 5 years), restore my files from backups, and reconfigure, reinstall software (I will probably have this part automated soon).
The reason I went the Clonezilla route was that I’ve got so many things tweaked just the way I like. I’ve got Scrivener working (the old Linux beta) and a bunch of apps that were all a little fidgety. So I could get them all back that way again, but I’d have to take a lot of notes and then it would take probably a few days. So I figured… you know…
Suspend should work fine. Suspend to hibernate (older article but gives you the general idea) is a whole different thing. Suspend (deep) should be fine on our mainstream distros.
Fedora 37: s2idle deep, suspend. Resume with quick power button press.
Ubuntu 22.10: s2idle deep, suspend. Resume with quick power button press.
UPDATE: It’s only been a few days, so not enough data to be sure, but since I ran fstrim I haven’t seen the problem again. I’m on the less “sleepy” sleep option, so I lose more battery overnight, but at least I’m not getting the “can’t write the journal” errors anymore.
TL;DR: I think my NVMe is OK and that the 1.1 TiB of garbage collected by fstrim was the likely culprit.
Yeah, I’m actually not entirely sure what modes the system is going through.
So far, I’ve excluded s2idle as a culprit. (Both because it never repros when plugged in, and also because it doesn’t repro on battery when I set AllowSuspend=no in systemd’s sleep.conf
So my next bit of understanding is trying to figure out what exactly happens when AllowSuspend=yes is triggered. I’ll keep working on it over the holidays when I get time