问题:
我在 NTFS 分区上有一个文件,我无法删除或移动它。我可以查看该文件。这也导致我无法在 Windows 中读取该目录。当我在 Windows 中尝试访问该目录时,出现错误“该文件或目录已损坏且无法读取”。
[root@ziggurat var]# ls -al .piw\?PageNum\=0
-rw-r--r-- 0 ttucker root 2016 Jan 28 08:56 '.piw?PageNum=0'
[root@ziggurat var]# rm -i .p*
rm: remove regular file '.piw?PageNum=0'? y
rm: cannot remove '.piw?PageNum=0': No such file or directory
[root@ziggurat var]# mv .piw\?PageNum\=0 derp
mv: cannot move '.piw?PageNum=0' to 'derp': No such file or directory
如果我尝试使用左下角的vim
内容编辑文件。".piw?PageNum=0" [Permission Denied]
如果我尝试修改权限,我会收到以下错误:
[root@ziggurat var]# chmod 777 .piw\?PageNum\=0
chmod: cannot access '.piw?PageNum=0': Input/output error
更多信息:
这是包含一个分区的第二个驱动器。该分区是在 Windows 10 中创建的。此分区不包含我的Windows C Drive
- 此驱动器与我的 Linux 根分区和 Windows oot 分区完全分开。
[root@ziggurat var]# pwd
/mnt/storage/ttucker/var
[root@ziggurat var]# df -h /mnt/storage/
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 932G 197G 736G 22% /mnt/storage
[root@ziggurat var]# fdisk -l /dev/sda
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 91985B34-E4D8-4F7B-ABF4-7F2E27482077
Device Start End Sectors Size Type
/dev/sda1 2048 1953523711 1953521664 931.5G Microsoft basic data
更多信息:
在 Windows 中,我无法切换到var
目录。我收到消息:The file or directory is corrupted and unreadable.
我可以查看和修改驱动器中的任何其他位置。
该文件最初可能是用错误的wget
命令创建的。
文件在那里,我可以cat
将其复制到STDOUT
。内容是来自美国专利网页的 HTML。
[root@ziggurat var]# cat .piw\?PageNum\=0
<!-- PageNum=0 -->
<!-- NumPages=0 -->
<HTML>
<HEAD><TITLE>Patent Images</TITLE></HEAD>
<BODY TOPMARGIN="0" leftmargin="0" MARGINWIDTH="0" MARGINHEIGHT="0" >
... clipped for brevity ...
</BODY>
</HTML>
以下是操作系统和 ntfs-3g 信息:
[root@ziggurat var]# pacman -Ss ntfs
extra/ntfs-3g 2016.2.22-1 [installed]
NTFS filesystem driver and utilities
[root@ziggurat var]# uname -a
Linux ziggurat 4.9.6-1-ARCH #1 SMP PREEMPT Thu Jan 26 09:22:26 CET 2017 x86_64 GNU/Linux
最后说明:
我也尝试过卸载驱动器并ntfsfix
在其上运行。但这没有帮助。
谢谢!
更新
我chmod 777
已经找到了目录var
...然后运行chown -R root:root var
,收到此错误:chown: changing ownership of 'var/.piw?PageNum=0': Input/output error
...然后...查看目录:
[root@ziggurat var]# ls -ltra
ls: cannot access '.piw?PageNum=0': Input/output error
total 3116333
-????????? ? ? ? ? ? '.piw?PageNum=0'
-rw-r--r-- 1 ttucker root 250910 Jan 28 08:56 0.pdf
....
呃...我认为驱动器只是jacked
<--技术术语
第二次更新:
chown
在上述目录上运行后,我重新启动进入 Windows。在 Windows 加载过程中,它显示它是checking the drive for consistency
(或该语言的某些内容)无论如何...它现在可以正常工作了。文件消失了,我可以在 Windows 中读取它。
对其他人可能有帮助的其他信息:
我有两个驱动器,上面有相同的文件;一个是内部备份驱动器,另一个是外部备份驱动器。两者都是 NTFS,并且var
无法在 Windows 中访问这两个目录。在解决了内部驱动器的问题后,我发现删除“愚蠢”命名的文件也可以解决外部驱动器上的问题。示例:
-rwxrwxrwx 1 root root 2016 Dec 31 22:31 '.piw?PageNum=0'
-rwxrwxrwx 1 root root 8379 Dec 31 22:32 '.piw?PageNum=0&docid=01111111&IDKey=DE3F91CB19BB%0D%0A&HomeUrl=http%3A%2F%2Fpatft.uspto.gov%2Fnetacgi%2Fnph-Parser%3FSect1%3DPTO1%2526Sect2%3DHITOFF%2526d%3DPALL%2526p%3D1%2526u%3D%25252Fnetahtml%25252FPTO%25252Fsrchnum.htm%2526r%3D1%25'
由于某种原因,也许是因为我没有运行ntfsfix
,在外部驱动器上,我能够删除这两个“问题文件”,然后在 Windows 中读取该目录。
谢谢大家!
答案1
这似乎是一个有趣的文件名的组合:
.piw?PageNum=0&docid=01111111&IDKey=DE3F91CB19BB%0D%0A&HomeUrl=http%3A%2F%2Fpatft.uspto.gov%2Fnetacgi%2Fnph-Parser%3FSect1%3DPTO1%2526Sect2%3DHITOFF%2526d%3DPALL%2526p%3D1%2526u%3D%25252Fnetahtml%25252FPTO%25252Fsrchnum.htm%2526r%3D1%25
...然后是ntfsfix
...
最终的解决方案是处理文件权限和所有权,然后重新启动 Windows(检查磁盘的一致性)。