PageFile.sys が配置されているボリュームのバックアップとリストアについて
こんにちは、日本マイクロソフト Windows サポート チームです。
マイクロソフトでは、Windows Server の標準のバックアップ ソフトウェアとして、
Windows Server バックアップの機能が提供されており、様々なお客様にご使用
いただいております。
今回は、この Windows Server バックアップで取得対象のボリュームに PageFile.sys が
配置されていた場合のリストア時の注意点 (発生し得るエラー) や動作についてご説明したい
と思います。
なお、今回は特定のシナリオに沿った内容となりますが、Windows Server バックアップについては、
さまざまな公開情報がリリースされていますので、基本的な動作や付随する機能などについては、
その他の情報も、ぜひご確認ください。
-公開情報
Windows Server バックアップにおける容量と世代管理について
https://blogs.technet.microsoft.com/askcorejp/2016/05/27/windows_server_backup_space_management/
ボリューム シャドウ コピー サービス (VSS) について
https://blogs.technet.microsoft.com/askcorejp/2018/08/15/aboutvss/
================================
■ 今回のエラー発生の流れ・手順
================================
上述しました通り、今回はバックアップ対象のデータ ボリュームに PageFile.sys が配置されて
いる事に起因して、発生する可能性があるエラーを中心にご説明したいと思います。
発生条件は至ってシンプルで、どの環境でも発生する可能性がありますが、弊社では以下の
ような構成で事象を再現させてみました。以下の手順に沿って、PageFile.sys が配置されている
ボリュームのバックアップ データを復元すると、事象としては 100 % 発生します。
[構成]
------
//Windows Server 2012 R2
//バックアップ対象 : D:\ (ボリューム単位)
//バックアップ格納先 : E:\
//ページファイル配置場所 : C:\pagefile.sys と D:\pagefile.sys
[再現手順]
-----------
1) [サーバー マネージャー] - [Windows Server バックアップ] - [ローカル バックアップ]
- [単発バックアップ] の順にバックアップ ウィザードを進めて、まずはリストアに使用する
バックアップ データを作成します。(バックアップ対象は PageFile.sys が配置された
ボリュームを選択します)
2) [別のオプション] - [カスタム] - [項目の追加] から [ボリューム (D:)] に
チェックボックスを入れて、[OK] ボタンを押下します。
3) [次へ] を押下してバックアップ格納先を [ローカル ドライブ] - [ボリューム (E:)]
と設定して、バックアップ処理を開始します。
4) バックアップ処理の完了後、[Windows Server バックアップ] の右ペインの [回復] から、
回復ウィザードを開始します。
5) [このサーバー] を選択して [バックアップの日付の選択] から、リストア対象の
日付および時間帯をカレンダー情報から選択します。
6) 復元方法として [ボリューム] を選択して、復元対象のチェックを入れて
[回復先ボリューム] も [ボリューム (D:)] を選択します。
7)回復先ボリュームの現在のデータが失われる旨のポップ アップ表示されますので、
[はい (Y)] を押下して、操作を進めて [回復 (R)] ボタンから処理を実行します。
※ すると、今回のエラー シナリオとなる以下の "アクセス拒否" を示すエラーが
Windows Server バックアップ GUI 上で出力されて、復元処理が失敗します。
なお、上記の各エラーは上記ステップの 6) で "ファイルおよびフォルダー" の
復元方法を選択した場合には出力されず、正常に処理が完了します。
============================
■ 今回のエラー発生のシナリオ
============================
このエラー発生時の処理および操作時の動作状況を、ログを採取して確認してみると、
以下のように各リストア処理が実行されており、復元方法の選択によって若干の
違いが確認できました。そして、この違いによりエラーの出力可否が判断されて
いました。
<ボリューム単位のリストア時>
-----------------------------
ボリューム単位の復元では、復元対象のボリュームをディスマウントした上で
リストア操作が実施されていました。しかし、そもそも Windows OS では PageFile.sys が
配置されているボリュームはディスマウント処理が実施できません。("アクセス拒否" で失敗します)
このため、上述の "アクセス拒否" エラーが発生していました。
<ファイルおよびフォルダー単位のリストア時>
-----------------------------------------
一方、ファイルおよびフォルダー単位のリストア操作では、ボリュームのディスマウント
処理は実行されません。そのため、ボリューム単位でリストアした際に確認できた "アクセス拒否" の
エラーが出力されない動作となっていました。
なお、Windows Server バックアップを使用したバックアップおよび、リストア処理では
Pagefile.sys などをバックアップおよびリストア対象外から除く既定動作が組み込まれておりますので、
("FilesNotToBackup [以下公開情報]" をご存知の方もいるかもしれません)、いずれのバックアップ操作
およびリストアにおいても PageFile.sys がリストアされる事はありません。
Registry Keys and Values for Backup and Restore
/en-us/windows/desktop/backup/registry-keys-for-backup-and-restore
(抜粋 : The FilesNotToBackup registry key specifies the names of the files and directories that
backup applications should not backup or restore.)
ただし、ボリューム単位でリストアした場合には、ボリュームをディスマウントした上で復元を行いますので、
上記エラーの影響を受ける形となります。
[参考情報]
ボリューム単位のリストアでは、復元後に除外対象 ("FilesNotToBackup” 対象) のファイルを復元先
ボリュームから削除する事で "FilesNotToBackup" を実現しており、ファイルおよびフォルダー単位で
リストアした場合には、そもそも除外対象をバックアップ時点で対象に含まない事により、"FilesNotToBackup"
設定を実現しています。
今回の直接的なエラー発生要因は、ボリューム単位でのリストア時の動作に、対象ボリュームの
ディスマウントが実装されている事となりますが、"FilesNotToBackup" の挙動についても併せて
確認が出来ましたので、ご参考までにご紹介いたします。
========================================
■ 有効なリストア手法 (回避策) について
========================================
上述しました通り、回復対象ボリュームに PageFile.sys が存在している場合には、ディスマウント処理にて
失敗する状況が確認できていますので、一旦対象ボリュームから PageFile.sys を削除した後、回復操作を
ご実施いただく事で今回のエラーを回避する事が可能です。(※ 回復完了後には、改めて PageFile.sys を
ご設定ください)
以下に手順をおまとめいたしますので、同様な事象に遭遇した際には、ぜひご確認・ご対応いただければ
と思います。
手順:
------
1) [マイコンピュータ] のプロパティから、[システムの詳細設定] - [詳細設定] タブ -
[パフォーマンス] 内の [設定] を開き、さらに [詳細設定] タブを選択します。
2) [仮想メモリ] 欄の [変更] を押下して、復元対象ボリュームを選択の上、
[ページング ファイルなし] にチェックを入れて、すぐ右の [設定] を押下します。
3) [OK] を連続して押下して、再起動を促すポップアップ通りに、システムを
再起動します。
4) OS 起動後に、対象ボリュームに PageFile.sys が無い事を確認し、Windows Server バックアップ
GUI から、ボリューム単位で回復操作を実施します。
5) 回復完了後には、改めて上記 1) から 3)の順に展開して、対象ボリュームに
ページング ファイルを設定ください。([カスタム サイズ] から [初期サイズ] と
[最大サイズ] を入力して、すぐ右の [設定] を押下します。設定の反映には
再起動が必要となりますので、ポップアップなどに従いシステムを再起動ください)
※ なお、リストア時に "ファイルおよびフォルダー単位" で復元いただく事で
今回のエラー自体は発生する事なく、対象ボリュームをリストアする事が可能です。
ただし、もし対象ボリューム上のデータを何らかのアプリケーションが使用していた場合や、
これらデータが PageFile.sys 上に配置されている場合には、リストア操作 (ファイルの
変更が突如行われる事) によって、予期しないエラーが発生する可能性も考えられますので、
ここでは一度 PageFile.sys を削除する手順を含めて、ご案内しています。
以上が、PageFile.sys が配置されたバックアップおよびリストアに関するエラー発生時の
状況と対処策のまとめとなります。本ブログが少しでも皆様のお役に立ちますと幸いです。
-その他、参考情報 (ブログ情報) のご紹介
Windows Server バックアップでのリストアディスクの選択について
https://blogs.technet.microsoft.com/askcorejp/2018/04/03/backuprestoredisk/
リストア時に エラー : 0x80042412 (VSS_E_ASRERROR_RDISK_FOR_SYSTEM_DISK_NOT_FOUND) が発生する事象について
https://blogs.technet.microsoft.com/askcorejp/2018/08/06/%E3%83%AA%E3%82%B9%E3%83%88%E3%82%A2%E6%99%82%E3%81%AB-%E3%82%A8%E3%83%A9%E3%83%BC-0x80042412-vss_e_asrerror_rdisk_for_system_disk_not_found-%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E4%BA%8B/
Windows Server バックアップにおける容量と世代管理について
https://blogs.technet.microsoft.com/askcorejp/2016/05/27/windows_server_backup_space_management/
ボリューム シャドウ コピー サービス (VSS) について
https://blogs.technet.microsoft.com/askcorejp/2018/08/15/aboutvss/