Sounds like a damaged flash card, or a broken file system.
If it's a Windows PC, insert the flash card, then press WinKey+R (or go to Start -> Run) and type
diskmgmt.msc, then click OK. You should be able to see your flash card within the list, and see if it's got any partitions listed.
In this case, I've got a 2GB SDHC card plugged in, which shows up as a 1.89GB device with a FAT partition that fills the entire card.
You may find one of several things:
- The device doesn't show at all. If this is the case, then sorry but your data is gone. Short of some very expensive recovery techniques, you're not getting it back.
- The device shows but there are no partitions. This usually means that your partition table is broken or unreadable.
- There is a partition, but Windows doesn't recognise the file system (it might show as RAW or Unknown). In this case, your partition header and/or file system headers are broken or unreadable.
In the latter two cases, you may be able to recover some data, but expect corruption and missing files. This is especially problematic on flash cards where the cells that store wear-leveling metadata have become corrupted, since mapping the logical cell address to the physical cell becomes impossible. The card will have to be replaced too, since it is clearly damaged.
Recovery can be done in several ways:
- There are commercial and freeware tools that try to do this. Google for "SD card recover" and similar terms - I'm sure you'll find many results.
- Use a low-level tool or command like
dd to read a full copy of the SD card, then use
sfdisk to find the offset and size of the file system and extract it, then mount it. (see this blog post)
- If all else fails, use a tool such as
binwalk to manually extract files from the drive binary image. This is tedious and rather involved, but can recover data that automated tools miss.
In future, I highly recommend keeping backups!