0

Flash storage devices (NAND cells) are nutorious for slowly losing charge over time.

Many USB sticks have automatic data retention when idle, but I doubt that MicroSD has automatic data retention.

How do I read every single file saved on the mSD card?

  • 1
    Recursive listing (ls -R) or 'find' will read metadata of every file less or more, though not complete files. – Irfan Latif Nov 28 '18 at 20:07
2

Open /sdcard/
/sdcard/ will link you to the correct directory of the sdCard, this is for compatibility i believe.

To really make sure you have every sectors data,

  • Switch Off your Device.

  • Remove the SD Card from your device.

  • Place the SD Card in an adapter ( microSD to SupportedSlot )

  • Place the adapter into your computer.

  • Clone the Disk to a .img file


  • Don't choose compression with cloning, or else unused sectors ( marked as replaceable ) will be ignored and not cloned into the image file or partition. bad for data recovery purposes
  • One can also run badblocks -vv /dev/mmcblk0. But that's with the PC. How to do it with Android directly? – neverMind9 Nov 29 '18 at 14:06
2

One possible way is installing an Android terminal emulator such as Termux or jackpal.androidterm (which I have).

cd /storage/extSdCard/
cp -R -v . /dev/null

-v adds verbosity and shows which file is being read momentarily.
“extSdCard” might be ####-#### (hexadecimal characters such as 0612-2FA5).

/dev/null is a black hole in Unix/Linux based operating systems. Everything put in there is gone. But what the command does is copying all the files into nothing, hence the source files stay the same, just getting read.


Alternatives:

grep -R "Any Text" #if working directory is already selected using the “cd” command.

Or grep -R "Any Text" /storage/[path to MicroSD card]

This will quickly search every file recrusively for text, causing all data to get read.

You can also redirect the output of the command to >>/dev/null or >>/dev/zero.


Another alternative is using a hashsum generating command (md5sum needs the lowest processing ressources for the same amount of data), but that's less efficient because it needs to generate a hashsum. This process requires additional system ressources.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.