2007年07月26日

ダーティ・ビットとチェックディスク

DriveImage XML」でバックアップを毎日のように取得しているが、不具合が生じた。

特定のドライブで上図のようなダイアログが表示されてしまう。内容は「Could not parse file names  Your XML file might not contain file names」と書かれている。
「ファイル名が解析できない。XMLファイルにはファイル名が含まれていないでしょう」。確認するとXMLファイルは小さいしファイル名の一覧が無い。これではファイル単位でのリストアができない状態である。どちらかと言うとファイル単位でのリストアを多用している。

原因が判らずに数日経過して、暇ができたので究明することにした。

不具合が発生した前後のPC操作を振り返っていたら、思い出してきた。

PCがクラッシュした後、起動時にチェックディスク(CHKDSK)が走った。3ステップが完了して(Completeと出たので)PCは起動した。
しかしその後の起動時にも毎回チェックディスクが走る。邪魔なので調べたら、コマンドでチェックディスクを走らないように修正できる。Windowsのバグらしいが未修正のようである。コマンドプロンプトで
chkntfs /x e:
これで次回の起動時からはチェックディスクが走らないようになった。しかし就寝前のバックアップが正しく行われなくなってしまっていた。

直接関係あるかは判らないけれど、この状態になっている「ダーティ・ビット(Dirty Bit)」を消す方法は無いのだろうかと調べたが見つけられなかった。チェックディスクを実行して正常終了すれば消えるようだが、起動時のチェックディスクではOSが正しくしてくれないので、OSが完全に起動している稼動状態でチェックディスクを行えばダーティ・ビットを消してくれるのではないだろうか考えた。

エクスプローラでドライブをポイントして右クリックの「プロパティ」→「ツール」→「エラーチェック」で「ファイル システム エラーを自動的に回復する」「不良セクタをスキャンし、回復する」をチェックして「開始」しても「~排他アクセスが必要なため~」「~次回のコンピュータの再起動後に~」となってしまう。これでは堂々巡りである。英文のサイトでコマンドプロンプトでチェックディスクを行うとこの排他アクセスを解消する記述があったので、コマンドプロンプトで実行する。
chkdsk /f e:

そうすると「~このボリュームを強制的にマウントを解除しますか」と聞かれて実行できるようになった。
chkntfs /d
これでチェックディスクの状態を元に戻す。完了後、再起動してもチェックディスクは走らない。

そこで「DriveImage XML」を実行する。バックアップの最後に上図のエラーが出るので終了を待たなければならない。行きました。ファイル名を取得している画面が出ているのと、ダイアログが出されないので成功です。
「DriveImage XML」の「Browse」で確認するとファイル名を読み込んでツリーが表示されました。

「DriveImage XML」はDirty Bitがセットされた状態では、バックアップは取得できるがXMLファイルが作成されないようです。(Program Logicを確認する手段は無く、現象からの推測ですが)

https://www.ktservices3.com/

投稿者 owner : 2007年07月26日