truecrypt で「C:\Users\user1\AppData」を暗号化することは可能ですか?

truecrypt で「C:\Users\user1\AppData」を暗号化することは可能ですか?

いくつかのプロファイル フォルダーを truecrypt で暗号化する方法を探しています。システム ドライブを暗号化することはできません。

C:\Users\user1\AppDatatruecrypt で暗号化するにはどうすればいいですか?

答え1

可能です。私もやっています。一種のハックですが、驚くほどうまく機能します。この方法は、Windows が AppData フォルダーのリダイレクトを許可しているという事実に基づいています。

私の回答の短いバージョン:

  1. 別のユーザーとしてログオン
  2. 最初のユーザーのAppDataフォルダの内容をTrueCryptボリュームに移動する
  3. AppDataフォルダを削除し、TrueCryptボリュームを指すNTFSジャンクション(フォルダリダイレクト)に置き換えます。

詳細:

まず、管理者権限を持つ別のユーザーとしてログオンします。ログオン中のユーザーから AppData をコピーすることはできません。ファイルベースの TrueCrypt コンテナーを作成してマウントします。Windows エクスプローラーでユーザーのプロファイル パスを開き、アクセス権の取得要求を確認します。これは次の手順で重要です。AppData フォルダーを TrueCrypt コンテナーにコピーします。すべてのシステム ファイルとセキュリティ設定を適切にコピーするには、Windows エクスプローラーを使用せず、管理者特権のコマンド プロンプトから robocopy などのツールを使用します。

robocopy C:\Users\user\AppData x: /E /COPYALL /XJ /W:0 /R:0

ここで、x: はマウントされた TrueCrypt ボリュームです。これにより、すべての NTFS メタデータもコピーされます。/XJ スイッチを省略しないでください。省略すると、無限ループに陥ります。

Windowsが使用するAppDataへのパスを変更するには、2つの方法があります。最初の方法は、古いAppDataフォルダを完全に削除し、新しいものに置き換えることです。NTFSジャンクションこれは基本的に、1 つのフォルダー パスを別の場所に透過的にリダイレクトできる代替ショートカットです。古い AppData フォルダーを削除してジャンクションを作成するには、コマンド プロンプトを開き (2 番目のユーザーのまま)、次のように入力します。

rmdir /s c:\users\user1\AppData    
mklink /j c:\users\user1\AppData x:\AppData

ここで、x: はマウントされた TrueCrypt コンテナです。空ではないというメッセージが表示されて AppData フォルダを削除できない場合は、次の操作を試してください。Windows でファイル名が長すぎるファイルを削除するにはどうすればよいですか?(最初の答え)

2 番目のオプションは、レジストリに保存されている AppData へのパスを変更してソフト リダイレクトすることです。この方法では古い AppData フォルダーは削除されないことに注意してください。また、古いソフトウェアや品質の低いソフトウェアは、ハードコードされたパスを使用してレジストリからパスを適切に読み取らない可能性があるため、古い場所に書き込みを試行する可能性があります。ただし、これは非常にまれであり、このアプローチはほぼ同様に機能することがわかりました。方法は次のとおりです。

最初のユーザー アカウントで再度ログオンし、regedit を開いて次の場所に移動します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

次に、「AppData」と「Local AppData」の値を、TrueCrypt ボリュームを指すように変更します (例: X:\AppData\Roaming と X:\AppData\Local)。また、このレジストリ キー内の他のシェル フォルダー パス (デスクトップ フォルダーやダウンロード フォルダーなど) も変更して、それらも暗号化することもできます。その後、ログオフして再度ログオンすれば完了です。

すべてが正常に動作することを確認したら、2 番目のユーザーとして再度ログオンし、古い AppData フォルダーの内容を削除します (フォルダー自体は削除しないでください。問題が発生する場合があります)。

いずれの方法を使用する場合でも、今後はログオンのたびに TrueCrypt コンテナをマウントする必要があります。そうしないと、AppData フォルダが見つからないプログラムが正常に動作しなくなります。また、コンテナをマウントした後は explorer.exe を再起動する必要があります。これは、Windows が AppData フォルダに事前にアクセスしないとタスク バーとスタート メニューを正しく読み込めないためです。ログオン時に自動的に実行されるバッチ ファイルを使用してこのプロセスを自動化する方法は次のとおりです。

taskkill /f /im explorer.exe
"C:\Program Files\TrueCrypt\TrueCrypt.exe" /v "c:\users\user\AppData.tc" /ld /q
start "" explorer

奇妙なログオン プロセスを除けば、すべてが正常に動作します。

古いプログラムとの互換性を保つために、ユーザーフォルダのルートにある従来の特別なフォルダのリダイレクトも変更する必要があります。コマンドプロンプトを開き、ユーザールートフォルダに移動して次のように入力します。

dir /a

JUNCTION エントリを探します。最も重要なのは、「Application Data」と「Local Settings」です。これらはまだ古い AppData フォルダを指しています。これらを削除し (del コマンド)、再度作成して (mklink /j コマンド)、正しいパスにリンクします。

関連情報