dep composed on 2025-08-21 00:23 (UTC):
My SSD for the ThinkPad arrived, so I pulled the drive from the machine and using a separate machine to dd the contents of the existing drive onto the new one. It being a 1-tb drive on both ends, it took a few hours. dd reported success.
I put the new SSD into the machine and booted it. I was happy to see it booted readily. I was less happy to see what happened next.
I got to the nice graphical login window. I typed in my password. Screen went black with a mouse pointer, then after a few seconds returned to the login screen. Damn, I thought. So I shut down and reinstalled the original drive.
And guess what? *Same thing*! Perfectly working installation has now lost the contents of its /home partition. Only thing there is /lost+found. This on the original drive, which dd shouldn't have touched at all.
To say I am at a loss is an understatement. Everything else seems to work.
Any informed guesses?
Did you check for firmware update before starting to change things? Buggy firmware can cause inexplicable behavior.
Was the old computer booting a GPT disk in UEFI mode? If not, is the new one known to support booting the old style configuration?
Can the old laptop run from the old drive OK?
DD does not change UUIDs anywhere. New disks have device models and IDs that are not modifiable unless by factory firmware change. Mixing new hardware IDs with old software UUIDs can potentially pose a problem, particularly if both disks are attached when a computer is booted. The new computer's NVRAM would have had data from the new disk that you eliminated using DD. Next boot it found software data the same across boots mixed with hardware data that did not. If the boots were in UEFI mode, buggy firmware could easily have been quite confused, possibly also even if not UEFI.
Showing fdisk -l and/or lsblk -f I/O here could be instructive, as could inxi -Faz I/O from old and new laptops.
Are you sure sync occurred on dd completion? Copying via USB can put a lot into RAM that doesn't necessarily get flushed before program reports completion, or removal or reboot is actually safe. Premature detachment could mean incomplete dd write.
Cloning can be rather tricky business. I stopped using dd to do it long ago. I typically use either ddrescue instead, or something else specially made for convenient facilitation of cloning or partitioning of storage, such as DFSee: http://www.dfsee.com/dfsee.