@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

ESENTUTLコマンドによる修復

先日、ESENTUTLコマンドを使って Windows Search の windows.edb ファイルがダーティー状態なのを修復したのですが、なんとなくRepair (/p)オプション利用で良いのか悩んでいます。
ディスクイメージにトランザクションログが存在しているのであれば、トランザクションログから復旧を行なう Recovery(/r)オプションを指定した方が、トランザクションログに含まれる情報を反映した上でダーティ状態を解除できるということになる?気がしています。(逆にトランザクションログを反映したくない場合には /p を使う?)
Recoveryモードによる修復では、ログファイルを指定することになるので、とりあえず Documents and Settings\All Users\Application Data\Microsoft\Search\Data\Applications\Windows フォルダを丸ごとコピー。でログファイルの基準となる3文字を指定せよ!ということなんですが、Windows Searchのログファイルってどれを指定すればいいんですかね...orz

2010/01/14  12:06    <DIR>          .
2010/01/14  12:06    <DIR>          ..
2010/01/14  12:06    <DIR>          Config
2010/01/14  12:06    <DIR>          GatherLogs
2010/01/14  11:59             8,192 MSS.chk
2010/01/14  11:58           131,072 MSS.log
2010/01/14  11:58           131,072 MSS01145.log
2010/01/14  11:50           131,072 MSStmp.log
2010/01/14  12:06    <DIR>          Projects
2010/01/08  12:10           131,072 res1.log
2010/01/08  12:10           131,072 res2.log
2010/01/13  09:17         2,113,536 tmp.edb
2010/01/13  09:17       236,994,560 Windows.edb

なんとなく、MSS か res になる気がするんですが、タイムスタンプから予測すると MSS ですかね?まぁなんか違う気がしているんですが、とりあえず実行してみる。

C:\case\XP\Windows>esentutl /r MSS /8

Microsoft(R) Windows(TM) Database Utilities
Version 5.1
Copyright (C) Microsoft Corporation. All Rights Reserved.

Initiating RECOVERY mode...
    Logfile base name: MSS
            Log files: <current directory>
         System files: <current directory>

Performing soft recovery...

Operation terminated with error -1216 (JET_errAttachedDatabaseMismatch, An outst
anding database attachment has been detected at the start or end of recovery, bu
t database is missing or does not match attachment info) after 10.172 seconds.

やっぱり違いますか、そうですか。resも違うようなので、やっぱり /p でいくか。