Raspberry Pi Catch-All

Note that you can change an MBR disk signature with Windows using the diskpart utility, so you could at least modify the card so you could load it on the Pi, and then use the Pi to go fix /boot/cmdline.txt and /etc/fstab with the updated value. (which you can get with blkid -p if you forget it.) So if you get into the same hole I was in, you don't absolutely have to have another Linux box, but it would be a little easier.

If you don't even have access to Windows, another option would be editing the partition id on the *booted* filesystem, the internal SD card. That would probably work okay, but doing that kind of low-level monkeying around on mounted disks always worries me.

edit: because I had a fallback position ready to go, I went ahead and tried that, changing the disk signature of the mounted drive. It worked fine. Basic process (note that /dev/mmcblk0 is the internal SD card, should be the same on any Pi 4):

Spoiler:

sudo to root

blkid -p /dev/mmcblk0 # look for PTUUID="a525a3ea" That's the default Raspbian image value. #If yours is different, anytime I tell you to look for a525a3ea, look for your value instead. fdisk /dev/mmcblk0 x # for expert mode i # disk id 0xdeadbeef # substitute any random 32-bit hex value you like, prepended by 0x # do not forget this value! You have to remember it long enough to enter it in three places. r # return to regular menu w # write out partition table q # quit # you are now dangling over the abyss. If you reboot now, your Pi won't start. Don't reboot. cd /boot #edit cmdline.txt #look along the line for "root=PARTUUID=a525a3ea-02" #change a525a3ea to the value you should be remembering ... leave the -02 intact. #write and quit cd /etc edit fstab # you will see two lines with PARTUUID=a525a3ea-01, and PARTUUID=a525a3ea-02 # change a525a3ea to your remembered value on both lines, leaving the -01 and -02. # write and quit

Do a sync, and reboot. It should come right back up, and now you can mount and manipulate a dd image backup successfully.