TrueCrypt 磁碟機代號不可用

TrueCrypt 磁碟機代號不可用

使用c#批次文件,我安裝了一個 trueCrypt 卷,位於

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 上顯示為可用號:

在此輸入影像描述

如果我點擊掛載按鈕,然後輸入密碼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 都將以管理員權限執行,現在我沒有問題了;)

相關內容