本日はWindows XPの「システムの復元」機能を解説しています。
「シーケンシャル番号」の意味
シーケンシャル番号とは各復元ポイントに割り当てられた番号です。Windows XPは,この番号を使って,設定された多数の復元ポイントを一元的に管理しています。この番号は,Windowsハンドルやプロセス・ハンドルなどと同じように,私たちユーザーが直接用意する番号ではありません。プログラマの方は,この番号を使用することにより,特定の復元ポイントを直接操作することができます。
「イベントタイプ」の意味
イベントタイプは,現在4種類あります。
イベントタイプ | 番号 | 内容 |
BEGIN_SYSTEM_CHANGE | 100 | システム変更発生通知 |
END_SYSTEM_CHANGE | 101 | 復元ポイントを取り消し通知 |
BEGIN_NESTED_SYSTEM_CHANGE | 102 | 最新インストーラなどが使用する |
END_NESTED_SYSTEM_CHANGE | 103 | 最新インストーラなどが使用する |
この情報はVisual C++プログラマが使用するSRRestorePtAPI.hというヘッダー・ファイルから取り出しています。より詳細を知りたいプログラマの方は,このヘッダー・ファイルをご覧になるとよいでしょう。
「復元ポイント作成」ウィザードで自分独自の復元ポイントを新規作成すると,通常はイベント・タイプとして100が設定されます。また,システムが自動的に作成する復元ポイント(補助プログラムが返す情報では,「説明」欄に「システムチェックポイント」という文字列が入っている)も同じようにイベントタイプ100となっているはずです。参考のために,100以外のイベントタイプの例を以下に示しておきます。
シーケンシャル番号: 39
説明: Installed Microsoft .NET Framework (English) v1.0.3705
イベントタイプ: 102 =>プログラムがインストールされたことを通知
復元ポイントタイプ: 0
作成日付: 20020202061940.564081-000
一般的には,100というイベントタイプ(システム変更通知)が使われる,と考えておいてください。
「復元ポイントタイプ」の意味
復元ポイントタイプとしては,現在次のような15種類が用意されています。
復元ポイント名 | 番号 | 内容 |
APPLICATION_INSTALL | 0 | アプリケーションをインストールした |
APPLICATION_UNINSTALL | 1 | アプリケーションをアンインストールした |
DESKTOP_SETTING | 2 | 現在未使用 |
ACCESSIBILITY_SETTING | 3 | 現在未使用 |
OE_SETTING | 4 | 現在未使用 |
APPLICATION_RUN | 5 | 現在未使用 |
RESTORE | 6 | 復元操作を行った |
CHECKPOINT | 7 | 復元ポイントを設定した |
WINDOWS_SHUTDOWN | 8 | 現在未使用 |
WINDOWS_BOOT | 9 | 現在未使用 |
DEVICE_DRIVER_INSTALL | 10 | デバイス・ドライバをインストールした |
FIRSTRUN | 11 | 初めて実行された |
MODIFY_SETTINGS | 12 | 設定修正を行った |
CANCELLED_OPERATION | 13 | 復元ポイントの設定取り消しを行った |
BACKUP_RECOVERY | 14 | バックアップ・ユーティリティで復元した |
この情報も先に紹介したSRRestorePtAPI.hファイルから取り出しています。現在未使用となっている復元ポイントタイプは,システム・ブートやシャットダウン時の変更,あるいは,アクセス設定の変更なども将来的には復元(つまり,変更取り消し)の対象となることを示唆しています。今後どのような拡張がなされるのか楽しみなところです。
先ほど「初めての復元ポイント」を作成しましたが,その復元ポイントタイプは7でしたね。通常は,7が使用されています。参考のために,7以外の値を紹介しておきましょう。
シーケンシャル番号: 79
説明: Microsoft バックアップ ユーティリティ,回復
イベントタイプ: 100
復元ポイントタイプ: 14 =>バックアップユーティリティによる復元通知
作成日付: 20020317055232.214179-000
この情報は復元ポイントタイプとして14を持っていますから,次のように解釈できることになります。
“バックアップ・ユーティリティを使って一部データを回復したため(復元ポイントタイプ14),システムの一部が変更された(イベントタイプ100)。以前の状態を回復したければ,この復元ポイントを選択してほしい”念のために,次のような情報も紹介しておきましょう。Windows XPとインターネットの関係が密になればなるほど,この種の情報は今後さらに増えてくるでしょう。
シーケンシャル番号: 50
説明: 自動更新のインストール
イベントタイプ: 100
復元ポイントタイプ: 0
作成日付: 20020214234934.821329-000
この情報は次のように解釈できることになるでしょう。
“Windows XPの「自動更新」機能によりプログラムがダウンロードされ,インストールされた(復元ポイントタイプ: 0)。このため,一部のシステムが変更された(イベントタイプ: 100)。以前の状態を回復したければ,この復元ポイントを選択してほしい”
ここで,復元ポイントを次のように整理することにします。
“復元ポイントとは,ある時点で発生したイベントを取り消し,それ以前のシステム状態を回復するための操作情報である。取り消す対象となるイベントに関する詳細を知りたいときには,復元ポイントタイプを見ればよい”
それでは最後に,「システムの復元」機能使用前の確認事項をいくつか紹介しておきます。
「システムの復元」機能使用上の確認事項
すでに述べたように,「システムの復元」機能は初心者ユーザーを含むすべてのWindowsユーザーのために用意されています。少なくとも,初心者ユーザーでも簡単に使えます。事実,この機能を操作するためのオンライン情報は初心者ユーザーでも十分理解できるように,かなり整備されています。しかし,操作説明手順で触れているチェック・ボタン名称と,実際に表示されるボタン名称が食い違っていることなどもあり(すでに触れたチェックボタン以外にも食い違いが存在する),一部初心者ユーザーは混乱してしまう可能性があります。初心者ユーザーにとっては操作ボタンは重要な意味を持ちますから、ボタン名称の食い違いは些細な問題ではありません。早急なる対策が望まれます。
また,オンライン・ヘルプ情報を読んでみると,次のような機能上の制限が明記されています。
- ディスク領域サイズを変更すると復元機能が正常に機能しないこともある
- 「doc,htm,xlsなど」の拡張子を持つデータ・ファイルは復元されない
- 「マイドキュメント」フォルダ内のファイルは復元されない
- ハード・ディスク内に200MBの空き領域がない場合,復元機能は有効とならない
さらに,次のような情報は復元機能実行後も失われないとされています。
- 保存したドキュメント
- 電子メール
- 履歴
- お気に入り一覧
正直に言えば,私は「保存したドキュメント」と「データファイル」の違いをどのように解釈してよいのか分からず,不安を抱いています。このため,「システムの復元」機能はまずテスト環境を用意し,その環境で使える機能を絞りきる事前作業が必要ではないかと思います。
その際,「マイドキュメント」,「履歴」,「お気に入り」などはこの連載で詳しく取り上げた名前空間ですから,例えば,前回紹介した補助プログラムなどを復元操作の前後で実行し,作成される2種類のファイル情報を比較検討してみるとよいと思います。復元操作により失われない情報があるということは,復元操作により最新情報の一部が失われる可能性があると考えるのが自然であり,論理的ではないかと思います。
ちなみに,最近出荷された開発環境であるVisual Studio.NETは,「マイドキュメント」フォルダ内にソルーションやプロジェクトファイルなどを作成するようになっています(デフォルト設定時)。
不安ばかり述べましたが,「システムの復元」機能は,Windows XPの「自動更新」機能や「Windows Update」機能によるシステム変更履歴を追跡してくれることもあり,便利な機能であることは間違いないと思います。ありきたりですが,利用方法を見い出すことが大切といえます。
SRRestorePtAPI.hファイルから取得した復元ポイントタイプ情報を見れば分かるように,「システムの復元」機能は今後さらに拡張・強化されることが予告されています。皆さんが自分なりの使い方を見い出す過程で,本連載の補助プログラムが少しでもお役に立てれば幸いです。
それではまた次回お会いいたしましょう。本日はあえて次回予告をいたしません。お楽しみに!