• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] Internal Memory Data Recovery - Yes We Can!

Search This thread


New member
Dec 8, 2018
0KB block (Samsung Galaxy A320FL)

Hello Sirs, Madams,

I hope someone can help figure me out why my block is 0KB or perhaps what I can do if I need to scan another block instead?

Phone type: Samsung A320FL

I've seen in the post that you can figure out what other block you need.
I used the code and this was the result:


How can I figure out which one I need or should I go over them one by one?
I hope someone can help me out!

Kind regards,

Last edited:


Jun 24, 2018
hello everyone,

when trying to transfer to via tcp 5555 it gets stuck on 0bs transfer and makes a 0kb raw file. I'm on lineage os 8.1/samsung galaxy s6 edge/file system ufs and the partition im trying to back up is sda17. any ideas and help would be greatly appreciated i lost 4 years worth of notes.

Last edited:


New member
Jul 7, 2019
Hi, I'm new to the forum here and newbie to adb/cygwin. Apologies if this has been answered in another post, if so please direct me to the right place. I'm also trying to recover my gallery folder from a HK Samsung Galaxy A8s/android 8.1.0/samsung experience v9.5, rooted with Magisk, installed busybox from playstore and netcat v 1.12 from a webpage.

Typing df in cygwin64 showed dm-0 as largest block, with 1K-blocks: 116997384 , Used: 5040920, Available: 111956464, Use%: 5%, Mounted On: /data (although using another command showed sda28 as the largest block, whereas df didn't even list sda28). Followed the instructions exactly as described at aesonlabs.ca / blogs / android-internal-storage-sector-by-sector-copy-clone /. I ended up with a 0kb dm-0.raw file and with sda28, it stated something like invalid location. Not sure if its something I'm doing wrong or if its still possible to extract from the newer android OS? I made a query at the instructions website too, but no reply. Also tried a filezilla server method but still no result. :eek:

Would appreciate any advice you guys can give, or even pointing me to the right page. Thanks in advance!


New member
May 16, 2012
Alternative easier & faster solution to copy internal memory

:) Guys refer below link:
>>> howtorecover.me/data-recovery-internal-storage-android-phone-guide <<< [copy paste this in google, sorry I m new user cant post link]

Using FTP method. More faster and hassle free like this method.
I wasted whole day doing this method, clueless whether it is busybox issue, nc issue, or whatever... the raw file remain 0 bytes.

I just tried one time with FTP method, it works!!!!!
succesfully copied the whole "sda" from my Zenfone 5z.


Senior Member
Jul 7, 2014
Xiaomi Poco F3
:) Guys refer below link:
>>> howtorecover.me/data-recovery-internal-storage-android-phone-guide <<< [copy paste this in google, sorry I m new user cant post link]

Using FTP method. More faster and hassle free like this method.
I wasted whole day doing this method, clueless whether it is busybox issue, nc issue, or whatever... the raw file remain 0 bytes.

I just tried one time with FTP method, it works!!!!!
succesfully copied the whole "sda" from my Zenfone 5z.

Can yu help me ? I stuck on "Looking for the partition with lost data " list_of_partitions file on device and PC have no data


Jul 25, 2019
lrwxrwxrwx root root 1970-01-12 06:12 userdata -> /dev/block/mmcblk0p42
Will this one help ? android saves photos only in userdata ?
I have done the whole process (unlocked bootloader) userdata alone 12GB. And only few photos got recovered :(
Can i get mmcblk other than userdata ? will that help ?


New member
Aug 28, 2019
please help

please help ... i can't find the name for my infinix note 4 internal storage.. i need it all or media block .. because i make a row copy for recovering data

when i use first code thats happend
Infinix-X572:/ # ls -l/dev/block/platform/omap/omap_hsmmc.0/by-name/
See ls --help
ls: Unknown option /dev/block/platform/omap/omap_hsmmc.0/by-name/

when i use df code
127|Infinix-X572:/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1457636 1312 1456324 1% /dev
tmpfs 1457636 0 1457636 0% /mnt
/dev/block/mmcblk0p21 396744 872 395872 1% /cache
/dev/block/mmcblk0p3 5968 68 5900 2% /system/vendor/protect_f
/dev/block/mmcblk0p4 5968 56 5912 1% /system/vendor/protect_s
/dev/block/mmcblk0p18 28144 2364 25780 9% /system/vendor/nvdata
tmpfs 1457636 1568 1456068 1% /sbin
/sbin/.magisk/block/system 4390068 3350456 1039612 77% /sbin/.magisk/mirror/system
/sbin/.magisk/block/data 24901484 3583028 21318456 15% /sbin/.magisk/mirror/data
tmpfs 1457636 0 1457636 0% /system/etc/permissions
tmpfs 1457636 0 1457636 0% /system/priv-app
tmpfs 1457636 0 1457636 0% /system/xbin
/data/media 24901484 3583028 21318456 15% /mnt/runtime/default/emulated

please help


New member
Oct 2, 2012
Hi all,
Excellent guide. Although I'm a noob so needed to do a lot of extra Googling, I managed to complete the entire process on an XT1032 and get the entire data block transferred and mounted. Unfortunately Recuva, testdisk nor photorec are recovering anything at all. It seems all they're pulling are the files that are on the newly flashed phone (icon thumbnails and whatnot). The strange part is I cannot locate any of the folder structure (userdata, DCIM for example) in testdisk or photorec, all I get are the large unnamed blocks to try to recover from and that's when I get nothing but files from the newly flashed phone.

Am I doing something wrong? I suspect that TRIM rewrote the data but within this thread I see that thumbnails could still be recoverable but I'm not getting anything at all from the phone.

Background: This phone was stuck in a boot loop for some reason, so I used some tools to install TWRP recovery and flash the stock ROM and in the process I unlocked the bootloader (accidentally and foolishly) which is what resulted in the data loss and me seeking this thread. I ended up getting the phone out of the boot loop and back to "stock," but now cannot recover any old data as per above.

Any help would be greatly appreciated!


Senior Member
Feb 10, 2012
Pilsen - The City of Beer :)
Hi guys.
What you do if you have too big file and you cannot use FAT32 format?

EDIT: I found that with DiskGenius I'm able to format it as FAT32. But problem probably is, that original partition was F2FS...
Last edited:


New member
Aug 18, 2020
Hello, I was looking on the forum, got confused and could not find a solution. How to recover data with a bootlap?
The redmi note 8 pro phone went to an endless reboot, did not drop it, just put it on charge at night, and in the morning I saw an endless reboot. I don’t know what to do, I don’t want to erase everything through the main menu, because there are a lot of necessary files. I read that you can somehow clear the cache via fastboot (wipe cache), but I only have the rabbit logo displayed and that's it, no menu. help me please


New member
Sep 24, 2020
Recover deleted photos from Huawei P20 Pro (EMUI 10)

Hi Guys, If this is not the place to ask this question please direct me to the right place and apologies for spamming the thread.
I have a Huawei P20 Pro which runs on EMUI 10.0.0 model: CLT-L04. I have deleted some files (photos) from internal storage that I want to recover. Now the issue is that the phone is not rooted so file recovery softwares fail to access those deleted files. I then decided to root the device obviously without wiping off the data [deleted photos again] but it seems that EMUI 10 is not rootable. Is there any option for me. Is there a way that I recover my photos? Do you know who should I reach to (not FBI of course!) or how should I proceed.


Senior Member
Oct 14, 2013
I have tried 4 times from scratch... and I can't find what I missing

$ nc 5555 | pv -i 0.5 > mmcblk0p12.raw
bash: pv: no se encontró la orden

What is Pv? what I missed?


Senior Member
Oct 14, 2013
Someone can help me a little bit?

I have a problema converting to VHD this blocks: I tryed with vhdxtool too, but I can´t make it work.

vhdtool.exe mmcblk0p53.raw (3.538.944kB)
Image is too big for virtual disk [CHS] geometry.

vhdtool.exe -dm-1.raw (25.784.304KB)
dm-1.raw.vhd (Only 2050KB)

Top Liked Posts

  • There are no posts matching your filters.
  • 306
    This method does not seem to work on newer phones that apply TRIM or some other type of partition clearing implementation. If anyone has recovered their data on a device newer than Android 4.3 please pm me and let me know.

    The Preamble
    Did you delete all your SDCard data? :confused:
    Are you pissed because no one told you before you unlocked your bootloader what would happen? :eek:
    Did you lose valuable pictures of cats doing wondrously funny things? :laugh:
    Well now there's a convenient new way for you to get that data back Buckaroo! :cowboy:

    The Problem
    Internal Memory doesn't mount as a drive like external memory does. External memory would allow you to use data recovery tools that scan for deleted files and return them to a usable state. These tools work because most operating systems don't go through and set all of those 1's and 0's to just 0's when you delete a file. Usually the operating system will just delete the reference pointer in the index that says that a file exists with such-and-such name and it's located at this position on the hard disk / memory location. There are destructive delete tools out there that will overwrite the spot of a deleted file multiple times to discourage recovery in just this manner. The issue is that data recovery tools need an actual mounted drive in order to dig deep and unearth those funny pictures of cats you so tragically deleted by accident. These newest batches of phones don't have external SDcards which are super easy to mount as drives. Internal memory mounts as MTP/PTP which is not treated as a mounted drive and cannot be scanned by these data recovery tools. But, cry no more cream-puff! :crying:

    The Process
    My phone is the Samsung Galaxy Nexus (toro) though I imagine this should work for ANY phone with Internal Memory. We will be using a Windows 7 machine to:
    • back up the entire internal memory partition to your computer as a single, massive .RAW file,
    • convert the .RAW file output to a VHD,
    • mount the VHD as a disk in Disk Manager,
    • scan the attached VHD volume for files that have been deleted and recover them,
    • ?
    • profit! :good:

    The Requirements
    • A rooted Android phone, (try to root with a non-destructive method as this appears to protect those who must root from wiping the device data a second time),
    • BusyBox installed on your device,
    • Cygwin installed to [c:\cygwin] with pv and util-linux from the repo. Make sure to open Cygwin once to make sure that the /bin folder is created. Also, I made a folder at [c:\cygwin\nexus] to put the exported .RAW file,
    • Netcat (download the ZIP file and extract nc.exe to [c:\cygwin\bin]),
    • ADB (make sure adb.exe is in your path),
    • USB Debugging enabled on your device,
    • VHD tool from the mighty M$. Put the VhdTool.exe file in [c:\cygwin\nexus],
    • Piriform Recuva or your favorite data recovery tool, (it appears Recuva only finds the more common file types like images, videos, etc. Those were the file types in which I was interested. If you are after more exotic file types perhaps you might share the software you used.)
    • A calm sense of peace and serenity that you will get your files back... :fingers-crossed:

    The Work
    1. *****Based on the number of people having trouble with this step it is now my recommendation that you choose to recover your entire memory block instead of just the data partition. In my phone's case that is mmcblk0. Please discover if yours is different.***** Identify which block/partition you want to recover. For our purpose here we are seeking to recover the userdata partition: /dev/block/mmcblk0p12
    2. Turn on your phone
    3. Connect the phone in ADB mode
    4. Unlock the screen.
    5. Open a Cygwin terminal and enter (This assumes your BusyBox installation is at [/system/bin/busybox]. It may be at [/system/xbin/busybox]):
      adb forward tcp:5555 tcp:5555
      adb shell
      /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12
    6. Open another Cygwin terminal and enter:
      adb forward tcp:5555 tcp:5555
      cd /nexus
      nc 5555 | pv -i 0.5 > mmcblk0p12.raw
    7. Run around the house a few times. For 32GB internal memory this is going to take 3+ hours. That's a lot of running. When it's done...
    8. We need to convert the .RAW file to a virtual hard drive. VhdTool.exe basically just puts a VHD footer on the end of the .RAW file. Open a Windows command prompt, go to [c:\cygwin\nexus], and type:
      VhdTool.exe /convert mmcblk0p12.raw
    9. Now we need to mount the VHD in Windows. Select the Start button-->right-click Computer-->select Manage.
    10. Select Storage-->Disk Management.
    11. In the menu select Action-->Attach VHD.
    12. For Location enter [c:\cygwin\nexus\mmcblk0p12.raw] and select the OK button.
    13. Right-click on the name (e.g. "Disk 1") to the left of the Unallocated space and select Initialize Disk.
    14. Select the GPT (GUID Partition Table) radio button and select the OK button.
    15. Right-click on the Unallocated space and select New Simple Volume...
    16. In the Wizard select Next>, leave the default for the volume size, select Next>, select a drive letter (e.g. K), select Next>, MAKE SURE to select the 'Do not format this volume' radio button, select Next>, select Finish.
    17. A box will pop up asking you to format the drive. You DO NOT want to format the drive at this time.
    18. Right-click on the RAW space and select Format... MAKE SURE to change the File system to FAT32. Set the Allocation unit size dropdown to 'Default.' MAKE SURE that the Perform a quick format checkbox is CHECKED. You do not want to overwrite the entire new drive with all zeroes (0's) and destroy your data. Quick Format means that it will only attempt to destroy the index for the drive by establishing a new index. Without this box checked the Windows operating system will write zeroes (0's) across the entire volume, potentially destroying your data. Select the OK button.
    19. A box will pop up saying that Formatting this volume will erase all data on it. That would be doubly true if you actually didn't check the 'Perform a quick format' checkbox. Double check that you actually did check the box and select the OK button. (Don't worry. This essentially leaves the volume in the exact same state that your phone's internal memory is living in right now: there is data on the drive...you just can't see it. It's coming back, I promise!)
    20. Open the Piriform Recuva application. In the wizard select the 'Next >' button. Select the 'Other' radio button and select Next >. Select the 'In a specific location' radio button and enter: k:\ (assuming K is the drive letter you chose...) Select the Next > button. Select the Enable Deep Scan checkbox. This is the magical setting that finds files that have been deleted...but not really deleted. Select the Start button.
    21. The application may take about an hour to do the 'Deep Scan.' It's time for more laps around the house! Once the application has returned its results you can choose which files to recover using the checkboxes. Select the 'Recover...' button and choose the location to which you wish to output your files.
    22. ?
    23. Profit! :victory:

    The Appendix
    The following links helped me to create this modern marvel - mad props to scandiun! :

    Good luck!
    I forgot to mention, but run commands inside android as superuser or may fail (just after adb shell):

    adb forward tcp:5555 tcp:5555
    adb shell
    /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12

    And greetings for the guide, I didn't know of VHD Tool, congratulations!.
    VHD tool download

    For people who are unable to get hands on VHD tool,

    Exe: https://www.mediafire.com/?f96bmsvjz4qdvbu

    Same thing in zip: https://www.mediafire.com/?f96bmsvjz4qdvbu

    Success! Thanks to everybody! :)

    After reading some posts I want to resume in one reply users contribution like advices or notes including my own contribution about "0 byte issue", "cygwin 64 bits vs 32 bits" and other issues of this topic.

    1) Remember that could be important DO NOT use the phone neither Internet neither app which could WRITE at inner memory. The less use, the better.

    2) Remember the possibility to download directly the APK playstore applications from your computer as busybox using an APK downloader instead of downloading directly from your device to prevent write on the inner memory.

    Therefore transfer the APK using USB cable to the external SD card to prevent write data to the inner memory.

    3) Remember that you could have busybox installed in bin, xbin or other folder applying these commands following the steps

    4) Check if ADB shell and busybox have "allow access" in the SuperSU at your phone
    5) Check if the phone is screen blocked with PIN. You need to unblocked it to allow connection between computer and your device
    6) Remember to ACCEPT the RSA fingerprint appear as a popup window on your device when you init the connection using ADB. If this does not appears try to move between USB modes as UTP and PTP till some event trigger it.
    7) It seems NO communication using nc command on cygwin64. Use ncat.exe instead.

    NOTE about "Cygwin 32 bit, instead of the 64 bit" issue: it is not mandatory to install cygwin (32 bits). Using ncat.exe (32 bits) instead of nc at cygwin 64 bits goes on.

    How to install ncat.exe into cygwin64:

    a) Download nmap-6.46-win32.zip from nmap website. Nmap contains ncat.exe application for Windows
    b) Open and extract ZIP file into a temp folder
    c) Copy ncat.exe, libeay32.dll and ssleay32.dll to the C:\cygwin64\bin folder (Assumed you installed cygwin in that path)
    d) Restart cygwin64 terminal to have the changes on.

    Then, change nc to ncat in this step:

    $nc 5555 | pv -i 0.5 > mmcblk0p12.raw
    $ncat 5555 | pv -i 0.5 > mmcblk0p12.raw

    8) It is not necessary to log as root inside cygwin. Only run cygwin as Windows Administrator.
    9) Remember to have ADB access at PATH environment var to allow cygwin execute Windows ADB without issues
    10) Remember to use su and absolute paths at first shell.
    $adb shell su /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0p12

    if it shows the error "can't open permission denied" this means that the device is blocked. See steps 4), 5) and 6)

    11) You will obtain something like that after dump all data from inner memory to the raw file. It is necessary to complete with a non error process:
    ##### gywin first shell ###############

    [email protected]
    $ adb shell su /system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0p12
    24182784+0 records in
    24182784+0 records out

    12381585408 bytes (11.5GB) copied, 2836.886444 seconds, 4.2MB/s

    ##### gywin second shell ############

    $ ncat 5555 | pv -i 0.5 > mmcblk0p12.raw
    close: No error [4,21MiB/s] [ <=> ]
    11,5GiB 0:47:17 [4,16MiB/s] [ <=>


    12) Remember to rename mmcblk0p12.raw to mmcblk0p12.vhd AFTER applying vhdtool /convert. Better for recognize VHD files on Windows Disk Management.
    13) AFTER Initialize Disk it is not mandatory create any volume neither quick format the disk although for piriform recuva could be necessary. However some other software as PhotoRec or Diskinternals Partition Recovery are able to READ the Initialized disk and unallocated space to recover files directly. The less manipulation on the VHD, the better.

    14) Remember that the recover utilities have file type defined. But, how about if you want to recover a special file type? In PhotoRec you can define custom file extension to be recovered. More info at cgsecurity.org.

    15) Keep calm and enjoy the process!

    Computer OS Windows 7 64 bits
    CPU Intel Core 2 Duo [email protected]

    Model GT-I9300
    Android 4.3
    Baseband I9300XXUGNA8
    Kernel 3.0.31-2429075
    [email protected] #1
    Thu Jan 16 23:47:54 KST 2014
    Build JSS15J.I9300XXUGNA5

    Rooted CF-Auto-Root-m0-m0xx-gti9300.zip
    SuperSU 1.93
    Busybox 1.22.1
    alright. I think I found the solution for the 0 Byte issue.
    I tried everything now and it finally worked.
    The culprit for me was the whole 64 bit thing. Just go 32bit. (Only thing that is 64 bit on my setup is JDK 8 right now.)

    I also want to note that I am on Windows 8 Pro (64bit)

    I quickly want to summarize the important steps where a lot of people seem to make mistakes or oversee something:

    1) get Cygwin 32 bit and NOT 64 bit
    http://cygwin.com/install.html ->> setup x86.exe

    Install it. when Installing click next until you get to the packages window. See screenshot for that . Scroll down to Utils
    add the packages pv and util-linux (by clicking on skip and checking both boxes)
    then complete your installation.

    you should now have a bin folder now.

    2) go grab the adb (adt bundle) from google.
    unzip it and copy the whole content from \adt-bundle-windows-x86_64-20140321\sdk\platform-tools
    to your C:\cygwin\bin folder

    3) grab netcat zip from http://www.daemon.de/Netcat
    and follow their instructions. its only the nc file (nc.exe to be precise) that you want to copy to your cygwin\bin folder

    thats basically it. these are the most important steps where you could have made mistakes.
    for me personally the 64 bit was the only culprit. Everything works fine with the 32 bit cygwin for me. but the 64 bit one still says 0 Bytes.. so scr*w it :)

    also if you want to know your partition, you might have different values like I do. mine was
    ls -l/dev/block/platform/dw_mmc/by-name/

    to get your own value type

    cd /dev/block/platform/
    it should output a folder name . the value that you are looking for .

    ls -l/dev/block/platform/(ENTER_THE_VALUE_THAT_WAS_OUTPUTTED_BY_THE_LS_CMD_BEFORE)/by-name/

    And that should show you which names are assigned to which patitions (system, user ,data etc)

    And last but not least. I am just an average guy with few skills but I try to punch myself through stuff by learning and trying to do my best.
    I am not trying to brag or convince anybody and I know that there are nerds who might want to bash me. I dont care. I had the 0 byte problem myself and read through the forums and the problem was never really solved.
    Now that I solved it for myself I could ve left without sharing my success in solving this problem (for my case at least but I hope its a general one)
    But I took my time to share it with the guys in need.

    I hope it will help you and many of you have precious data that needs to be restored. I would be happy if I can contribute something to save your pics from family etc and other cases that were mentioned a few times in this thread.

    Also Thanks to the Topic Starter , but I dont recommend the recovery software that he recommend. I'd go for testdisk / photorec personally.
    There was another software that was recommended somewhere in this thread . you might want to test that one maybe if testdisk is too hard for you.

    one last request: I think my post is going to be long. so PLEASE dont quote all of it if you answer :D