I have many such images, but one of it is very important for me. I've no idea what happened, but during work I got message - Unknown or invalid JPEG marker type is found. I started searching for photoshop repair utility, but the solutions that I found could only open it, but without any important data for me. My project for one company is still invalid.
Here's a good trick that's works in many cases. You'll be using Fireworks to open, and re-save the Photoshop file. This will fix most corruptions.
1. Open the corrupt Photoshop file in Fireworks.
2. Use Fireworks to save it as a .psd Photoshop file. (Important: Do Not save it as a Fireworks file or another extension, because Photoshop may not recognize the layers, or you could lose data.)
3. Remember to give your file a different name when saving, so you won't overwrite your original. (A good idea would be to create a backup of your original before trying this procedure.)
4. Open your newly created file in Photoshop.
5. Remember that many effects will not show in Fireworks, but should show up in the Photoshop layers.
Moreover, additional resources that might assist you are following...
Fireworks plays nicely with Photoshop, and generally preservers the most of the original layers/data. The older Fireworks versions are ok at this technique, but the newer CS versions are really good at preserving/transferring information. This works well when Photoshop and Fireworks are the same version/suite, to avoid the diffrent version (too old/new) conflict. If your file is badly corrupted, you may be able to get some of your data back using this technique.