SC Suite v4.0 に含まれる Windows Search Index Extractor 1.3 ツールをテストしていたりするんですけど、Windows XP 上で Windows 7 の Windows.edb を解析させると(予想通り?)ページサイズが違うといってエラーになるのでサポートに問い合わせ...orz
とはいえ、XP+Windows Search が作成した Windows.edb ファイルは解析できて、日本語文字列も正常に出力されているように見えるのでなかなかヨサゲ!です。先日調べたEseDbViewerは同じ Windows.ebd ファイルの解析がエラーになって落ちるので実質使えるツールがこれしかない?!
で、XP上の Windows Search の Windows.edb ファイルをテストしているのですが、ちょっとはまったので忘れないようにメモ。
正常にシャットダウンされている場合には影響ないのですが、強制的に電源を断したり、稼働中システム(ライブ・フォレンジック)から取得した Windows.edb ファイルを解析しようとすると、ダーティな状態(State: Dirty Shutdown)なので、ツールがこれを処理できない場合があります。
C:\case\XP\Windows>esentutl /mh Windows.edb Microsoft(R) Windows(TM) Database Utilities Version 5.1 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating FILE DUMP mode... Database: Windows.edb File Type: Database Format ulMagic: 0x89abcdef Engine ulMagic: 0x89abcdef Format ulVersion: 0x620,9 Engine ulVersion: 0x620,9 DB Signature: Create time:01/08/2010 12:10:04 Rand:1793142014 Computer: cbDbPage: 8192 dbtime: 174 (0xae) State: Dirty Shutdown
esentutilコマンドの Repair (/p)オプションを使うとダーティー状態を修復できるようなのですが、この手順で良いのかもう少し確認が必要かもしれません。とりあえずこれを実行した後であればツールから処理できたので結果オーライではあるんですが...トランザクションログを適用しないとか細かい動作内容については別途確認する必要があるかもしれません。
C:\case\XP\Windows>esentutl /p Windows.edb Microsoft(R) Windows(TM) Database Utilities Version 5.1 Copyright (C) Microsoft Corporation. All Rights Reserved. Initiating REPAIR mode... Database: Windows.edb Temp. Database: TEMPREPAIR7088.EDB Checking database integrity. The database is not up-to-date. This operation may find that this database is corrupt because data from the log files has yet to be placed in the database. To ensure the database is up-to-date please use the 'Recovery' operation. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Scanning the database. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Repairing damaged tables. Scanning Status (% complete) 0 10 20 30 40 50 60 70 80 90 100 |----|----|----|----|----|----|----|----|----|----| ................................................... Repair completed. Database corruption has been repaired! Note: It is recommended that you immediately perform a full backup of this database. If you restore a backup made before the repair, the database will be rolled back to the state it was in at the time of that backup. Operation completed successfully with 595 (JET_wrnDatabaseRepaired, Database corruption has been repaired) after 34.938 seconds.