2012-11-23

Windows 8 のリフレッシュ機能を試してみました

Windows 7 から Windows 8 にアップグレードしたらもともと入っていた IME 2010 がインストーラーの不具合?で削除できなくなってしまったので、興味のあった PC のリフレッシュ機能を試してみました。

リフレッシュ機能とはドキュメントや写真、音楽などのファイルを受け継ぎつつ OS を初期化する新機能で、コンピュータの復元でも回復できないとき (セーフモードでも起動しないような、起動に必要なファイルが破損している状況など) でもこれを使えばかなり強力に復活できるように見えます。

この機能にアクセスする方法は PC 設定>全般>PC をリフレッシュする、もしくは起動失敗時にブートマネージャーが自動的に出してくれる回復用画面より選択できます。

リフレッシュに伴ってレジストリと Program Files, AppData, ProgramData は C:\Windows.old 内に移動されました。Windows ストアからインストールしたアプリは自動的に再インストールされ復活しました。Windows のほとんどの設定は、システムとユーザーアカウント固有の設定ともに受け継がれるようです。

インストールされていた従来型のアプリケーションとその設定は消滅しますが、インストールされていたアプリケーションの一覧という遺書をリフレッシュ時にデスクトップに HTML 形式で保存してくれるのが役に立ちました。

詳しい説明
リフレッシュ機能は OS のインストール時に自動的に作成される C:\ESD\Windows に保存されたインストールイメージを用いて Windows 8 をデータ受け継ぎ方式で再度インストールを実行する仕組みのようです。したがってリカバリディスク作ってないや派の人や、インストールメディアを作らずアップグレードした人、自力でアップグレードしたからリカバリディスクが Windows XP しかない人でも安心して(?) OS を破壊できることになります。

レジストリや AppData が自動的に受け継がれない理由はおそらく、システムと密結合した設定が保存されるので、リフレッシュ後にも障害が残ることを危惧してこのようにクリアされるようになっているのだと思います。

リフレッシュ時に Chrome のプロファイルはリセットされますが、C:\Windows.old\Users\USERNAME\AppData\Local\Google\Chrome から必要なだけ持ってくれば復活します。

古い環境からのファイルの救出が完了したあと C:\Windows.old を削除しようとするとアクセス権限が面倒くさいことに気づくと思います。管理者なら任意のオブジェクトの所有権を奪還する特権を行使してアクセス権を再設定すれば削除できますが、簡単に削除するには Windows 付属の ディスク クリーンアップ を使うとよいです。
Windows.old フォルダーを削除する方法 - Microsoft Windows ヘルプ

C:\ESD\Windows も「Windows ESD インストールファイル」という項目で同様に削除できますが残しておくと便利だと思います。

C:\ESD\Windows を削除してしまっていたり、ブートマネージャーも含めて壊れてしまっているときはインストールメディアで起動すれば修復機能が使えます。

参考
PC を復元、リフレッシュ、または初期状態に戻す方法 - Microsoft Windows ヘルプ