DEP関連を調べているときに「あれ?今はDEPが有効だっけ?無効だっけ?」と悩むことが多いので"Living Through Another Cuba(XTC)"を聴きながら調べてみた。
- How to determine that hardware DEP is available and configured on your computer(support.microsoft.com)
プロセッサがDEPに対応しているか確認する方法
- [コマンド プロンプト]を起動する。
- "wmic OS get DataExecutionPrevention_Available"と入力してEnterキーを押す。(入力する際に「"」は不要)
- "TRUE"と表示されれば対応、"FALSE"と表示されれば非対応。
起動中のOSでDEPが有効か確認する方法
- [コマンド プロンプト]を起動する。
- "wmic OS get DataExecutionPrevention_Drivers"と入力してEnterキーを押す。(入力する際に「"」は不要)
- "TRUE"と表示されれば有効、"FALSE"と表示されれば無効。
Windows XP(SP2) / 2003(SP1) / Vista / 2008 / 7 Ultimate / 8 Professionalの初期設定は下記の通り。
OS | DEPの初期設定 |
---|---|
Windows XP(SP2) | TRUE(有効) |
Windows Server 2003(SP1) | TRUE(有効) |
Windows Vista | TRUE(有効) |
Windows Server 2008 | TRUE(有効) |
Windows 7 Ultimate | TRUE(有効) |
Windows 8 Professional | TRUE(有効) |
起動中のOSでDEPのポリシーレベルを確認する方法
- [コマンド プロンプト]を起動する。
- "wmic OS get DataExecutionPrevention_SupportPolicy"と入力してEnterキーを押す。(入力する際に「"」は不要)
- 表示された数値を下記の表で確認する。
数値 | ポリシーレベル | 概要 |
---|---|---|
0 | AlwaysOff | DEPが無効 |
1 | AlwaysOn | 例外無く全てのプロセスでDEPが有効 |
2 | OptIn | 重要なWindowsのプログラムおよびサービスについてのみ有効 |
3 | OptOut | 例外を除く全てのプロセスでDEPが有効 |
Windows XP(SP2) / 2003(SP1) / Vista / 2008 / 7 Ultimate / 8 Professionalの既定ポリシーレベルは下記の通り。
OS | DEPの既定ポリシーレベル |
---|---|
Windows XP(SP2) | 2(OptIn) |
Windows Server 2003(SP1) | 3(OptOut) |
Windows Vista | 2(OptIn) |
Windows Server 2008 | 3(OptOut) |
Windows 7 Ultimate | 2(OptIn) |
Windows 8 Professional | 2(OptIn) |
Windows Server 2003(SP1)とWindows Server 2008が、例外を除く全てのプロセスでDEPが有効なことに驚いた。
ちなみに両OSとも初期設定では例外は登録されていない。
追記(2009/02/13)
Windows 7 Ultimate バージョン6.1(ビルド7000)の結果を追加した。
追記(2013/06/02)
Windows 8 Professional バージョン6.2(ビルド9200)の結果を追加した。