LANLANパソコン(東京パックス/南中野パソコン教室のLAN化日記)

47.Windows 7及びVirtual PC 2007をマイパソコンに導入(2010/9/5)(2010/9/6掲載)

1.Windows 7からネットワークプリンタに印刷できない時がある

「Windows 7」(以下「Win 7」)は、2009年10月22日から発売されたマイクロソフト社の最新のOSである。
当教室では、2010年初めに、Vistaプリインストールマシン1台にWin 7の特別アップグレード版をインストールして使用している。(2010年2月のご挨拶「Windows 7のインストール」)を参照。
使用感は、VISTAの改良版といったところであるが、特に動作が軽くなったというほどのことはなく、シャットダウンなどは、かえって遅く感じられる。
マイパソコンもVISTAなのでそれに慣れてしまっているためか、Win 7は、何か、とりつきにくい点がある。もちろん、よい点はある。「シャットダウン」ボタンが分かりやすくなったことなど。
ところで、問題は、Win 7パソコンから、Windows 2003サーバー上にインストールしてある複数の(ネットワーク)プリンタに印刷データを送れない時があることである。
このとき、Win 7のスタートから「デバイスとプリンター」で当該プリンタを開いて「プリンタのカスタマイズ」から「プリンタのプロパティ」の「ポート」タブを見ると完全に空白になっている。
正常時には、「Standard TCP/IP ポート」と表示されるのであるが。当該プリンタだけでなく、他のネットワークプリンタのポート欄も、真っ白である。
不思議なのは、その手前の画面では、「準備完了」とあたかも何も問題がないかのように表示されていること、サーバのプリンタのジョブ一覧を開けること、他のVISTAやXPパソコンからは、問題なく印刷できることなどである。
このエラーが起きるタイミングは、プリントサーバの電源は入っていても、プリンター自身の電源が入っていない場合に起きるようであるが、いつも、起きるわけではない。
もちろん、プリンタの電源がOffのときに、あとから、プリンタの電源を入れても改善しない。
この問題は、プリンターの電源を入れてから、Win 7のパソコンを再起動することで、ほとんどは、解消される。
まれに、それでも、ポート欄が空欄のままになっていることもあるが、このときは、プリントサーバとプリンタの電源を入れ直してパソコンを再起動すると直る。
ウイルス対策ソフトのファイヤーウオールを疑ったがOffにしても改善されないし、他のパソコンも同一のウイルス対策ソフトなので、この関係ではなさそうだ。
次に、アクセス権の問題でもないようである。
教室用なので、管理者権限ではなく、一般ユーザ権限で稼働することが多いので、最初は、アクセス権の問題かとも思えたが、管理者権限でログインしても、ポート欄の空白を修正することはできず、再起動するしかない。
あるいは、IP V6の問題なのか?、ということで、サーバを含めて、ネットワーク上のすべてのパソコンでIP V6は、利用しない設定にしても特に改善はなし。
同じネットワーク上のXPやVISTAでは、一度も起きたことがないエラーであるので、Win 7のプリンタとの通信、あるいは、Win 7のデバイスの死活管理の問題ではないかと思われる。
あと、残るのは、プリンタドライバの不具合ということになるが、Windows 2003サーバーには追加ドライバをインストールできない点は、VISTAも同様で、最初、Win 7のパソコンでWin 7のプリンタドライバを使用してローカルにプリンタをインストールした後、ネットワーク上ののプリンタを検索してインストールすれば、VISTAパソコンと同様に問題なくインストールは、完了する。
テストページの印刷も特に問題なし。
インターネット上の情報もいろいろと見てみたものの、現在に至るまで、これという情報に行き当たらない。
原因を追求しようとすれば、Win 7パソコンとプリントサーバ側でネットワークキャプチャソフトを使用して通信データを解析しないと分からないと思われるが、なかなか、面倒なのと、今のところ、再起動することで、なんとかなっているため、先延ばししている。原因が分かったならば、報告したい。

2.Windows 7をマイパソコンに導入

前述のように、Win 7パソコンは、半年以上、教室用の1台だけであったが、徐々にWin 7関係の質問やらが増えてきているため、この際、マイパソコンをWin 7にした。
本当は、Win 7のサービスパックが出てからの方が良かったかも知れない。(SP1のリリースは、報道によると2011年前半の予定とのこと)
マイパソコンは、2009/4購入であるので、Win 7のアップグレード版を購入して、新規又は上書きインストールが簡単であるが、教室用のパソコン2台が購入後3年半ばを過ぎいて、そろそろ、故障がおきても不思議ではないため、この際、新品を1台購入した。
Win 7(64ビット版)のプリインストールタイプであり、Office 2010 Professioanlインストール済のため、あとは、当方で必要なアプリケーションを追加インストールするだけでよい。
と、これだけであれば、容易なことだったが、今回は、いろいろと面倒なことになってしまい、まさに、トホホな話である。
そのことを下に書く。

3.XP環境が欲しいので、「XPモード」に手を出す

仕事の関係で、Windows XP上でOffice XP(Office 2002)が単独で動く環境が欲しかった。元のマシンでは、これをVirtual PC 2007で実現していた。
それならば、Win 7の売り物の一つである「XPモード」があるじゃないか。
以前、「Windows 7のインストール」で書いたが、XPモードは、CPUの仮想化支援機能が必須であった。
このことを見越して、今回のマシンもインテルVT機能を搭載している機種を選定した。
おあつらえである。まさに、ピッタリである。しめしめ締めこの兎、と勇躍して取りかかったが、思えば、ここから、つまづきが始まったのである。
なお、「CPUの仮想化支援機能が必須であった」と書いたものの、後から知ったのであるが、マイクロソフトの仮想マシンの一つである「Virtual PC 2007」(以下「VPC 2007」と書く)では、この支援機能は、なくても動作する。そのため、Win 7の「Virtual PC」(以下「VPC」と書く)でのこの制限が不評であったためか、マイクロソフトより修正プログラム(KB977206:2010/3/17公開)がリリースされていた。
この修正プログラムをインストールすれば、CPUに仮想化支援機能を持たないマシンでも、Virtual PCをインストールして使うことができる。
実際、前述の教室のWin 7マシン(仮想化支援機能なし)にVPCをインストールが可能なことを確認できた。
今回、マイパソコン用に購入した製品は、エプソンダイレクトの製品であり、すでに、XPモード(WindowsXPMode_ja-jp.exe:64ビット版)とVirtual PC(KB958559:64ビット版)、それに前述の修正パッチ(KB977206)もインストール済であった。
Win 7でのXPモードの利用方法は、マイクロソフトのページ以外にも、多くの方がブログ等で書かれているため、ここでは、繰り返さない。
要は、仮想マシンの作成でXPモードを選択すると、XPのSP3適用版がインストールされた「仮想マシン」が作られる。あとは、そこにOffice XPなどをインストールすればよい。
VPCでは、VPC 2007で「追加機能」(2009/6のご挨拶「Virtual PC 2007の利用」)と言っていた機能が「統合機能」と名前を変えてパワーアップした。
仮想マシンの「設定」からこの統合機能を「有効」にすれば、VPC 2007でCDとFDしか使えなかった貧弱な状態から、USBの使用も可能となり、ホスト側のハードディスクやプリンタも共有することが可能となっている。なんて、便利なんでしょう!
もちろん、一部の機能のみに統合機能を制限して使うこともできる。
たとえば、ホスト側の一部のHDなどは、共有しなくてもよい。セキュリティ的には、その方が望ましいとも言える。

4.Windows 7の「Virtual PC」は、「仮想マシン」ではないのか?

じゃ、この際、VPCでVISTA環境も追加しよう、と、喜んだ。
こちらも仕事がらみで、VISTA上でOffice2007が単独で動作する環境が必要なためである。
従来は、マイパソコンがVISTAで、Officeは、2007のみをインストールしていたため、複数のOffice製品の干渉について、苦労しなかったのである。
こちらも、VISTAのライセンスが余っていたため、VPCで比較的容易にVISTA仮想マシンを構築できた。
ただ、VISTAのアップグレード版では、DVDから起動したインストールができないため、まずは、XPの新規インストールを行い、それからVISTAをインストールするため、面倒なのは、やむを得ない。
結局ところ、Win 7の1台について、XPとVISTAと、都合、3台分のセットアップの手間を要したことになる。
この間にドメインに参加させたり、セキュリティ対策ソフトのインストールなどもあったため、終わったときは、へとへとであった。
念のため、テストとして、VPCのXPモードで、旧パソコンで行った処理の一部を再現して、結果を確認しようとした。
VPC内のAccess2002の起動やプログラムの実行には、特に問題はなかったが、印刷で、思わぬ問題が分かった。
それは、「JUST PDF」のおかげだ。
XPの仮想マシンで、Accessからの大量の印刷データをプリンタで印刷せずに、PDF形式に変換した必要な個所のみ確認していたのだ。
この際、AdobeのAcrobatまたは類似のソフトが必要である。そのため、以前から、ジャストシステムが販売している「JUST PDF」をインストールして使っていた。これは、ジャストシステムのSuite製品に付属のもので、ライセンス的には、問題が生じないはずであるにも関わらず、印刷時に「ライセンスがありません」というメッセージが表示される。「OK」をクリックして、続行させると、PDFの保存場所とファイル名を聞いてきて、実質的には、PDF文書は、作成される。
しかし、印刷の度に必ず、「ライセンスがありません」と表示されるのは、気分が悪い。これは、統合機能でホスト側のプリンタの使用するか否かの違いにかかわらず、ゲスト側のローカルなプリンタとしてインストールしたJUST PDF Driverで印刷する時にも表示される。仕方がないので、ジャストシステムのWebサポートを見ると、
『リモートデスクトップ接続やWindows Terminal Server、Citrix XenApp(TM)などのターミナルサービス環境では、「ご使用のコンピュータには使用できるライセンスがありません。」とメッセージが表示されます。JUST PDFはこれらの環境に対応していないため利用することができません。JUST PDFを使用したいパソコンのハードディスクにセットアップしてご利用ください。』(2010/5/18掲載)
とあるではないか。
ここにいたって、遅まきながら、Win 7のVPCとVPC 2007では、作りが違うことに気がついた。
VPC 2007では、仮想マシンモニタが通常のアプリのみならずプリンタドライバなどを、平たく言えば、だまして、インストールや動作環境が実機であると錯覚させているのであるが、VPCでは、リモートデスクトップ環境であることが、少なくてもプリンタドライバは、知っている状態(ダダ漏れですね~)、ということである。
そういわれると、コントロールパネルのシステムアイコンの「リモート」タブにある「リモートデスクトップ」項目で、VPC 2007を含めて、通常の実機では、「リモート接続を許可しない」となっているのであるが、VPCでは、「リモートデスクトップを実行しているコンピュータからの接続を許可する」になっているではないか。(もっとも、許可しているのはホストのWin 7だけのようであるが)
となると、Win 7の仮想マシンは、Win 7で動作しないXP用のソフトを動作させる、というところに重点があり(ま、元々、マイクロソフトはそう言っているのでそれはそれで間違いではないですがね)、そのための手段として、仮想マシンを作成し、それにWin 7からリモート接続をしている形態になっているように思える。
その御利益は、ユーザがゲスト側とホスト側との違いをあまり意識せずにシームレスな操作につながっているということでもある。
結論として、Win 7の「Virtual PC」を「Virtual PC 2007」のバージョンアップ版ととらえると、それは、違う!、ということじゃ。

5.Virtual PC 2007をインストール

前項のように、VPCでは、どうも、具合が悪い点がある。スタートボタンのところも「シャットダウン」がなくて「ログオフ」だし。
そこで、以前のマシンに戻ることも考えた。しかし、これまでの事実上、3台分の作業と時間がまったく、ムダになる。
また、VPCにインストールした、Office 2007は、マイクロソフトのアクティベーション(認証)を済ませてしまっている。認証を解除する手段がないため、これも問題である。
余談であるが、アドビやアップルのiTunesなどでは、認証と認証解除手続きがWebで行える。
また、ソースネクストの筆王ZEROなどでは、他のマシンに新規にインストールした際には、パスワードを入力するとそちらが認証されたことになる。
アドビやアップルの方法は、元のマシンが故障しなければ、よいが、故障して認証を解除できなくなったり、認証解除手続きを忘れて、リカバリーや消去してしまったりすると、それは、お手上げである。とはいっても、iTunesなどでは、5台まで、OKといっているため、現実には、なかなか、そこまではいかない。
ソースネクストの方法では、故障して前のマシンが使えなくなったりしても、新しいマシンで認証を得られる方法なので、便利であるが、パスワードを控えていなかったりすると面倒である。
これに対して、マイクロソフトの認証方法は、パスワードは必要なくて、シリアル番号だけなので簡単であるが、解除という手段が明示的に公開されてないので、元のマシンが故障して改造したりしたときや新しいパソコンに新規インストールする際に、認証されたり、されなかったり、と見かけ上は、少なくとも気まぐれである。
なお、念のため書いておくと、OSのパッケージ製品の場合は、元のマシンOSをアンインストールして新規のマシンにインストールすることは、認められている。プリインストール製品では、特に規定されていない限り、不可である。
このようなことで、1~2日、ぐずぐずと迷った。
VPCを使わずに済む方法は、デュアルブートであるが、これは、ディスクの構成を変更したり、Win 7がインストールされているため、あとから、VISTAなどをインストールすることも問題を引き起こす。
もちろん、切り替えるときの再起動の手間が面倒なのは、いうまでもない。それにこれまでの作業が無駄になることを防げない。
なんとかならないのか。VPCを使わずにVPC 2007をインストールできないのか?
いろいろとWebを探すと、「Virtual PC 2007にWindows 7をインストールした」、というような記事ばかりが見つかってしまい、「Win 7にVPC 2007をインストールした」という記事がなかなか見つからない。
当然である。普通、そんなこと必要ないでしょう。
しかし、根気よく探すと、ありました。その記事では、KB958559をアンインストールすれば、よい、というように書かれていたが、今回、コントロールパネルの「プログラムと機能」の「Windowsの機能の有効化または無効化」内に「Virtual PC」という項目があり、それのチェックを外して無効にしたところ、Windowsの再構成が行われ、「Virtual PC 2007 SP1」をインストールできた。
インストール後に修正パッチを適用しておく。なお、VPC 2007は、32ビット版と64ビット版があるため、今回は、64ビット版をインストールした。
ただし、VPC 2007では、ゲスト側のOSは、32ビット版に限られる。また、マイクロソフトの正式なサポート外の使い方である。試す人は、自己責任でお願いします。

6.Virtual PC 2007で元のマシンのVHDファイルを使う

これで、なんとか、Win 7でVPC 2007を使うところまで、来た。
さて、元のマシンで作成してある、XPのデータは、生かすことができるのかどうか?
一応の考えとしては、VPC 2007は、32ビット版と64ビット版の違いは、あるものの、同一のVPC 2007である。
そこに望みを掛けて、元のマシンから、Virtual Machineのデータ(巨大なVHDファイル)を新パソコンにコピーする。
あとは、VPC 2007で新しいバーチャルマシンの作成を指示して、元のvmcファイル(設定ファイルらしい。元のパソコンのマイドキュメントに残っていた)とVHDファイルを指示しただけで、復活できました。
なんて、簡単なんでしょう。(下図は、Win 7上のVirtual PC 2007のXPの仮想マシン)


ソフトやデータも元のまま、後は、追加機能をインストールすると、前のVISTAマシンで使っているように問題なく、使えました。
今度は、JUST PDFも、何も気づかない様子で、「ライセンスがありません」などとのたまうことがありませんでした。
もっとも、これは、前の時がそうだったのだから、VPC 2007が正常に動作している証拠でもある。
念のため、Access 2002での処理を一通り、やってみたが、特に異常はなし。
裏技としては、例のXPモードで使ったXPのイメージが使えそうな気は、する。XPのライセンスがフリーであるため、興味がある人がいるかも知れない。

7.Virtual PC 2007でVirtual PCのVHDファイルを使う

さあ、ここまで、来たら、行くしかありませんな。
VPC 2007で新しいバーチャルマシンの作成を指示して、Win 7の時のVPCで作成した、VHDファイルを指示した。
同一のWin 7パソコンで作ったとは言え、こんどは、違う、ソフトである。新しいバージョンのVPCで作ったファイルがVPC 2007で使える確率は低い、だろうと思ったのであるが、使えました!
拍子抜けとは、このことか。
1日程度の時間しか経っていないが、今のところ、問題は、生じていない。
追加機能をインストールした後は、マウスでクリックして選択することと、クリップボードが共有できること、起動時の「Ctrl+Alt+Del」は、仮想マシンでは、右Alt+Delであることも元のVISTA上のVPC 2007のときと同一である。(下図は、Win 7上のVirtual PC 2007のVISTAの仮想マシン)


一番の懸案のAccess2007で開発中のシステムも問題なく動作する。VISTAでは、実機より、わずかに、もたつき感がある点は、仕方がないことであろう。

8.備考

Officeなどの異なるバージョンが混在した際に問題が起きなければ、今回のようなことは、必ずしも必要ではない。
それ以外で仮想マシンを使いたい場合としては、なんらかのテスト環境を実機とは別に作りたい、というときであろう(今回のケースも広い意味ではそのような場合であるが)。
そのようなケースでは、VPCが完全な仮想環境を提供するものではない、ということを念頭に置いておく必要があるであろう。
なお、Win 7では、XPの仮想マシンを必要としない、あるいは、別途、XPのライセンスがあれば、「Virtual PC」と「修正プログラム」のみダウンロードして、仮想マシンを構築することが可能である。ゲスト側は、XP、VISTA、7に限られる。
この場合、ダウンロードするデータは、「XPモード」が600MB程度もあるのに比して、2つのファイルの容量は、極めて小さい。
※64ビット版Windowsは、今回、初めて利用したのであるが、市販のソフトでは、インストールと運用において今のところ問題が生じているものはない。
ただし、バッチファイルなどで、C:\Program Filesを絶対的に記載している場合、32ビット版のプログラムは、C:\Program Files (x86) に登録されているため、書き換えが必要である。64ビット版のプログラムは、C:\Program Files に登録されている。

9.LANの現況(2010/9/7追記)

上記のように新パソコンをP21「長月」として、マイパソコンとした。
これに伴い、教室のP14、愛称「玄武」を引退させて待機用パソコンとし、代わりに旧マイパソコンP20を新名称「白虎」として配置した。
そのため、LANの現状は、下図のように変化している。
パソコンの実数は、待機中のものを除いて、サーバーを含め5台であるが、仮想マシン分(+3)とデュアルブート分(+1)を加えると、9となる。