Yes, I did mean 2fs not sfs I'll rename the one on the HD to something else. I'm still not sure whether the problem lies with the 2fs files or other files on the HD. If it's just the 2fs file then replacing it would be OK. Is it possible that the problem lies with other files on the HD?
I tried copying the "clean" 2fs to the HD after a pfix-ram but it made no difference. I'm not sure I copied it to the right location - puppy diidn't seem to have any 2fs on the HD and I copied it to /root. On boot it says that it is copying /puppy528/lupusave.2fs.