Corrupted NTFS files (no such file or directory); can I fix them under Linux?
I'm writing this after the OP repaired the filesystem with chkdsk
. This answer gathers useful information from comments to give some insight to future users with similar problems.
The ll
output reports size 0
for the file that should have some data in it. This, as well as the encountered error, indicates damaged file or filesystem.
Linux is not well equipped to fix corrupted NTFS. There is ntfsfix
tool, however its manual says:
ntfsfix
is a utility that fixes some common NTFS problems.ntfsfix
is NOT a Linux version ofchkdsk
. It only repairs some fundamental NTFS inconsistencies, resets the NTFS journal file and schedules an NTFS consistency check for the first boot into Windows.
As you can see the tool leaves the hard work for Windows to do. It seems there is no way to repair serious NTFS issues from under Linux only.
The right tool is Windows chkdsk
with /f
option. To use it you can either:
- boot to some Windows repair disk which provides
chkdsk
; - or connect the drive to working Windows machine and run
chkdsk
from there; - or (cumbersome way, still it may be useful if you cannot remove the drive nor boot to repair disk) clone the drive to another one (with
dd
orddrescue
), then connect the clone to working Windows, fix the filesystem and get to your files.