Прежде чем вы посоветуете мне возможность сохранить мои файлы и отформатировать диск с помощью gparted , пожалуйста, поймите, что я мог бы сделать это несколько часов назад, и это заняло бы всего несколько минут. На самом деле, я хочу понять, что на самом деле здесь происходит. Ситуация разрушает весь мой опыт, накопленный за эти годы.
У меня сложилось впечатление, что, если я вставлю зараженную вирусом флешку на мою машину с Ubuntu, все, что мне нужно сделать, это просто удалить файлы вируса, и я готов.
Сегодня я собрал некоторые файлы на флэш-накопителе в формате NTFS с машины Windows, полностью зная, что машина заражена вирусом. Вставив флешку в мою машину, я обнаружил, что в ней собрано много файлов и папок. Я удалил большинство из них. Единственное, что демонстрирует жесткое сопротивление - это каталог RECYCLER (и его подкаталоги).
Атрибуты этого каталога.
drwx------ 1 masroor masroor 4.0K May 7 16:01 RECYCLER/
Если я выполню rm
команду,
sudo rm -rvf RECYCLER/
Я получаю длинный вывод в строке,
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
rm: cannot remove `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl': Input/output error
<rest snipped>
Что интересно, представленные выше файлы отображаются ls
командой с множеством наборов атрибутов.
ls -l RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe: Input/output error
ls: cannot access RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/viJbcvrJ.cpl: Input/output error
total 0
-????????? ? ? ? ? ? OagFrAIX.exe
-????????? ? ? ? ? ? viJbcvrJ.cpl
Если попытаться найти атрибуты этих оскорбительных папок,
ls -dl RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Я получил,
drwx------ 1 masroor masroor 4096 May 7 15:58 RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Команда chmod
для создания доступной для записи папки RECYCLER не выполняется.
sudo chmod -vR ugo+w RECYCLER/
Выход находится в строке.
mode of `RECYCLER/' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
mode of `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537' changed from 0700 (rwx------) to 0722 (rwx-w--w-)
chmod: cannot access `RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/OagFrAIX.exe': Input/output error
<snipped>
Эти папки содержали ряд .exe
и других файлов, большинство из которых я уже успешно удалил (кроме указанных выше).
Если я проверю атрибуты одной из этих папок,
lsattr -ad RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
я получил
lsattr: Inappropriate ioctl for device While reading flags on RECYCLER/S-2-4-27-3777257131-1806073332-421880436-8537/
Я работал clamtk
на этом устройстве, как предложено здесь . Тем не менее, он не может найти угрозу.
Я понимаю, что могу просто сохранить содержимое своего флэш-накопителя где-нибудь, а затем отформатировать его. Тем не менее, меня больше интересует, какие атрибуты были установлены в этих папках, которые сопротивляются дальнейшим изменениям. (И, безусловно, я тоже захочу вылечить мою флешку.)
ОБНОВЛЕНИЕ 1
В дополнение к комментарию от Патро .
- Когда папки посещаются, эти файлы с множеством атрибутов не отображаются, даже когда я пытаюсь просмотреть их как скрытые файлы.
- Удалить эти файлы не удается. Команда
rm -rvf *
внутри каталогаS-2-4-27-3777257131-1806073332-421880436-8537
завершается с ошибкой ввода / вывода.
ОБНОВЛЕНИЕ 2
После комментариев от soulsource и girardengo я попытался бежать
ntfsck
и ntfsfix
. Также этот вопрос помог.
Вот результаты.
ntfsck
sudo ntfsck /dev/sdc1
Unsupported: replay_log()
Unsupported: check_volume()
Checking 7796 MFT records.
Unsupported cases found.
ntfsfix
sudo ntfsfix -d /dev/sdc1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.
Но первоначальная ситуация все еще сохраняется. Там не было никакого улучшения.
ОБНОВЛЕНИЕ 3 (решено)
Как советовали в этом посте , я вставил свой диск в машину с Windows и выполнил (из терминала),
chkdsk <drive letter> /R
Был целый ряд мероприятий по проверке и ремонту. Были также сообщения о плохих секторах. Задание было выполнено менее чем за минуту. Затем я обнаружил, что для восстановленных областей были созданы новые папки.
Я вставил флешку в компьютер с Linux, и папку RECYCLER можно было удалить без каких-либо проблем.
В качестве дополнительного шага, теперь я отформатировал диск (используя gparted, для NTFS), так как я думаю, что получил свое понимание.
Похоже, что вирус действительно способен вызвать (временную / программную) проблему с оборудованием. Пожалуйста, смотрите вышеупомянутый пост для подробного технического объяснения.
ntfsfix
чтобы попытаться исправить ошибки.Ответы:
Хорошо, я должен прояснить пару вещей здесь:
Часть обратного инжиниринга о NTFS здесь не применима, особенно для отформатированной флешки NTFS. Даже если бы это было так, это было бы что-то действительно необычное. Я работал со многими флешками в формате NTFS, отформатированными в Windows XP, Vista, 7 и 8.
Так что проблема в том, что Linux неправильно определяет NTFS, не в этом. Проект NTFS-3G не медленный и не несовместимый с этим уровнем, вы даже можете видеть, что последнее обновление было пару месяцев назад в этом же году . Конечно, время от времени у него есть пара проблем, таких как поддержка кэширования и огромная загрузка ЦП, но, как я уже сказал, для флэш-накопителя это вряд ли произойдет или будет с очень малой вероятностью.
У меня были похожие проблемы с флешками, показывающими либо ????? символы или просто неправильные символы в целом (EG:! @ #% $ @% # @ вместо имени файла). Некоторые пользователи рекомендуют использовать
ntfsfix
или,ntfck
но если вы не можете их исправить, запустите chkdsk в Windows на диске. Загрузочная запись / файловая система может иметь некоторые проблемы.Владелец файла / папки не имеет значения, пока он использует
sudo
. Это может быть любой пользователь, но при использованииsudo
команды онrm
будет удален независимо от того, кому она принадлежит. Опять же, это относится и к этой флешке в формате NTFS.Когда я впервые увидел вопрос, я собирался задать команду, как,
sudo
но я прочитал, что вы уже сделали. Тогда собирался предложить инструменты для ремонта ntfs, но вы уже сделали. затем я увидел ошибку ввода / вывода в конце. То, что имена файлов выглядят испорченными, просто говорит мне, что существует настоящая проблема с файловой системой, которую можно исправить только:Использование chkdsk в Windows. Ни то,
ntfsfix
ни другое неntfsck
решит пару проблем, которые может исправить только chkdsk.На данный момент это не похоже на аппаратную проблему, скорее на проблему с файловой системой. Если chkdsk не работает, то единственное решение - снова отформатировать флешку (нет необходимости в низком уровне). В случае, если простой формат не помогает (и проверен в Windows и gparted), тогда мы смотрим на проблему аппаратного уровня.
Если вирус действительно должен был что-то делать с этой проблемой, это произошло бы потому, что он затронул / присоединился к таблице файловой системы (MFT). Это может создать проблемы, такие как видимость частей файловой системы в порядке и других ПЛОХО. Не видеть файлы в одной системе и не видеть их в другой. Просмотр всех файлов или некоторых поврежденных (например:! @ #! #! LOL! @ #!) И других странных вещей, которые могут произойти, если таблица файловой системы повреждена. Это может быть так же просто, как вирус, изменяющий одно из полей в таблице файловой системы, или так же ужасно, как вирус, изменяющий размер MFT или нескольких файлов.
Кроме вируса, вы должны знать, что если проблема настолько серьезна, что вы не можете отформатировать диск (Fresh filesystem), из-за которого вирус редко это делает, то более вероятно, что у вас проблема с аппаратным обеспечением флэш-диска, вызванная тепло, удар и т.д ..
При повреждении данных на флэш-накопителе или в любом устройстве хранения, особенно на флэш-накопителях, причиной во многих случаях является извлечение устройства до того, как вся информация была правильно сохранена. Это может происходить как в Windows, так и в Linux, если пользователь удаляет флэш-накопитель, не убедившись, что все закончено, и сеанс для устройства закрыт.
В случае Linux вы начнете получать предупреждения о недопустимых операциях чтения / записи на всей флэш-накопителе или в файлах (например, в фильмах), пропускающих 50% от общего размера (например, фильм объемом 1,2 ГБ, весом всего 500 МБ и все в нем). повредиться). fsck может исправить это в большинстве случаев. В случае Windows это покажет ошибки ввода / вывода и может привести к повреждению всего устройства, потому что MFT не сохранил правильно информацию. Поэтому рекомендуется либо дождаться закрытия сессии, либо использовать опцию «безопасно удалить», если она доступна.
источник
Я думаю, что проблема в том, что реализация NTFS в Linux перепроектирована и не завершена - спросите у Microsoft исходный код ;-).
У вас есть подсказки с предупреждением "Обнаружен неподдерживаемый случай". Вероятно, машинный антивирус Windows использовал некоторые расширенные / неясные характеристики файловой системы NTFS, которые драйвер Linux не в состоянии понять.
Вы должны выполнять низкоуровневое управление файловой системой только на собственной системе (посмотрите, как часто gparted изменял размер раздела NTFS только для того, чтобы система не загружалась ...).
См. Также главную страницу NTFS-3g , и особенно это часто задаваемые вопросы и ответы .
источник