@port139 Blog

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

システムの復元に必要なディスク領域

シャドウ コピーのテストのために、USB メモリを Vista に接続し NTFS でフォーマットしてみたのですが、「自動復元ポイント」の項目に表示されないので、なぜかな〜と思いヘルプを読んでみたところ、以下の記述がありました。

1 GB 未満のディスクでは、システムの復元は実行されません。

ディスクの領域が 1GB 以上あり、かつ空き領域が 300MB 以上存在している必要があるみたいですね。
デフォルトでは、システムディスクに対しては「自動復元ポイント」の作成が有効になっていますが、ほかのハードディスクなどについては、個別に設定する必要があります。
実際に復元ポイントで利用するのは、各ディスク領域の最大 15% ということのようですので、例えば 1GB であれば最大で 150MB ということでしょうか。
テストなのであまりサイズが大きいといろいろ面倒なので、ギリギリなサイズで試したいんですが、確か MVP で送られてきた USB メモリが 1GB くらいだったはずなんだけど、どこに置いたかな・・・<追記>
vssadmin Resize ShadowStorage のヘルプメッセージに書いてありますが、/MaxSize=MaxSizeSpec で指定するサイズは300MB以上である必要があります。たとえば、2GB の領域では 15% が 300MB となり、手元でテストしている印象ではシャドウコピーセットがサイズ的に一個しか作成できない(収容できない)ようです。2GB などの小さいパーティションでテストする場合には、/MaxSize=1000MB など少し広げてテストすると複数のシャドウコピーが作成されるようになるようです。

復元ポイントの作成間隔

Vistaのヘルプには、「復元ポイントは、通常は1日に1回作成されます」という記述がありますが、具体的に何時に実行されるのかについては記述がないようです。
とりあえず、タスクスケジューラを起動して、それらしいタスクを探してみると『SR』*1というタスクがあり、説明文が“このタスクでは標準のシステム保護ポイントが作成されます。”となっていることから、恐らくこれが復元ポイントを作成するためのタスクと思われます。
Windows Vista のデフォルト設定条件としては以下のような感じです。

  1. ユーザーがログオンしているかどうかにかかわらず実行する(ON)
  2. 毎日 0:00 に起動、システム起動時
  3. タスクを開始するまでのコンピュータのアイドル時間:10分間
  4. コンピュータをAC電源で使用している場合にのみタスクを開始する(ON)
  5. コンピュータの電源がバッテリに切り替わった場合は停止する(OFF)
  6. タスクを要求時に実行する(ON)
  7. スケジュールされた時刻にタスクを開始できなかった場合、すくにタスクを実行する(ON)
  8. タスクを停止するまでの時間:3日間
  9. 要求時に実行中のタスクが終了しない場合、タスクを強制的に停止する(ON)

タスクスケジューラの履歴タブを確認すると、過去の実行結果を確認することができるので、タスクスケジューラの履歴と、vssadmin list shadows の結果を比較してみたのですが、なぜか微妙に差異がありますね。
最新のシャドウコピーセットは以下の作成時刻になっていますが、該当時刻のタスクスケジューラ側の履歴には特になにもレコードがありません。

シャドウ コピー セット ID: {4cdefdbf-2058-4507-8bfa-e67a9852ffbf} の内容
1 個のシャドウ コピー、作成時刻: 2008/02/16 9:44:01
シャドウ コピー ID: {5595e0e8-3dbe-42f2-a9cf-2ac954087e32}
元のボリューム: (C:)\\?\Volume{8fb574fd-97b6-11db-8bb0-806e6f6e6963}\
シャドウ コピー ボリューム: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCop
y36

イベントログのシステムを確認したところ、2008/02/16 9:43:47 に「Volume Shadow Copy サービスは 実行中 状態に移行しました。」というレコードが存在しているので、サービスの開始段階で動きがあるということなのか、もう少し実験してみないとわかりませんねぇ。タスクのスタートアップ時の条件に従ったのであれば、タスクスケジューラの履歴に記録があってもよさそうな気がします・・・<追記>
システムの復元、を確認したところ推奨される復元の時刻として「2008/02/16 9:43:47 インストール:Windows Update」の記載があるので、恐らく上記のシャドウコピーは Windows Update により作成されたものである気がしています。<追記2>
KY な先生に参考 URL を教えていただいたのでメモ
http://www.mebius-faq.jp/faq/1030/app/servlet/qadoc?003450

*1:SystemRestoreの略称

シャドウコピーへのアクセス

作成されたシャドウコピーへのアクセスのため、「以前のバージョンに復元」をクリックすると、SMB 経由でアクセスするのでフォルダのパスが自動的に管理共有配下として表示されるみたいですね。

\\localhost\C$\@GMT-2008.02.16-00.44.01

エクスプローラの表示上は「ネットワーク⇒localhost⇒C$⇒C$(2008年2月16日9:44」という表示になっていますが。

シャドウコピーの領域サイズ

vssadmin list volumesコマンドで、シャドウコピーで利用するボリューム毎の最大領域と使用領域サイズの確認が可能ということで結果はこんな↓かんじ。

シャドウ コピーの記憶域関連付け
"/For" ボリューム: (C:)\\?\Volume{8fb574fd-97b6-11db-8bb0-806e6f6e6963}\
シャドウ コピーの記憶域ボリューム: (C:)\\?\Volume{8fb574fd-97b6-11db-8bb0-806e6
f6e6963}\
シャドウ コピーの記憶域の使用領域: 65.415 GB
シャドウ コピーの記憶域の割り当て領域: 67.638 GB
シャドウ コピーの記憶域の最大領域: 69.864 GB

この HDD は 500GB ですが、実際の領域は 465GB として認識されているので、その 15% というところですね。