This is maybe my new least favorite Linux problem.
My main home server is currently on an old office surplus PC in my basement living room (idk what else to call this room, I already call the room with my board game table the "game room" but it's the big open area in the basement where I have a couch and TV and all my game consoles). It's really the place it made the most sense to put it because I had extra cabinet space down there. I mostly use it headless but I have it plugged into my TV down there for troubleshooting purposes, doesn't make sense to pull a monitor out when it's literally in a TV cabinet.
I turned it off last night to install some new hard drives I got, and when I turned it back on it kept locking on boot. So I went through a bunch of recovery mode stuff. Went out of my way to get it back to being on /dev/sda in case something weird was going on with that (didn't think so, it mounts on UUID, but I'm no expert so why not try it). No luck. Tried formatting the new drives. No luck. Tried taking the new drives back out. Still no luck. Run some updates. No luck. Getting very nervous, and really would like Home Assistant back up and running before bedtime since I use it for things like an elaborate sleep timer for my TV.
Then I finally see a comment that simultaneously makes a lightbulb go off and makes me so mad at all the time I just spent troubleshooting.
Apparently what can cause this hangup in Debian (possibly only on older hardware?) is...being plugged into a 4K TV.
I had never encountered this before because the TV has never been ON when I was rebooting it. I'm usually rebooting this PC remotely, and I'm usually turning the TV on to check something when it's already running. Literally all I had to do was turn the TV off, reboot, give it time to get past the part it was hung on, and turn the TV back on.