我有一个由 TrueCrypt 挂载的卷。一切正常,除了我尝试卸载它时(在确认没有任何应用程序或资源管理器使用其中的任何内容后)。每次我单击按钮时Dismount
,都会收到此错误:
卷包含应用程序或系统正在使用的文件或文件夹。强制卸载?
我启动了 Sysinternals 的进程监视器,过滤以该驱动器号开头的路径,并注意到奇怪的结果,我发誓我没有尝试使用列出的任何应用程序(Explorer.EXE、SnippingTool.exe、firefox.exe)访问该驱动器。
所有 3 个应用程序均显示相同类型的“访问”(带有SUCCESS
结果):
- 创建文件: 所需访问:同步、处置:打开、选项:目录、同步 IO 非警报、属性:不适用、共享模式:无、分配大小:不适用、打开结果:已打开
- 查询名称信息文件:姓名: \
- 查询信息量:VolumeCreationTime:2015 年 2 月 10 日晚上 10:04:26,VolumeSerialNumber:D753-7E32,SupportsObjects:True,VolumeLabel:
- 查询属性信息量:FileSystemAttributes:保留大小写、区分大小写、Unicode、ACL、压缩、命名流、EFS、对象 ID、重新解析点、稀疏文件、配额、事务、0x3c00000、MaximumComponentNameLength:255、FileSystemName:NTFS
- 关闭文件:
- 创建文件:所需访问:同步、处置:打开、选项:目录、同步 IO 非警报、打开可用空间查询、属性:不适用、共享模式:无、分配大小:不适用、打开结果:已打开
- 查询全尺寸信息卷:总分配单位数:4,194,303、呼叫者可用分配单位数:2,425,717、实际可用分配单位数:2,425,717、每分配单位扇区数:8、每扇区字节数:512
- 关闭文件:
我尝试禁用该驱动器(及其所有子文件夹和文件)的索引,方法是取消勾选驱动器的属性页面上相应的复选框,但这没有帮助。
进程监视器中仅ACCESS DENIED
显示 TrueCrypt 的FileSystemControl
运行情况:
控制:FSCTL_LOCK_VOLUME
有趣的是,如果我安装该驱动器并立即卸载它(甚至没有尝试通过 Explorer 访问它一次),那么它会卸载而没有任何错误。
这个问题最糟糕的部分是,如果我继续点击Yes
(强制卸载),Windows 8.1 会崩溃并出现 BSOD(死机蓝屏)。显然,这让这个工具变得没什么用。
知道如何消除此错误消息吗?禁用导致此问题的 Windows 服务或功能?
答案1
您可能会安装CrystalRich 的 LockHunter 查看哪些进程已打开 TrueCrypt 卷的文件句柄。
您的 AV 正在访问文件吗?
回复:“TrueCrypt 已停止使用”,它已经经过部分审核,并且没有主要的已发现缺陷或后门(在 AES 中)。请参阅如何极客和E·丘拉纳有关 TrueCrypt 的评论。如果您确实想切换加密软件,无论是为了解决锁定问题还是出于安全原因,aee替代方案:TrueCrypt... 现在,VeraCrypt略有领先。请注意,如果你做切换到 VeraCrypt,所有当前的 TrueCrypt 容器都需要重新创建。
答案2
稍晚了一点——我在磁盘分区中创建的 VeraCrypt 容器也遇到了同样的问题(磁盘分区为三个扇区——一个小型普通驱动器用于存储我的软件的备份,包括 VeraCrypt、KeePass 和我的 KeePass 密钥文件,以及同一便携式硬盘上的两个 VeraCrypt 分区)。一旦我关闭普通驱动器容器的索引,VeraCrypt 分区容器就会开始正常卸载——显然索引过程被解释为对同一物理磁盘上所有分区的主动访问请求。
答案3
我意识到这是一个一年多前的问题,但由于我自己寻找解决方案时发现了它,并且没有发布解决方案,所以让我提供我的解决方案。
简短回答:TrueCrypt 容器似乎出了问题,导致无法卸载。创建一个新的 TrueCrypt 容器并将文件从一个容器移动到另一个容器即可解决此问题。
我最近遇到了和楼主一模一样的问题,很快就能把问题缩小到单个 TrueCrypt 容器。我在同一个物理 USB 拇指驱动器上还有另一个容器,在第二个拇指驱动器上还有另一个容器,这两个容器都没有问题。当我将容器(和没有问题的容器)复制到新驱动器时,容器仍然有同样的问题,即使在新的物理拇指驱动器上也是如此;而没有问题的容器在新的拇指驱动器上仍然没有问题。
我分配了一个新容器并复制了文件,新容器正确卸载。
我推测,要么是因为旧的 U 盘变得不稳定,要么是因为我在卸下时没有正确卸下,容器中的某些东西被损坏了。虽然不足以损坏数据,但会阻止干净地卸下。无论哪种情况,重新创建容器对我来说都完成了工作。
答案4
对于所有 TrueCrypt 用户来说,VeraCrypt 是 TrueCrypt 的下一个名称,它是一个名称更改的 TrueCrypt,并且具有更高的安全性和更多的选项。
他们从 TrueCrypt 中获取代码并加以遵循。现在我两个都用:TrueCrypt 用于旧版本,VeraCrypt 用于新版本。
而且 veraCrypt 实际上一直在维护,并且随着新功能的推出,他们计划能够为 UEFI 系统加密 GPT 磁盘(无 MBR、无 BIOS)上的 Windows 系统分区,他们不知道什么时候可以实现,但正在尽力尝试,了解 UEFI 启动以及 Windows 如何从 GPT 磁盘分区方案启动。
也许这能有帮助。
PD:VeraCrypt 的源代码是来自 TrueCrypt 的源代码,添加了修复和附加功能、相同的 GUI 等以及一些“附加功能”。