web-dev-qa-db-ja.com

Windowsがユーザーフォルダに不要な.regtrans-msファイルを再生成し続けるのはなぜですか?

これは これ からの後続の質問です。その回答で結論付けられているように、これらのファイルはおそらくレジストリトランザクションファイルです-ある時点でレジストリにマージされるべきであり、したがって安全に削除できるファイルです:

Windowsは、レジストリに変更を書き込むことが「安全」であると判断すると、そのようにします。その後、変更が行われたことを確認し、ファイルを削除して他のOSタスクに移動します。このプロセスで何かが失敗すると、これらのファイルを蓄積することになります。

分析が完了したら、最後のシステム起動前に作成されたこれらの.blfまたは.regtrans-msファイルを安全に削除できます。それらがレジストリに書き込まれる(または書き込まれるべき)方法がないため、ジャンクです。

ただし、 nlocker を使用してシステムからこれらのファイルを削除し、PCを再起動した後、Unlockerがファイルを正常に削除したにもかかわらず、PCが元のサイズに再生成されただけであることがわかりました。起動しました(更新されたタイムスタンプに注意してください):

enter image description here

元の質問への回答が主張するように、これらのファイルが実際に最後の再起動前にレジストリにプッシュされた単なるレジストリの変更である場合、Windows 7は、ファイルが存在しないことが判明するとすぐにそれらを再生成するのはなぜですか?

これらの「レジストリトランザクション」ファイルによって表される変更がレジストリに書き込まれず、マージも削除できない状態のままになっている可能性はありますか?ここではまったく別の何かが働いているのでしょうか?

1
Hashim

これらはトランザクションログファイルです。トランザクションプロセッサは一連のログレコードを保存します。これにより、操作全体を完全に終了できるか、完了できない場合、つまり変更が半分完了していない場合に完全にロールバックできることが保証されます。ログを効率的に書き込むには、ログレコードストレージ(ログファイル)を事前に割り当てる必要があります。トランザクションがコミットされてもログファイルは消えません。その中のスペースは管理されています。

実際のロギングは、ここで説明されている共通ログファイルシステムによって制御されます: https://en.wikipedia.org/wiki/Common_Log_File_System

レジストリサブシステムは、Hiveファイルをロードするとすぐにログファイルを作成すると思いますが、レジストリでの最初のトランザクション操作まで遅延する可能性があります。

1
dave

明確にするために、これらのファイルは、保留中のレジストリ書き込みを格納するために使用されます最後の起動前のものである場合とそうでない場合があります。それらのいくつかは現在のセッションからのものである可能性があり、それらのファイルは削除を防ぐためにほぼ確実にウィンドウによってロックされ、not削除する必要があります。それらのいくつかを削除したい場合は、どれが以前の起動からのものであり、安全に削除できるかを判断するのはあなた次第です。

さらに、システム上のアプリケーションがレジストリに再度書き込む必要がある場合、ファイルが再作成される場合があります。これは完全に正常であり、確かに避けられません。ほとんどの場合、アプリケーションは何らかの理由でレジストリに書き込んでいます。特に起動時。そのため、多くの場合、これらのファイルはWindowsを起動するとすぐに再作成されます。

正直なところ、なぜこれがそんなに気になるのかわかりません。ファイルは非常に小さく、ハードドライブ上で感知できるほどのスペースを占有しません。彼らはあなたが本当に多くを訪れる理由がないはずの場所にあります。また、デフォルトでは、Windowsの設定が工場出荷時の状態の場合はまったく表示されない隠しファイルです。 私のアドバイスはそれらを放っておいて無視することです

2
Cliff Armstrong