[SOLVED] My Cloud Home PCB burned! How to extract data out from HDD?

hey guys
unfortunately I lost all my data (about 5 Tb) was stored on wdmch. the app was showing “device is offline” and I decided to press reset button. but it seems I press the button too long and after reboot I found there is no data on my public folder and I think there is no data on my personal user folders either. anyway, now I wanna try recovering my data. first of all, public folder (about 5Tb), and after that personal user folder.
I need your kind help in this way by answering my questions:
1- is it possible to recover public folder data, or hard reset erase them, in a way that it’s not possible to recover?
2- should I buy a 3.5 inch hdd to usb 3 converter? any special brand?
3- can I recover the drive on windows (at least public folder) or I have to switch to Ubuntu?

your kind answers would be very appreciated.

My 6tb MCH is slow breathing and private folders not accesible. I’m getting update reports from WD however (last one several hours ago) and the public folder is accessible via IP address as well as the TimeMachine backup folder.

Support have been useless and told me the drive must be dead. (whatever that can’t be true if I can read and write to oublic folders)

So I’m guessing I need to try to retrieve the data and get rid of the useless piece of junk.

Could anyone explain to me how I can use this script on a MacBook pro please.

Thanks in advance.

Just Fantastic Chris! The script worked flawlessly on the recovery of my op directory deleted by mistake by my wife; it contained files dating back to 1996 :innocent:
The complication (took me 5 weeks) was to install and learn UBUNTU (brilliant) and then all the work arounds needed to accomplish to task. I have tried almost all recovery software available online, but all failed.
What I needed to recover was: 1- complete directory structure and 2- correct files names. To do this on my 8TB WD my cloud home required:
1- remove from the casing,
2- remove the disk from the slot where RJ45, USB and power input;
3- get a properly powered disk bay with two slots (1 to read from source drive and 2 a target drive to save recovered files and directories).
4- On source disk, only partition dev24 (the largest) is of interest as it contains both the “index.db” and “files”.
5- Particular attention should be given to the script; not evident for a beginner to write the path for the target. However, once both disks are in the bay with power and usb plugged, then “Disks” in Ubuntu sees them. From there it is possible to identify the correct path.
6- Downloading and installing Spyder on Ubuntu also helped.
7- I have a little more than 1TB of files and I use seven human languages (English, French, German, Arabic, Hungarian, Czech and Slovak) and now I am recovering them while maintaining the special characters in each of these languages.
8- WD does not encrypt files, but files them with file identifiers and maintains them through the index.db.

NOTE: Very disappointing that WD did in fact create a “trash” bin and placed the parent delete directory and all files under it under the trash bin, but WD does not allow end users to see this “trash” bin and hides it from users of a single drive (my cloud home). So what, I have to send the drive from the Middle East to recovery companies accredited by WD while the dive is still under warranty? Naturally such companies (listed on WD site) will not acknowledge the warranty because they didn’t sell the system. I believe these companies are subsidiaries of or related entities to WD and they are just vehicles created as a way to make extra money and walk away from warranty issue. If not so, why then create a t"rash" bin but not provide a function for the end-user of single drive of my cloud home to access this directory???

I cant say that I have become an expert, but for anyone let me know if some difficulty is encountered, and most importantly, when a disaster happen, unplug power to the disk (my cloud home), prepare your work and test script on other disks if you can before going live recovery.

Many thanks again Chris.

Hi @Arfan, for me main partition sdb24 which is of 1.4TB is not mounting, do you have inputs on how to fix that so I can run the script. Appreciate for your inputs in advance.

Pls find my issue posted above on Oct12th with name RajK

Thanks,
Rajeev Kaza

Hi Rajeev, in Ubuntu, log in as root in GUI, open “Disks” from software packages that come as standard with Ubuntu. Point to the drive (on the left side of Disks) and see if an arrow (indicating that it is mounted) is there. Must be logged in as root to take ownership of “everything that is possible”. In WD my cloud home configuration, only 6 partitions would mount (from sdb18 to 22 both included and then sdb24; in my case the relevant drive is sdb; but this may be different on other systems).
If you are not logged in as root, you will not have even access rights - a problem I encountered and couldn’t understand why, but all road blocks went away as soon as I logged in as root).

Note 1: from last night, the script on my system is still “searching” diligently and then copying files to the target drive. Double check immediately when the script works that it is getting reflected on the drive you want. Adding “dev/sdc/recoveryfiles” wont work as it will put the file on sda (drive of the system you are working on).

Note 2: In the springfield script (GitHub - springfielddatarecovery/mycloud-restsdk-recovery-script: A script to recover files from MyCloud REST SDK Folder Structure), it is noted “Not to slashes to the end of directory”. This statement may be true only if recovery is of files only. Since WD puts a deleted directory in “trash”, in the “dumpdir” I have added a “slash” in the script (media/…/WD4TB/8TBRecovery**/**).
Let me know if this helps. Good luck.

Arfan, Thank you for your advice, did follow your suggestion but still no luck with my drive, please find attached.

Try to unmount sdb23 (swap) and then mount sdb24 by using Disks. Swap shouldn’t be mounted. If this does not work, use “Testdisk” with “no log" option and then use advanced to check if you can see it.

Hi @Arfan
Good that you could recover your files
In my case, my 8TB MCH was mistakenly factory reseted and after that there is just an empty drive! So I think trash folder is emptied and there is no index.db (as far as I found)
What’s your idea? Can I recover my files with folder structure and file names???
Thanks in advance for your help

You need to:
1- unplug the HD from the network card;
2- see with WD what a factory reset does, which could be:
a- deletion of the MBR; or;
b- a quick format;
3- use Testdisk without log creation and recover the deleted partitions;
4- if 4 doesn’t work, try MiniTools or other programs in windows to check if you see any partition (do step 4 carefully);
5- go back to Ubuntu and check again if you’re able to see what’s “under the blank disk”;
6- best would be to test with a sacrificial disk.

I think, but not sure, your data is still there, but covered with or behind the factory reset layer.
The script won’t help at the stage where you don’t see partition 24 (the largest containing both the index.db and “files”), so I would not use it at this stage.
Good luck.

Just a quick update:
4 days later and I recovered 100% of my files with correct file names in the directory structure (I had 680 GB with over 20 layers of subdirectories).
I am very happy all is back.

1 Like

Thanks for fast reply man
I unplugged hard disk from case and mounted partition 24 and even recovered some photos by easeus software but without file names and folder structure! I’ve tried the springfield solution but no result (maybe because of my weak ubuntu skill or maybe there is no index.db or it’s empty after factory resset)
Is there any chance that other softwares give me files with their names??

What was the option u used to get your files back with USFExplorer?

Could someone please help me run this script? This is what I put in lines 4 to 6:

db=‘admin:///media/ubuntu/7a022c2e-a741-4383-82e9-9815c2a61195/restsdk/data/db/index.db’ #where the file DB is stored example: /data/db/index.db
filedir=‘admin:///media/ubuntu/7a022c2e-a741-4383-82e9-9815c2a61195/restsdk/data/files’ #where the files are stored example: /restsdk/data/files
dumpdir=‘/media/ubuntu/Backup Hard Disk Drive/My Cloud Home’ #where you want the new files dumped example:/EXTERNAL/FILES

And this is what the Ubuntu terminal gave me in return:

Opening database…/rError opening database at admin:///media/ubuntu/7a022c2e-a741-4383-82e9-9815c2a61195/restsdk/data/db/index.db

Edit: For those who encountered my error, I finally got it to work by typing sudo -i first and then running the script.

1 Like

wow this really is such a god awful product. Mine was so slow I decided to just remove the hard drive to use it inside my PC. I loaded up Ubuntu and had exactly the same problems which brought me here. I’ve now got the PCB connected to the drive and am transferring everything over my network. I have 7.5TB of data so its going to take me about a week to do. If anyone in the UK needs a PCB to do the same feel free to drop me a message and I can send you it in the post once mine is done.

Well done Western Digital. I will never buy one of your products ever again.

… edited

I have been able to run the script and have recovered a small amount of my data. The script ends with the following error:

1DqSLNR8kTgwq5rvveUFDSbYQnJp9D5gfR
Traceback (most recent call last):
File “restsdk_public_updated.py”, line 133, in
with smtplib.SMTP(smtp_server, port) as server:
File “/usr/lib/python3.8/smtplib.py”, line 253, in init
(code, msg) = self.connect(host, port)
File “/usr/lib/python3.8/smtplib.py”, line 339, in connect
self.sock = self._get_socket(host, port, self.timeout)
File “/usr/lib/python3.8/smtplib.py”, line 308, in _get_socket
return socket.create_connection((host, port), timeout,
File “/usr/lib/python3.8/socket.py”, line 808, in create_connection
raise err
File “/usr/lib/python3.8/socket.py”, line 796, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out

Is there any solution to not have timeout error happen?
Not sure if the external drive becomes unmounted and I can’t sit there and watch for hours. This happens after several hours of running but it likely needs to run for at least a day to recover all files.
If anyone has any suggestions to help, it would be greatly appreciated.
Thank you

I have the same problem :frowning: … It seems that we have writing the “same” path in the PY file, the partition is mounted but it’s a so long path, i don’t know if we have do right or wrong, if someone can help us :cry:

I’m having the same issue here, did you manage to solve this?

I solved this changing the path where the files were.
But now I’m getting another error:

Opening database.../rQuerying database.../rTraceback (most recent call last):
  File "/media/jp/HDD6TB/restsdk_public.py", line 70, in <module>
    cur.execute("SELECT id,name,parentID,mimeType,contentID FROM files")
sqlite3.OperationalError: no such table: files

Any idea on how to solve this?

1 Like

Nope.