シャットダウン時に pagefile.sys をクリアする方法(Windows)

Windows の物理メモリ(RAM)が不足すると、一部のデータは pagefile.sys に書き出されます。pagefile.sys は「仮想メモリ」として機能します。通常、Windows はシャットダウン時に RAM の内容を消去しますが、pagefile.sys は自動的には消去されません。機密データの残留を防ぐために、シャットダウン時に pagefile.sys を削除する設定が用意されています。
重要用語(1行定義): pagefile.sys — Windows のディスク上にある仮想メモリ用ファイル。ClearPageFileAtShutdown — シャットダウン時に pagefile.sys を消去するためのフラグ。
準備:実行前の注意とバックアップ
重要: レジストリ変更やグループポリシーの編集は管理者権限が必要です。作業前にシステム復元ポイントを作成するか、重要データをバックアップしてください。
チェック項目:
- 管理者アカウントでログインしていること
- 既存のシステム復元ポイントを作成済みであること
- 影響を受けるコンピューターに残っている大容量のページファイル(速度低下の原因)がないか確認すること
グループポリシーでシャットダウン時に pagefile.sys をクリアする方法
グループポリシー(Local Group Policy Editor)で設定する方法は、ドメイン環境やローカルPCの両方で使えます。手順:
- Windows 検索を開く(Win + S)。
- 検索ボックスに “gpedit” と入力します。
- 検索結果から「グループ ポリシーの編集」をクリックして、ローカル グループ ポリシー エディターを起動します。
- 左ペインで次の順に移動します: Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options。
- 右ペインで「Shutdown: Clear virtual memory pagefile」ポリシーをダブルクリックします。
- 表示された画面で「Enabled(有効)」を選択します。
- OK をクリックして変更を保存します。
適用後、次回以降のシャットダウン時に Windows は pagefile.sys を消去します。ドメイン環境ではドメイン GPO を使って同じポリシーを配布できます。
レジストリでシャットダウン時に pagefile.sys をクリアする方法
ローカル グループ ポリシーが利用できないエディションの Windows(例: Home)では、レジストリを編集して同等の効果を得られます。作業前に必ず復元ポイントを作成してください。
手順:
- Win + R を押してファイル名を指定して実行を開きます。
- テキストボックスに regedit と入力して OK をクリックし、レジストリ エディターを起動します。
- ユーザー アカウント制御(UAC)プロンプトが表示されたら「はい」を選択します。
- 左ペインで次のキーに移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
- 右ペインで ClearPageFileAtShutdown をダブルクリックして編集します。
- 値データを 1 に変更して OK を押します(0 は無効、1 は有効)。
- レジストリ エディターを閉じ、PC を再起動またはシャットダウンして設定を確認します。
設定を元に戻す方法
- グループポリシー: 同じポリシー画面を開き、設定を「Disabled(無効)」または「Not Configured(未構成)」に戻します。
- レジストリ: ClearPageFileAtShutdown の値を 0 に戻すか、該当エントリを削除します。
変更を元に戻す場合も再起動が必要になることがあります。
影響と注意点
パフォーマンスへの影響
- pagefile.sys をシャットダウン時に消去すると、ファイルのサイズによってはシャットダウン処理が遅くなることがあります。特に大容量のページファイル(数十ギガバイト)がある場合は顕著です。
セキュリティ上の利点
- 再起動後に前回の仮想メモリの内容が残らないため、機密情報のディスク上残留リスクを低減できます。
いつ有効にすべきか
- 共有 PC、公共の端末、機密データを扱うワークステーションでは有効化を推奨します。
いつ無効にすべきか
- シャットダウン時間を最優先するシステム、または頻繁に大きなページファイルを使うサーバー環境では無効にすることを検討してください。
代替アプローチ
- pagefile を無効にする(RAM が十分にある場合のみ推奨)。
- 暗号化やディスク全体暗号(BitLocker など)でページファイルの内容を保護する。
簡単な手順(ページファイルを無効にする):
- コントロール パネル > システム > 詳細設定 > パフォーマンス設定 > 詳細設定 > 仮想メモリ を開く。
- 「ページング ファイルなし」を選択して再起動します(注意: メモリ不足エラーが発生する可能性があります)。
チェックリスト:実行前後に確認すること
- 管理者権限で操作しているか
- システム復元ポイントを作成したか
- pagefile のサイズとディスク空き容量を確認したか
- 企業ポリシーやセキュリティ要件に適合しているか
- 設定後にシャットダウン時間を測定して許容範囲内か確認したか
受け入れ基準
- シャットダウン後に pagefile.sys が再生成される(次回起動時に新しいファイルが作られる)ことを確認する。
- 機密情報がディスク上に残らないことを確認するため、必要に応じてアプリケーションログやメモリダンプも確認する。
- シャットダウン時間の増加が許容範囲内であること。
テストケース(例)
- テスト PC に 8GB 以上の RAM を用意。既存の pagefile サイズを確認する。
- レジストリで ClearPageFileAtShutdown を 1 に設定し、シャットダウンを 3 回実行して平均時間を測定する。
- pagefile.sys がシャットダウン後に削除されていることを確認する(再起動で新規作成される)。
- 値を 0 に戻し、元のシャットダウン時間に戻るか確認する。
1行用語集
- pagefile.sys: Windows がディスクに置く仮想メモリ用ファイル。
- ClearPageFileAtShutdown: シャットダウン時に pagefile.sys を消去する設定(0=無効、1=有効)。
- グループポリシー: Windows の設定を集中管理する仕組み。
よくある質問
Q: シャットダウンが遅くなったらどうする? A: ClearPageFileAtShutdown を無効に戻す、または pagefile サイズを見直す。代替として BitLocker 等でディスクを暗号化して残存リスクを下げる方法もある。
Q: レジストリ編集に失敗した場合は? A: システム復元ポイントからロールバックするか、バックアップしておいたレジストリのエクスポートをインポートして復旧する。
Q: サーバーでこの設定を有効にしても良いか? A: サーバー環境ではシャットダウン頻度と遅延の影響を評価してください。通常はサービスレベルと運用ポリシーに依存します。
まとめ
シャットダウン時に pagefile.sys をクリアすると、機密データのディスク残留リスクを減らせます。グループポリシーまたはレジストリで簡単に設定できますが、ファイルサイズによるシャットダウン時間の増加というトレードオフがあります。運用ポリシーと使用状況を踏まえて有効化の判断をしてください。
重要: レジストリやポリシーの変更前には必ずバックアップを取り、影響を受けるシステムでテストしてから本番に展開してください。