2016-01-17

[windows] 復元ポイントに保存されたレジストリを閲覧する (Windows Vista 以降用)

管理者コマンドプロンプトにて、vssadmin list shadows、とすると復元ポイントごとの保存先アドレスが、項目「シャドウ コピー ボリューム」に表示されます。通常の復元機能では見えるコメント欄がないので、通常の復元機能の方で日時の当たりを付けておくと良いと思います。

出力例
Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>vssadmin list shadows
シャドウ コピー セット ID: {0000000-1111-2222-3333-444444444444} の内容
   1 個のシャドウ コピー、作成時刻: 2015/12/26 8:39:27
         シャドウ コピー ボリューム: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
         元のコンピューター: PC123
         サービス コンピューター: PC123
         プロバイダー: 'Microsoft Software Shadow Copy provider 1.0'
         種類: ClientAccessibleWriters
         属性: 恒久, クライアント アクセス可能, 自動リリースなし, 差分, 自動回復

しかしとてもアクセスしにくいので mklink でシンボリックリンクを作成すると便利です。mklink /d SRC DEST で、DEST 末尾の \ を追加で付ける必要があるので注意してください。

C:\WINDOWS\system32>mklink /d c:\shadowcopy1 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
c:\shadowcopy1 <<===>> \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\ のシンボリック リンクが作成されました

この後は c:\shadowcopy1 に対して、エクスプローラーで閲覧したり、ファイルをコピーしたりすることが出来るようになります。

レジストリを閲覧するには、レジストリエディタ regedit で、HKEY_LOCAL_MACHINE を選択後レジストリハイブの読み込み機能で、例えば C:\shadowcopy1\Windows\system32\config\SYSTEM を適当な名前 system_shadowcopy1 で読み込み、中を閲覧することができます。不要になりましたらこのキーをアンロードすれば元に戻ります。

リンク
A simple way to access Shadow Copies in Vista - Antimail - Site Home - MSDN Blogs
レジストリにハイブを読み込む
[windows] 復元ポイントに保存されたレジストリを閲覧する (Windows XP用) - Windows Vista 以降では復元ポイントごとにレジストリがコピーされるわけではなく、ボリュームシャドウコピーの中に丸ごと保存されているようなので、以前の記事を更新しています。