New Coreinfo (v3) ~ご使用上の注意~ のフォローアップ
2 か月ほど前に、「New Coreinfo(v3)~ご使用上の注意~ (2011/09/12)」という投稿をしました。Windows Sysinternals の Coreinfo がパワーアップして、プロセッサの仮想化関連の機能をダンプする機能 (-v オプション) が追加されたという話です。
この投稿を書いている時点で、Coreinfo の最新バージョンは v3.02 です。日本語サイトはあいかわらず、v2.x の情報のままアップデートされていませんが、ダウンロード先は同じなのでご安心を。
■Coreinfo v3.02 (Published November 10, 2011)
[URL] http://technet.microsoft.com/en-us/sysinternals/cc835722 (英語の説明)
[URL] http://technet.microsoft.com/ja-jp/sysinternals/cc835722 (日本語の説明)
Coreinfo v3 で新たに追加された -v オプションは、次のスクリーンショットのように、ハードウェア仮想化支援機能 (Intel VT や AMD-V) や SLAT 対応状況 (Intel EPT や AMD RVI/NPT) をチェックしてくれます。ちなみに、Coreinfo v3 では、プロセッサ機能の詳細なダンプをしてくれる -f オプションも追加されました。これに伴い、以前提供されていた ProcFeatures ツールは引退されました (日本語サイトはあいかわらず現役に見えますが、ダウンロード提供はずっと前に終了しています)。

Coreinfo v3 をハイパーバイザーが動いている環境 (Hyper-V のペアレント OS や、仮想マシン内の OS) で動かすと、Hypervisor is present と報告され、ハードウェア仮想化支援や SLAT をチェックしてくれないことは、以前の投稿でお知らせしましたが、v3.01 から警告メッセージ (Note: Coreinfo must be execute ...) を表示してくれるようになりました。ちょっとした心遣い、ありがとうと言いたいです (to Mark)。

ところで、AMD プロセッサの場合の結果はどうなるのか、気になっていました。AMD プロセッサのマシンとなると、我が家には、仮想化なんて関係ない Athlon XP 搭載の Windows XP ノートしか我が家にはありません。試しに、そのマシンで試してみたところ、-v オプションは何にも出力してくれませんでした。というか、-f オプション (引数なしだと -v オプション以外のすべてを指定したのと同じ) によるプロセッサ機能のダンプもできません。

仮想マシン環境で、Windows XP や Windows Vista で試してみましたが、どちらも同じ結果。どうやら、-v と -f オプションは Windows 7 (および Windows Server 2008 R2) 以降でないと動かないみたいです。つまり、Windows XP や Windows Vista では、Coreinfo v2.x 相当の機能しか利用できないということ (ProcFeatures が恋しい)。
というわけで、Windows XP ノート (512 MB メモリしかない) に VHD ブートで Windows 7 を一時的にぶち込み、Coreinfo v3 を実行してみました。結果は次のとおり。RVI ではなく、古い呼び名の方の Nested Page Tables 表記のほうを採用していました。

なんてことを時間をかけてやっていたんですが、もっと簡単な方法がありました。Windows Sysinternals の Strings ユーティリティを使えばいいんです。strings coreinfo.exe | find "AMD" でよかったんです。

Windows 8 というコード名で知られる次期 Windows では、OS 標準のツールで仮想化対応をチェックできるようになるみたいです。次のスクリーンショットは、プレベータ版の Windows Developer Preview 上で Systeminfo.exe と Msinfo32.exe (システム情報) を実行したもの。Systeminfo.exe には Hyper-V Requirements: という項目に対応状況がレポートされます。同じ情報が、Msinfo32.exe の System Summary にも出力されています。
