This is a HP 15 computer running Windows 10 and its internal HDD is failing/dead, I believe physically. It hasn't started making unusual sounds/clicks, and it doesn't seem a major head crash has occurred, just physical bad sectors; I don't want to try booting to it and just want to rescue the files.
It went from working fine to randomly shutting down restarting overnight, and for a while I could get to the desktop; a few boots after that, I could get to windows recovery, and at one point, I ran chkdsk /r /i; there were a large number of "file segment unreadable" bad sector records; it corrected a bunch of things, but after about a day, it seemed to hang and wouldn't even show progress any more, so I had to shut down. After that I couldn't even get Windows System Recovery Options to appear; past this point it always booted to a black screen and I can only get to BIOS.
Booting from a linux USB and running fdisk -l lists these partitions:
- 1 - Windows recovery environment
- 2 - EFI system
- 3 - Microsoft reserved
- 4 - Microsoft basic data (~450 GB)
- 5 - Windows recovery environment
- 6 - Microsoft basic data
All partitions except 3 and 4 (which has the data) mount; #4 fails with error:
ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Failed to read NTFS $Bitmap: Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware.
It then recommends running chkdsk /f and booting to windows, but I'm worried about chkdsk being too dangerous to run. Every read/write cycle has the potential to cause further damage, so my hope is to use ddrescue to clone to an external HDD.
However, the important files are very few in number and probably under 50-100 MB in total. However I don't know exactly where they are (but it should be obvious subfolders of Desktop/My Documents and such), and can't access the filesystem to locate it as it's corrupt and don't know how to see the folder structure.
So this is my question.
Is it still safest to use ddrescue to image the whole drive, or is there a way to get just the small amount of data I need without causing too much damage despite the damaged file system?
Is there anything else I should do, or any free utility I could use to make this safer or get more information about the state of the hard drive?
I'm trying to minimize the number of read/write cycles because it seems like a situation where each attempt causes more potential damage. I've never used linux before and don't know anything about commands or parameters and any even "obvious" advice would be helpful to me (I have very very little computer knowledge so I apologize if this question is unfit for superuser.)