You need a tool like TestDisk, GetDataBack or Recuva (if you use Windows) although using an anti-virus program first can help. You may even need the three of them!
I'd start with TestDisk.
If there's no virus, normally the error comes because it has lot the partition table and therefore it can't associate the names of the files with the real names of the files.
If you're under linux, linux has its own set of tools for the same job