从受病毒感染的闪存驱动器中删除RECYCLER目录


15

在为我提供关于使用gparted保存文件并格式化驱动器的建议之前,请理解,我本可以花几个小时才能完成此操作,而这只需要几分钟。实际上,我想了解一下,这里到底发生了什么。这种情况正在浪费我多年来的所有经验。


我的印象是,如果我将受病毒感染的闪存驱动器插入我的Ubuntu计算机,我所要做的就是简单地删除病毒文件,我很高兴。

今天,我完全从Windows机器中收集了一些文件,这些文件位于Windows机器的NTFS格式化闪存驱动器中,完全知道该机器已感染病毒。当我将闪存驱动器插入计算机时,我发现确实已经收集了许多文件和文件夹。我已经删除了大多数。唯一显示出抗拒性的是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

进一步来自Patro的评论。

  1. 当访问文件夹时,即使我尝试将它们视为隐藏文件,也不会显示具有众多属性的文件。
  2. 删除这些文件失败。rm -rvf *目录内的命令S-2-4-27-3777257131-1806073332-421880436-8537失败,并显示输入/输出错误。

更新2

在来自soulsourcegirardengo的评论之后,我试图运行 ntfsckntfsfix。同样,这个问题也有所帮助。

这是输出。

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),因为我认为我已经获得了自己的见识。

看来该病毒确实能够引起(临时/软性)硬件问题。请参阅上述文章以获取详细的技术说明。


drwx ------ 1个masroor masroor 4096年5月7日15:58 RECYCLER / S-2-4-27-3777257131-1806073332-421880436-8537 /; 该目录指示只有文件所有者(在这种情况下,是文件所有者)可以删除它。尝试右键单击该文件夹,然后单击属性,然后检查权限选项卡。
user220402 2014年

@ user220402如果您注意到了,我尝试使用sudo作为用户root删除文件夹。当用户删除失败时,我尝试使用sudo。
Masroor,2014年

尝试浏览文件夹并分别删除每个文件,看看是否可行。然后,稍后尝试删除文件夹本身。
Parto 2014年

3
I / O错误通常确实表示在硬件级别有问题。当然,它们可能仅出现在单个文件夹或文件中(如果相应的inode存储在错误的存储单元中,但其他所有存储单元都可以)。但是,我最大的猜测是文件系统已被病毒破坏,将这些文件放置在磁盘内存范围之外的某个位置。因此,我将尝试在文件系统上运行ntfsck。如果您有Windows安装,可以在最坏的情况下(感染)重新安装,也可以尝试使用chkdsk。
soulsource

1
按照建议尝试扫描设备。您可以使用该命令ntfsfix尝试更正错误。
girardengo 2014年

Answers:


6

好的,我要在这里清除几件事:

  1. 关于NTFS的逆向工程部分不适用于此处,特别是对于格式化的NTFS闪存驱动器。即使这样做,也确实会超出正常范围。我曾经使用过许多Windows XP,Vista,7和8格式的NTFS格式化闪存驱动器。

    所以不是Linux无法正确检测NTFS的问题。NTFS-3G proyect既不慢也不与该级别不兼容,您甚至可以看到最新的更新是在同年的几个月前。它肯定会不时遇到一些问题,例如缓存支持和大量CPU使用率,但是就像我说的那样,对于闪存驱动器来说,这是非常不可能发生的,或者发生的可能性很小。

  2. 我在Flash驱动器上遇到过类似的问题,或者显示????? 符号或完全错误的符号(例如:!@#%$ @%#@而不是文件名)。有些用户建议使用ntfsfix或,ntfck但如果无法通过驱动器在Windows上运行chkdsk修复它们,则建议使用。它的引导记录/文件系统可能存在一些问题。

  3. 文件/文件夹的所有者只要使用都没有关系sudo。可以是任何用户,但是当他使用该sudo命令rm时,无论谁拥有该命令,都将删除它。再次适用于此NTFS格式化的闪存驱动器。

  4. 当我第一次看到这个问题时,我想问的是要像sudo以前那样运行命令,但是我读到你已经做到了。然后打算建议ntfs修复工具,但是您已经做到了。然后我看到了输入/输出错误。看到文件名的样子全都弄乱了,就简单地告诉我,存在一个实际的文件系统问题,只能通过以下方法纠正:

    • 在Windows上使用chkdsk。无论是ntfsfixntfsck将解决几个问题中,CHKDSK只能修复。

    • 目前,它看起来不像是硬件问题,更可能是文件系统问题。如果chkdsk不起作用,则唯一的解决方案是再次格式化闪存驱动器(不需要低级别)。如果简单格式无济于事(并且已在Windows和gparted中进行了测试),那么我们正在研究硬件级别的问题。

如果病毒实际上必须对此问题采取任何措施,那是因为它影响/附加到文件系统表(MFT)。这将产生一些问题,例如看到文件系统的某些部分正常以及其他不良。在一个系统上看不到文件,在另一个系统上看不到文件。看到所有文件或某些损坏的文件(例如:!@#!#!LOL!@#!)以及文件系统表损坏时可能发生的其他奇怪内容。它可能像病毒更改文件系统表中的字段之一一样简单,也可能像病毒更改MFT或多个文件的大小一样可怕。

除了病毒外,您应该知道,如果问题非常严重,您无法格式化驱动器(新文件系统),而这种情况很少见到病毒,那么很可能是由于以下原因造成了闪存驱动器硬件问题高温,冲击等。

由于闪存驱动器或任何存储单元(尤其是闪存驱动器)上的数据损坏,在很多情况下,原因是在正确保存所有信息之前先卸下该单元。如果用户在未确保一切都已完成写入且设备会话已关闭的情况下卸下闪存驱动器,则在Windows和Linux中都可能发生这种情况。

对于Linux,您将开始收到有关整个闪存驱动器或文件(例如电影)中不允许进行的读/写操作的警告,而这些操作丢失了整个大小的50%(例如1.2GB的电影仅重500MB,其中包括所有内容)损坏)。在大多数情况下,fsck可以解决此问题。对于Windows,它将显示输入/输出错误,甚至可能损坏整个设备,因为MFT没有正确保存信息。因此,建议等待会话关闭,或者在可用时使用“安全删除”选项。


请参阅我的UPDATE3。看来我已经回答了。但是我将再等几天,然后再授予最佳答案。:-)
Masroor 2014年

@MMA太好了。Chkdsk确实创建了这些文件夹,因为这是文件系统(文件或文件夹)中未分配任何内容的部分,因此他创建了这个临时文件夹,以便您可以选择将恢复的文件放在何处。我将添加一些技巧,这些技巧可能会导致病毒之外的其他问题。
Luis Alvarado 2014年

5

我认为问题在于Linux中的NTFS实现是反向工程的,而且不完整---向Microsoft索要源代码;-)。

您会看到“发现不支持的案例”警告的提示。Windows计算机防病毒程序可能使用了Linux驱动程序无法掌握的某些高级/晦涩的NTFS文件系统特征。

您应该仅对本机系统上的文件系统进行低级管理(在此处搜索gparted调整NTFS分区大小的频率,只是使系统无法启动...)。

另请参见NTFS-3g主页,尤其是此常见问题解答

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.