本稿は「レッツ! Windows 7」と題して、Windows 7の便利な機能を中心に、初心者が判断に悩む設定や、気付きにくい場所に設けられた設定を解説していきます。Windows 7から初めてコンピュータに触る方はもちろん、Windows XP/Vistaからアップグレードした方も是非ご覧ください。また、読者からの質問をお待ちしておりますので、本稿末尾にあるリンクから投稿をお願い致します。今回は先月公開されたWindows XP Modeに対する更新プログラム「KB977206」について解説しましょう。
レッツ! Windows 7 - デスクトップ編(1)
レッツ! Windows 7 - デスクトップ編(2)
レッツ! Windows 7 - デスクトップ編(3)
レッツ! Windows 7 - 電源管理編(1)
レッツ! Windows 7 - 電源管理編(2)
レッツ! Windows 7 - 電源管理編(3)
レッツ! Windows 7 - ユーザーインタフェース編(1)
レッツ! Windows 7 - ユーザーインタフェース編(2)
レッツ! Windows 7 - Windows Update編(1)
レッツ! Windows 7 - ユーザーインタフェース編(3)
レッツ! Windows 7 - ユーザーインタフェース編(4)
レッツ! Windows 7 - デバイス編(1)
レッツ! Windows 7 - ホームグループ編(1)
レッツ! Windows 7 - ユーザーインタフェース編(5)
レッツ! Windows 7 - Windows XP Mode編(1)
レッツ! Windows 7 - Windows XP Mode編(2)
レッツ! Windows 7 - Windows XP Mode編(3)
レッツ! Windows 7 - Windows Media Player 12編(1)
レッツ! Windows 7 - Windows Media Player 12編(2)
レッツ! Windows 7 - ユーザーインタフェース編(6)
レッツ! Windows 7 - ユーザーインタフェース編(7)
レッツ! Windows 7 - システムメンテナンス編(1)
レッツ! Windows 7 - トラブルシューティング編(3)
レッツ! Windows 7 - リモートデスクトップ編(1)
レッツ! Windows 7 - リモートデスクトップ編(2)
レッツ! Windows 7 - リモートデスクトップ編(3)
レッツ! Windows 7 - バックアップ・復元編(1) レッツ! Windows 7 - バックアップ・復元編(2)
HAVをサポートしないCPUでも動作可能になったVirtual PC
本誌でも報じられたとおり、Windows XP Modeに対する更新プログラム「KB977206」が公開されました。元々Windows XP Modeは、Intel VTやAMD-VといったHAV(Hardware-Assisted Virtualization:ハードウェア仮想実行支援)機能を備えたCPUが必須となりますので、同機能目当てに上位エディションを導入したにもかかわらず、CPUが対応していなかった環境をお使いの方は、残念な思いをしたのではないでしょうか。
そのためMicrosoftは、お使いのコンピュータが搭載しているCPUがHAVをサポートしているか確認するツール「Microsoft Hardware-Assisted Virtualization Detection Tool」を公開していましたが、結局日本語にローカライズされることなく、その役目を終えることになりそうです(図01~05)。
図03 CPUがHAVをサポートしている場合は、画面のように表示されます。<OK>ボタンをクリックしてツールを終了させましょう |
図04 CPUがHAVをサポートしていない場合は、赤い「×」アイコンと共に未サポートであることを示すメッセージが表示されます |
図05 CPUがHAVをサポートしていても、BIOS上で無効なっている場合は、警告を示す「!」アイコンが表示されます。なおダイアログ下部にあるラジオボタンは検出結果をMicrosoftに送信するか否かの選択ですので、あえて選択する必要はないでしょう |
このCPU問題を解決するのが前述の「KB977206」。同更新プログラムを導入しますと、ハードウェア要件を軽減して、Windows Virtual PC実行時に必要とされてきたHAVを備えるCPUが不要になります。もちろんWindows XP Modeが動作するのは、Windows 7 Professional/Enterprise/Ultimateの3エディションに限定されているのは変わりませんが、これを機会にWindows XP Modeを導入してみましょう。なお、Windows XP ModeおよびWindows Virtual PCの導入手順は冗長ですので、拙著「Windows 7大百科」をご覧ください。
それでは、KB977206の適用を行ないます。Microsoftダウンロードセンターの該当ページにアクセスし、更新プログラムのダウンロードおよび導入を行ないましょう。コンピュータ再起動後は、Windows XP Modeが使用可能になります。また、64ビット版Windows 7をお使いの場合は、更新プログラムも64ビット版をお使いください(図06~10)。
図07 ダウンロードした「Windows6.1-KB977206-x86(x64).msu」をダブルクリックし、確認をうながすダイアログが表示されたら<はい>ボタンをクリックします |
図08 最初にライセンス条項が表示されますので、内容を確認し問題がないよう出れば<同意します>ボタンをクリックします |
なお、既にWindows XP Modeを構築した環境にKB977206を導入しますと、仮想マシンと物理コンピューター間のやりとりを向上させる「統合コンポーネント」のアップグレードが可能になります。<ツール>メニューから<統合コンポーネントのアップグレード>を選択して統合コンポーネントを更新し、ゲストOSを再起動しましょう(図11~13)。
図10 コンピュータ再起動後は、それまでエラーメッセージが表示されていたWindows Virtual PCが起動するようになり、Windows XP Modeの使用が可能になります |
図11 統合コンポーネントを更新するには<ツール>メニューから<統合コンポーネントのアップグレード>をクリックします |
図12 確認をうながすダイアログが起動しますので、<続行>ボタンをクリックします。なお、導入が始まらない場合は、ゲストOS上でCDドライブを開き、「Setup.exe」を実行してください |
図13-1 Windows Virtual PCの<Ctrl+Alt+Del>をクリックし、ゲストOSの<シャットダウン>ボタンをクリックします |
ちなみに今回筆者がでくわしたトラブルとして、KB977206適用時に発生する「この更新プログラムはお使いのコンピューターには適用できません」がありました。エラーコードなどを参考に調べてみますと、Windows Virtual PCがRC版の場合か、同アプリケーションを正しく検出できない場合に発生するようです。この問題は、Windows Virtual PCの実体となる「KB958559」を再導入することで解決しますので、同様のトラブルに遭遇した方はお試しください(図14)。
図14 「KB977206」を適用しますと、エラーが発生することがあります。これはWindows Virtual PCが何らかの理由で検出できない時に発生するようです |
HAVの有無はパフォーマンスに反映されるか
そもそもHAVとは、仮想環境上のOSが低レベルなハードウェア資源に対して行なう動作をCPUレベルで制御することで、無駄な処理を軽減し、パフォーマンスの向上を期待するというものです。Windows XP Modeの核となるWindows Virtual PCの前身であるVirtual PC 2007から同機能をサポートするようになりましたが、当時はHAVを実装したCPUも限られていたため、有効活用されていたとは言い難いものでした。
HAVの機能を具体的に説明しますと、仮想環境上のOS(ゲストOS)が発する特権命令(特別な権限を必要とする命令。通常命令と切り分けることで、プログラムが誤って特別領域やリソースを破壊するのを防ぐことができます)に対する操作がポイントとなります。そもそもユーザーモードで実行中のプログラムが、特権命令を実行しようとすると特権違反の例外が発生し、命令の実行が拒否されてしまいますが、OSは本来特権レベルで動作していることを前提にした設計になっています。
そこで一般的なエミュレータでは、問題が発生する特権命令を、問題がない命令にあらかじめ変換することで動作させてきました。この変換作業がオーバーヘッドとなり、ゲストOSのパフォーマンスダウンが発生しやすくなりますが、前述のHAVをサポートしたエミュレータでは、問題が発生する特権命令を実行時にトラップして処理を行なうため、特権命令に関するオーバーヘッドも発生しにくくなり、パフォーマンス向上となるわけです。
しかし、問題はOS全体の動作を踏まえますと、特権命令が必要な場面はさほど多くなく、HAVによるメリットも必然的に減ってしまうという点。場合によってはHAVによるトラップよりも、エミュレーションした方がスムーズに行く場合もあるでしょう。ここで気になるのが、今回のWindows Virtual PCに対する仕様変更。HAVの有無でどの程度の差が生じるのか気になる方も多いでは。早速BIOS上でHAVの有無を切り替えつつ、Windows Virtual PC上のWindows XPで、ベンチマークを取ってみました(図15)。
ThinkPad T60p
CPU:Intel Core 2 T7600 2.33GHz
メモリ:4GB(ゲストOSは512MB)
HDD:富士通 MHV2120BH
Windows 7 Ultimate 64ビット版
結果はご覧のとおり、ごくわずかな差しか生じていません。誤差の範囲内と言っても過言ではないでしょう。また、CPUやメモリといった項目ではHAVを無効にした状態の方が勝っている部分も見られます。この結果から今回公開されたKB977206の導入より、Windows XP Modeのパフォーマンスはさほど変化しないということがわかりました。
ただし、HAVが不要という訳ではありません。HAVが有効な環境では前述したロジックにより、ホスト側となるWindows 7への負担が減ることに変わりはありませんので、可能であればHAVを有効にした状態で使用すべきでしょう。
阿久津良和(Cactus)