문제:
삭제하거나 이동할 수 없는 파일이 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 내에서 생성되었습니다. 이 파티션에는 my가 포함되어 있지 않습니다 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>
OS 및 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
Anywho(또는 해당 언어) 라고 표시되었습니다. 이제 작동합니다. 파일이 사라졌고 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를 다시 시작하는 것이었습니다(디스크의 일관성을 확인함).