Проблема:
У меня есть файл, находящийся на разделе 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 root и 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
Заключительное замечание:
Я также пробовал запустить umount'ing диска и запустить 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 (которая проверила диск на целостность).