TrueCrypt 驱动器号不可用

TrueCrypt 驱动器号不可用

使用c#批处理文件我挂载了位于

A:\volumeTrueCrypt.tc

c#愿意:

static void Main(string[] args)
{
    var p = Process.Start(
         fileName:@"C:\Program Files\TrueCrypt\TrueCrypt.exe",
         arguments:@"/v a:\volumetruecrypt.tc /lw /a /p truecrypt"
    );
    p.WaitForExit();
}

另一种方法是在命令行上运行以下命令:

C:\Windows\system32>"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /lw /a /p truecrypt

无论哪种方式我都会收到错误:

在此处输入图片描述

为什么我会收到这个错误? 我第一次就能够运行该命令。当我卸载该卷并尝试再次安装它时,我收到了该错误。我知道驱动器号 W 可用,因为如果我手动打开它,它会在 true crypt 上显示为可用字母:

在此处输入图片描述

如果我点击按钮 mount 然后输入密码truecrypt(密码是 truecrypt),那么它将成功安装在驱动器 w 上。为什么我无法从命令行安装它!?如果我在命令行上更改驱动器号,它就可以正常工作。但我想使用驱动器 W。换句话说,执行

 "C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /lz /a /p truecrypt

会成功将该卷安装到驱动器 z 上,但我不想将其安装到驱动器 z 上,我想将其安装到驱动器 w 上。我第一次运行批处理时运行良好。此外,如果我重新启动计算机,我相信它应该可以工作。有关如何通过命令行使用 trueCrypt 的更多信息,请访问:http://www.truecrypt.org/docs/?s=command-line-usage


编辑

我也在调查这个错误是什么时候发生的。为了生成此错误,您需要按照以下步骤操作。

1)执行命令:(注意最后的/q参数表示安静)

"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /ln /a /p truecrypt /q

"C...TrueCrypt.exe"  = location where trueCrypt is located
/v "path"            = location where volume is located
/n                   = drive letter n
/p truecrypt         = password is "trueCrypt"
/q                   = execute in quiet mode. do not show window

注意我正在安装到驱动器号 n

2)现在应该安装卷。

3)打开 trueCrypt 并手动卸载该卷(不使用命令行)

4) 尝试运行相同的命令行(不带 /q,因此您会看到错误)

"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "a:\volumetruecrypt.tc" /ln /a /p truecrypt

5)应该出现错误

因此,当我手动卸载卷时,问题就会出现。如果我从命令行卸载它,则不会出现任何错误。但我认为这是 trueCrypt 的一个错误

答案1

我向 trueCrypt 提交了错误报告。不过,我找到了如何复制该问题的方法。如果您从没有管理员权限的程序卸载卷,然后尝试使用具有管理员权限的程序将同一卷安装到同一驱动器中,则无法正常工作。如果您以相反的方式执行此操作,也会发生同样的事情。简而言之,如果您始终在没有管理员权限的情况下进行安装和卸载,那么您就没问题。

就我而言,我创建了一个以管理员权限运行的程序。每次执行 TrueCrypt.exe 时都会遇到问题,因为 trueCrypt.exe 是在没有管理员权限的情况下运行的。要解决这个问题,我必须做的是更改:

在此处输入图片描述

现在我的程序和 trueCrypt.exe 都将以管理员权限运行,现在我没有任何问题 ;)

相关内容