I created this wallet around 2014, but I've changed computers more than 4 times. I just copy wallet.dat every move from old computer.
On a slim chance that you're not making this up, here's the common cause of it: it can be caused by a corruption in your wallet file.
(
it's not "wallet.dat" BTW, be sure to get the wallet name right since you already copied it more than 4 times)
It happens when the "
master private key" is corrupted,
But not only that, it has to be somehow valid (
with correct checksum) which is very unlikely to happen but has a very low chance.
Electrum will automatically detect the corruption and will show a corruption-related error message during startup but will let you proceed.
If the master public key is valid, the wallet will sync just fine whether it's the correct one or not.
This is trivial to reproduce by editing the master private key of an unencrypted wallet file.
When creating a transaction, that exact error will show that indicates that the wallet signed the transaction with the wrong private key since the master private key isn't correct.
In cases that the master private is corrupted and invalid or doesn't match the xpub, Electrum will think that the wallet is unlocked with incorrect password and will show a different error message.
So your wallet has a valid but different master private key that can't derive the private keys of its own addresses.
The solution is to restore the wallet from seed.
If you do not have access to it, it can be taken from the wallet file itself: unencrypt the wallet, then open it as text.