仮想化ソフトウェア Microsoft Virtual PC の使い方

Contents


Virtual PCは、個人向けの仮想化ソフトウェアのひとつです。競合する製品としてはVirtual Box (Oracle), VMware Player(VMware)を挙げる事ができます。Virtual PCは対応しているゲストOSの種類は少ないものの、Windows XPの動作確認用途としては非常に有用です。

このページは、Windows環境にVirtual PCをインストールする方法とVirtual PCの使い方について説明を行います。

Virtual PCの用途

Virtual PCにはXP modeと呼ばれる「あらかじめ構成されたWindows XP環境」を使用するのに便利な仮想化ソフトウェアです。例えば、

  • IE6 (Internet Explorer 6)の動作確認
  • 怪しげなサイトの閲覧

という用途で使用する事ができます。「怪しげなサイトの閲覧」が可能なのは、仮にウィルスやアドウェアに感染してしまったとしてもホストOSに影響を与えないためです。このサイトの読者には多いと思いますが、CCIE関連の情報収集をしているとbuidu IME, hao123をインストールさせようとするサイトによく遭遇します。

Virtual PC – XP modeの動作要件

XP modeが使用できるのは以下のOSのみです。

  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 7 Enterprise

Windows 7 HomeはXP modeを使用する事ができません。また、Windows 8もXP modeを使用する事ができません。ですので、Windows 7 HomeやWindows 8の方は、あまりVirtual PCを使用するメリットがないと思います。

Virtual PC – Redhat系OS 対応状況

Virtual PCは32bitのみの対応です。また、Linux環境との相性が悪く、私が動作確認した限りでは、Redhat 6.3以下のOSしかインストールする事ができません。

Microsoft, Redhat, CentOSなどの正式な情報源からの発表な見つける事ができませんでしたが、私が行なった検証結果や以下ブログ, フォーラムから判断して、「CentOS 6.4以上はインストールできない」と結論づけて良いと思います。

Virtual PCのインストール

Virtual PCのダウンロード

検索エンジンを用いて、Virtaul PCのダウンロード可能なURLを探します。

以下のような画面にたどり着くと思いますので、「ダウンロード」を押下します。

microsoft_virtual_pc_download_001

「ダウンロードするプログラムを選んで下さい」とのメッセージが表示されます。ファイル名をよく見るとx86, x64と書かれていますので、CPUアーキテクチャに応じたファイルをダウンロードして下さい。「次へ」ボタンを押下すると、ダウンロードが開始されます。

microsoft_virtual_pc_download_002

Virtual PCのインストール

Windows Updateの画面が現れます。「はい」を押下して下さい。

microsoft_virtual_pc_install_001

ライセンス同意の画面が表示されます。「同意します」を押下します。

microsoft_virtual_pc_install_002

インストールが完了するまで待ちます。

microsoft_virtual_pc_install_003

以上でインストールが完了です。なお、設定が反映されるのはOS再起動後になります。

microsoft_virtual_pc_install_004

XP mode

XP mode の起動

Windows 7 Professional, Ultimate, Enterpriseの場合は、Virtual PCのインストールと同時にWindows XPの仮想マシンが作成されます。この仮想マシンは、”XP mode”と呼ばれます。

XP modeを使用するには、スタートメニューの「Windows XP mode」を押下して下さい。

xp_mode_boot_001

「Windows XP mode」を押下すると、以下のようにWindows XPの仮想マシンが起動されます。

xp_mode_boot_002

XP mode ネットワーク環境の設定 – 疎通確認

ネットワークアダプタの設定は、デフォルトでNATになっているはずなので、特に何もしなくてもインターネット環境へ接続する事ができます。インターネットへの疎通が可能である事を確認するため、8.8.8.8へのpingを送信します。また、名前解決ができるかどうかを確認するため、nslookupコマンドを実行します。

xp_mode_boot_003

XP mode ネットワーク環境の設定 – IE6によるブラウズ確認

通信経路や名前解決が正常であっても、IE6によるインターネット閲覧ができない事がよくありますInternet Explorer様は強情です。

環境によっては、IE6起動後に「ページを表示できません」とのメッセージが表示されるかもしれません。以下がIE起動時の画面ですが、画面下を見ると何やら怪しげな「サイト 192.168.1.1 に接続しております」とのメッセージが見えます。

xp_mode_boot_004

勘のよい人は「またお前か」と言いたくなるかもしれませんが、これはプロキシの設定が残ってしまっているためです。XP modeはVirtual PCインストール時のホストOS側のプロキシ設定を引き継ぎます

もし、不適切なプロキシ設定になっている場合は、IEのメニューからプロキシ設定を変更して下さい。なお、設定変更は、IE6の再起動を行わないと反映されない事に注意ください。

xp_mode_boot_005

XP mode 共有ディスク

Windows XP modeは共有ディスクという便利な機能があります。scp, rsyncのようなコマンドを使用しなくても、簡単にホストOS/ゲストOS間のファイル授受が可能です。

ゲストOSのマイコンピュータを開くと、「XXXXXのC」という共有ドライブが見えます。このドライブが、ホストOS側のCドライブに相当します。

shared_drive_001

ホストOS側のファイルが見える事を確認します。

shared_drive_002

この共有ドライブの機能は「統合機能」のひとつとして提供されています。もし、セキュリティ上の理由で、この共有ドライブの機能を無効化したいならば、仮想マシンの設定画面を開き「統合機能」の「ドライブ」のチェックボックスを外します。

shared_drive_003

仮想マシンのスナップショットとバックアップ

仮想マシンのスナップショットとバックアップの方法について説明します。なお、Virtual PCはほぼWindows専用と思われますので、Windows XP modeに特化した説明にします。

仮想マシンのスナップショット ( 復元ディスク )

Virtual PCでスナップショットに相当する機能を使うには、復元ディスクという機能を使います。復元ディスクとは、ディスクに対する変更の差分を記録する機能です。もし、復元ディスクを有効にしている状態で、何らかの操作ミスを犯してしまったならば、復元ディスクの内容を破棄する事によってロールバックが可能となります。

復元ディスクの有効化

復元ディスクを有効にするには、OSを停止状態にする必要があります。XP modeの場合ならば、まずAlt + Ctrl + Delボタンを押下します。

temp_disk_001

「シャットダウン」ボタンを押下します。

temp_disk_002

「シャットダウン」を選んで「OK」を押下します。

temp_disk_003

スタートメニューで「Windows Virtual PC」を押下します。

temp_disk_004

コンピュータの状態が「電源切断」状態になっている事を確認します。

該当の仮想マシン「WIndows XP Mode.vmcx」を選ぶと、「設定」ボタンが現れます。「設定」を押下して下さい。

temp_disk_005

「ディスクの復元」を選択し、「復元ディスクを有効にする」をチェックし、「OK」を押下します。

temp_disk_006

復元ディスクの動作確認 – アドウェア スパイウェアてんこ盛りマシーンの作成

簡単な動作確認をするため、わざとコンピュータウィルスに感染してみます。Windows XPの仮想マシンにアドウェア、スパイウェアをインストールします。

CCIEの情報収集をしている人ならば一度は見たことがある、Cisco IOSもどきをインストールしてみましょう。Cisco IOSなのに拡張子がexeになっていますが、迷わず実行します。発行元がシスコシステム合同会社ではなくVASSANA KONGSOONGNERNとなっていますが、迷わず実行します。

temp_disk_007 temp_disk_008

アドウェア てんこ盛りのUpdatestarからのダウンロードを実行してみましょう。

temp_disk_009 temp_disk_010

“Freemake Video Downloader”もインストールしてみましょう。このソフトは、よく説明文をよまないと悪名高いHao123, buidu IMEが一緒にインストールされます。

temp_disk_011 temp_disk_012

以上で、アドウェア, スパイウェアてんこ盛りマシーンが完成しました。トップページも見事Hao123に変わっています。

temp_disk_013

復元ディスクの動作確認 – ロールバック

仮想マシンのロールバックを行うには、仮想マシンの設定画面を開きます。「ディスクの復元」、「変更の破棄」の順番で押下して下さい。

temp_disk_014

仮想マシンのバックアップ

スタートメニュー「Virtual PC」でVirutal PCのフォルダをエクスプローラーで開きます。

この画面で、vmcxファイルが見えますが、vmcxファイルはバックアップの対象ではありません。vmcxファイルは、メモリ割当や仮想ディスクへのファイルパスなどを記述した設定ファイルです。バックアップを取るべき対象は、設定ファイルではなく仮想ディスクです。

仮想ディスクのファイルパスを調べるため、該当のマシンを選択した状態で「設定」ボタンを押下します。

microsoft_virtual_pc_backup_001

「ハードディスク」を押下すると、仮想ディスクへのファイルパスが分かります。このフォルダをエクスプローラーで開きます。

microsoft_virtual_pc_backup_002

このディレクトリに見えるvhdファイルが仮想マシンのディスクです。最低限ディスクのみバックアップを取得すれば、緊急時の復元は可能です。

microsoft_virtual_pc_backup_003

なお、バックアップの復元方法は後述の「仮想マシンの複製」と同じ手順になりますので、説明を省略します。

仮想マシンの複製

仮想ディスクが可能されたフォルダを開き、仮想ディスク(vhdファイル)の複製を作成します。

microsoft_virtual_pc_backup_004

仮想マシンのフォルダを開き、「仮想マシンの作成」を押下します。

microsoft_virtual_pc_backup_005

何か分かりやすい名前を「名前」欄に入力し、「次へ」を押下します。

microsoft_virtual_pc_backup_006

必要に応じてメモリサイズを変更し「次へ」を押下します。Windows XPの場合は512Mでも充分と思われます。

microsoft_virtual_pc_backup_007

「既存の仮想ハードディスクを使用する」を選択し、先ほど複製したvhdファイルを選びます。

microsoft_virtual_pc_backup_008

複製した仮想マシンを選択し、「開く」を押下します。

microsoft_virtual_pc_backup_009

XP Modeの仮想マシンを複製した場合は、以下のようなログオン画面が表示されます。パスワードは「password」でログインする事ができます。

microsoft_virtual_pc_backup_010

ネットワークアダプタの種類

ネットワークアダプタの種類 – 概要

多くの個人用仮想化製品は仮想OSに対して3種類のネットワーク構成を選択する事ができます。特に要件がない場合は、「NAT」アダプタを選択してDHCPによるアドレス取得を行なうのが最もトラブルの少ない構成です。

アダプタの種類概要
NATNATを介してインターネットへ接続する事ができるネットワークです。特別な要件がない場合は、「NAT」を選択して下さい。
ホストオンリー外部への接続が不要な場合に使用します。
ブリッジ外部ネットワークと直接つながる構成です。サーバとして接続したい場合に使用します。

原則としては上記の3種類のアダプタですが、使用可能アダプタやDHCPサーバの仕様は、仮想化製品によって微妙に異なります。いきなりVirtual PC固有の詳細な話をするのは混乱を招きますので、まずは一般論のお話をします。

ネットワークアダプタの種類 – NAT アダプタ

NATアダプタは、ホストOS内部にNATとDHCPを行う仮想ルータが存在する構成です。ゲストOSはNATルータを介して外部ネットワークに接続する事ができます。

virtual_pc_adapter_nat_001

ネットワークアダプタの種類 – ホスト オンリー アダプタ

ホスト オンリー アダプタは、ホストOSとゲストOSのみを接続する構成です。基本的にゲストOSは外部ネットワークに接続する事ができません。

virtual_pc_adapter_host_only_001

ネットワークアダプタの種類 – ブリッジ アダプタ

ブリッジアダプタは、ホストOSとゲストOSが同一のセグメントに存在するネットワーク構成です。外部ネットワークと直接接続されていますので、ゲストOSをサーバとして公開したい時に有効です。

しかし、外部ネットワークにつながっているので、ミスを犯した時の影響が実ネットワークにまで及んでしまいます。ですので、DHCPやOSPF等のネットワーク系の検証を行う際は、社内SE部門に迷惑がかからないように充分に配慮しましょう。また、port security, 802.1x等のlayer2ネットワークの制御がある場合は疎通不能となります。

virtual_pc_adapter_bridge_001

Virtual PC ネットワークアダプタの設定

Virtual PC – 共有ネットワーク(NAT)の設定

「共有ネットワーク(NAT)」とは、他の仮想化製品のNATアダプタに相当する概念です。

共有ネットワーク(NAT)を使用すると、Virutal PCが提供するDHCPサーバ, DNSサーバ, NATルータを経由してインターネットに接続する事ができます。NATは一番トラブルが少ない構成なので、ネットワークが苦手な人は迷わずNATにしておきましょう。

デフォルト設定は「共有ネットワーク(NAT)」です。もし、NATになっているかどうかを確認するには、仮想マシンの設定画面で「ネットワーク」を押下して下さい。アダプターが「共有ネットワーク(NAT)」になっている事を確認します。

microsoft_virtual_pc_network_adapter_nat_001

さて、「共有ネットワーク(NAT)」の動作確認を行います。

アダプターの設定が「共有ネットワーク(NAT)」になっている状態で仮想マシンを起動させます。ゲストOS側のIPアドレスの設定を確認するために、コマンドプロンプトで「ipconfig /all」と入力します。コマンドの出力は以下の通りです。Virtual PCに同梱されたDHCPサーバがIPアドレスとDNSを提供し、自動的にインターネットに接続する事ができます。

この出力で表示される”192.168.131.0/24″というネットワークは、ホストOS側から認識されていないネットワークです。Virtual PCが内部的に使用するネットワークで、ホストOSのネットワークアダプタではありません。

共有ネットワーク(NAT)を使用する場合は、ホストOS/ゲストOS間で直接TCP/IPを使用した通信はできません。ゲストOS/ホストOS間でのファイル授受などの操作を行う場合は、「統合機能」などのVirtual PCが提供する機能を使用するようにして下さい。

念のため、インターネットへの接続が可能である事も確認しましょう。コマンドプロンプトを開き「ping 8.8.8.8」を入力した結果は以下の通りです。

Virtual PC – 内部ネットワークの設定

「内部ネットワーク」とは、他の仮想化製品の「ホストオンリー アダプタ」に相当する概念です。

「内部ネットワーク」を使用するには、仮想マシンの設定画面で「ネットワーク」を押下し、アダプターを「内部ネットワーク」とします。

microsoft_virtual_pc_network_adapter_local_001

内部ネットワークの動作確認を行うため、以下のような構成になるよう仮想マシンを設定します。

microsoft_virtual_local_test_001

OS起動直後の設定を確認しましょう。この状態でipconfigを入力すると、以下のような結果が返されます。「ローカルエリア接続 2」に対して付与された169.254.0.XXというアドレスは、APIPA (Automatic Private IP Address)と呼ばれるアドレスで、DHCPでアドレス取得ができなかった時に表示されます。

Virutal PCの内部ネットワークには、DHCPサーバが存在しないので、静的にアドレスを割り当てなければなりません。コントロールパネルから「ローカルエリア接続 2」に対してIPアドレスを設定します。

microsoft_virtual_local_test_002

動作確認の都合上、Windows Firewallを無効化します。これはPingに対する応答を返すようにするためです。

microsoft_virtual_local_test_003

仮想マシン間での疎通が可能である事を確認します。

microsoft_virtual_local_test_004

Virtual PC – 任意のネットワークアダプタ

Virtual PCは任意のネットワークアダプタと接続する事ができます。これは他の仮想化製品の「ブリッジアダプタ」に近い概念です。

「内部ネットワーク」を使用するには、仮想マシンの設定画面で「ネットワーク」を押下して下さい。次に、アダプターのプルダウンメニューから任意のネットワークアダプタを選択します。以下のスクリーンショットは、無線のアダプタと接続する設定例です。

microsoft_virtual_pc_network_adapter_wifi_001

設定後、ゲストOSのコマンドプロンプトで「ipconfig」を入力します。すると、自動的にIPアドレスが割り当てられている事が分かります。

ホストOS側でも「ipconfig」を入力します。ゲストOSもホストOSも同一のセグメントに所属し、同一のDNSサフィックスが割り当てられている事が確認できます。

Tips

Linux 仮想マシンの作成

Virtual PCでLinux 仮想マシンを作成する方法を説明します。ただし、Virtual PCでLinuxを作成するのは非常にトラブルが多いです。もし、Linuxが必要ならば、VMware PlayerやVirtualBoxを検討した方が無難です。

Linux 仮想マシンの作成

Virtual PCのインストールが完了すると、スタートアップメニュー内に「Virtual PC」が現れます。「Virtual PC」を押下して下さい。

microsoft_virtual_create_guest_os_001

一見すると普通のエクスプローラーに見えますが、メニューを良く見ると「仮想マシンの作成」というボタンがあります。「仮想マシンの作成」を押下して下さい。

microsoft_virtual_create_guest_os_002

仮想マシンに対して分かりやすい名前をつけます。「名前(M)」欄に仮想マシン名を入力し、「次へ」を押下します。

microsoft_virtual_create_guest_os_003

VMware, Virtual Boxはメモリ512Mでも動作させる事ができますが、Virtual PCの場合は2048M以上のメモリを割り当てないとLinuxインストールの途中でクラッシュしてしまいます。

必ずメモリを2048M以上に設定してから「次へ」を押下して下さい。なお、OSインストール後は、メモリ割り当てを減らしても差し支えございません。

microsoft_virtual_create_guest_os_004

ディスクに関する設定画面です。デフォルト設定で差し支えございませんので、そのまま「次へ」を押下します。

microsoft_virtual_create_guest_os_005

以上で、仮想マシンの作成が完了です。

仮想マシンの設定 (ISOファイルのマウントなど)

次に仮想マシンの設定を行ないます。VMware PlayerやVirtual Boxならば、ISOファイルのマウント設定のみで差し支えございませんが、Virtual PCはややハマリ所が多いです。

仮想マシンを選択します。すると「設定」ボタンが現れますので、「設定」ボタンを押下します。

microsoft_virtual_create_guest_os_006

「DVDドライブ」を選択し、ISOイメージのファイルパスを指定します。この時、Virtual PCがサポートするのは、Redhat 6.3以下の32bitマシンである事に注意して下さい。

CentOS 6.3のような旧バージョンのCentOSは理研などのミラーサイトからダウンロードする事はできません。旧バージョンは全てvault.centos.orgに退避されていますので、CentOS 6.3 32bitは以下URLから入手して下さい。

microsoft_virtual_create_guest_os_007

VMware Player, Virtual BoxはISOファイルの設定のみで充分ですが、Virtual PCの場合はネットワークの設定も念のため確認しておきましょう。私の環境では、ネットワークの初期設定が以下のような意味不明の設定になっていました。

microsoft_virtual_create_guest_os_008

ネットワークの設定を適宜修正します。なお、Linux系OSを使用する場合は、「共有ネットワーク(NAT)」を使用できない不具合がある事に注意して下さい。外部ネットワークとつなぎたい場合は、以下設定のようにアダプタを選択します。無線環境ならば無線のアダプタを選択し、有線環境ならば有線のアダプタを選択して下さい。

microsoft_virtual_create_guest_os_009

OSインストール

該当のマシンを選択し、「開く」を押下します。

microsoft_virtual_create_guest_os_010

以降、インストーラーの指示に従って、OSインストールを実施して下さい。

microsoft_virtual_create_guest_os_011

ネットワークの設定
ネットワークの設定 – インターネット接続の設定

仮想マシンが作成されたとしてもインターネットに接続できなければ、できる検証は限られてしまいます。インターネットに接続できるようにしましょう。

インターネットへの接続は非常に簡単です。DHCPによってIPアドレスを取得できるようにすれば問題なくインターネットに接続できるはずです。ただし、「DHCPによってIPアドレスを取得できるようにすれば」という操作はディストリビューションによって全然操作方法が異なりますので、使い慣れないディストリビューションでは苦戦するかもしれません。

全てのディストリビューションについての手順を説明するのは不可能なので、多数派と思われるCentOS 6.5の設定例のみ紹介します。

インストール時にデフォルト設定を踏襲しているならば、eth0ネットワークの自動起動は無効化されているはずです。/etc/sysconfig/network-scripts/ifcfg-eth0 の “NOBOOT”をnoからyesに変更します。

ネットワークの再起動により設定を反映させます。

DHCPによってIPアドレスが取得できている事を確認します。

8.8.8.8へのpingを送信し、ネットワークの接続性を確認します。

ホストOS ゲストOS間のssh接続

コンソールで作業を行なうのは、何かと不便です。teraterm, puttyなどのターミナルソフトを使用して、ゲストOSにログインした方が作業がはかどるはずです。

多くのLinuxディストリビューションはルートユーザによるsshログインを禁止しております。もし、sshログインがしたいならば、

  • ルート以外のユーザを作成する
  • ルートログインを許可する

のいずれかの設定が必要となります。以下、ルートログインを許可する方法を説明します。/etc/ssh/sshd_configをエディタで開き、PermitRootLogin yesの部分のコメントアウトを外します。

sshdを再起動させて設定を反映されます。

お好みのターミナルソフトで、ゲストOSへログインできる事を確かめます。

microsoft_virtual_pc_connection_test_001

CentOS インストール時のハマリ所

64bit アーキテクチャ 非対応

Virtual PCは32bitのみの対応です。仮にホストOSが64bitであったとしても64bitの仮想マシンを動かす事はできません。64bitマシンを動作させようとすると、以下のようなエラーメッセージが出力されます。

virtual_pc_arch_error_001

CentOS 6.4 以降 非対応 ( ディスクを認識しない)

CentOS 6.4以降の場合、ディスクを認識しないので不具合が発生します。OSインストールの過程で、以下のようなエラーメッセージが出力されます。

virtual_pc_no_disk_error_001

CentOS 6.3をインストールした後に”yum update”しても、同様のディスクを認識しない現象が発生する事に注意して下さい。うっかり”yum update”しないように注意して下さい。

メモリ不足 ( 2048M以上)

Virtual PCの場合は、メモリを2048M以上割り当てないとCentOSのインストールができません。

メモリ512Mの場合は以下のようなエラーメッセージが出力されます。

virtual_pc_memory_error_001

メモリ1024Mの場合は以下のようなエラーメッセージが出力されます。

virtual_pc_memory_error_002

動作確認環境

  • 動作確認日 : 2014/11/1
  • Windows Virtual PC version 6.1.7600.16393
  • ホストOS : Windows 7 Professional 64bit
  • ゲストOS : Windows XP 32bit , CentOS 6.3 32bit

シェアする

  • このエントリーをはてなブックマークに追加

フォローする