2012/10/30

VMware Fusion 5 Professional を買うと VMware Player が商利用サポートされる

VMware Fusion はバージョン5になってから通常版の「VMware Fusion5」とプロフェッショナル版の「VMware Fusion 5 Professional」に分かれた。

それぞれの機能比較は VMware 社のページにあるので見て頂ければと思う。

個々で興味深いのは「VMware Fusion 5 Professional は、実績のある VMware Player が含まれている」という記述だろう。VMware Fusion 5 Professional のライセンスキーは VMware Player にも投入でき、どちらをアクティベーションすることもできる。

無償の VMware Player をアクティベーションして何の意味がある?と思われるかも知れないが、これは VMware Fusion Professional の正規の機能であり、保守によるサポート範疇に含まれる、というのがミソだ。

通常の VMware Player は個人利用のみ無償であり、雑誌掲載や商利用などについてはこれまでも申請が必要だった。が、この申請がややこしいのもあり、VMware Workstation を購入するというのが現実的には行われていた。単に仮想マシンを実行できれば良く、Workstation のもつ様々な機能を使う必要がなくても、だ。

そこで、VMware Fusion 5 Professional を購入し、そのライセンスを Mac ではなく WindowsPC に割り当て、VMware Player をインストール、利用する、という形態をとることで VMware Player をより簡単に、より安価に商利用で使えるようになった訳だ。

VMware Fusion 5 Professional はライセンスキーのみでの購入ができ、ボリュームディスカウントも存在する。通常のインシデントベースのサポートだけではなく、平日8-20時でのサポートとサブスクリプションも用意されている。これは Mac むけもさることながら、商用版 VMware Player としての使われ方も想定してのことだろう。


2013/9/14追記:

VMware Fusion6, Workstation10, の公開にともない、VMware Player もバージョンアップし VMware Player6 になった。 この Player6 では個人用途で無償でダウンロードできる通常版に加え、商利用がサポートされた PlayerPlus というライセンスが新たに用意された。

ただし、VMware PlayerPlus は現時点では VMware社のオンラインストアでしか購入することができない。中小企業でごく小規模に使う場合はオンラインストアで購入も悪くはないが、ある程度の規模で導入しようとするとボリュームライセンスでの購入が避けられなくなる。

この場合は、やはり VMware Fusion Professional を購入し、Windows/Linux PC に割り当て、VMware PlayerPlus として使うという形態になる。


2012/10/28

XP から Windows8 にアップグレードするとNICが認識されなくなるのとその対処

Windows8 の発売の翌朝だが、セミナーの講師をしていたところ、お客様より「今回のセミナーとは関係ないのですが...」と問い合わせを受けた。

どうもこのお客様のお客様、つまりはエンドユーザの方が VMware Fusion 上で、Windows XP を実行している仮想マシンに Windows8 をアップグレードインストールした、そうだ。すると、アップグレードは成功したもののNICを認識しないので何とかしてほしいと相談を受けたとのこと。

まあそんなチャレンジャーなアップグレード良くやるなぁと思ったが、とりあえずNICが AMD PCnet だからではないかと推測、いくつかの方法を話をした。

この土日、折角なので個人的に調べてみた。

● 再現試験

実際に Windows XP Professional から Windows 8 Pro にアップグレードインストールしたところ、それ自体は成功した。が、確かにNICを認識していないのが分かった。

手持ちの Windows XP はIDE接続の仮想ディスクにインストールされており、やはりNICは AMD PCnet (vlance というかフレキシブル) であった。

アップデート前に確認、NICは AMD PCnet エミュレーションだった
アップグレードしたところ、NICに×印がついている
クリックしたところ、認識しているネットワーク接続がないことが記載される
あとキャプチャを忘れたが、「ネットワーク接続」のデバイス一覧に何のネットワーク接続も表示されていなかった。


● 手っ取り早い対処法

手っ取り早く何とかしたい場合は、以下の手順を行えばいい。
なお、vmx ファイルを操作するという危険なことを行うので、バックアップは必ずとっておいてほしい
  1. 仮想マシンをシャットダウンし、VMware Fusion を終了させる
  2. 「仮想マシン名.vmwarevm」を右クリック、パッケージの内容を表示し、拡張子 .vmx ファイルを確認する
  3. 確認した vmx ファイルをテキストエディットなどで開き、一番下で良いので以下の行を追加する
    ethernet0.virtualDev = "e1000e"
  4. ファイルを保存する
  5. VMware Fusion を起動し、仮想マシンを起動する
要するにデフォルトのNICが AMD PCnet 互換から Intel EtherExpress 1000e 互換に行っている訳だ。

Fusion で作成したWindowsXP仮想マシンの場合、NICに対する virtualDev は指定されていない。指定されていない場合は AMD PCnet 扱いする。一方、Fusion で Windows8 仮想マシンを作成した場合は、上記の行が追加されており Etherexpress1000e 扱いされる。
VMware Workstation などでは NIC のタイプを指定することができるが、Fusion では簡単に指定する方法がない。なので、ここでは .vmx ファイルを直接編集、修正をしている。

なお、起動直後はまだNICは認識されない。しばらく待ってると下図の様なエラーが表示され、さらにしばらく待つとNICが追加される

しばらく待ってるとこの警告が出る
さらに待つと「ネットワーク接続」にNICが現れる
と同時に、右側に図にあるような選択画面が表示される

● 余談

なお、私の WindowsXP 仮想マシンは、仮想ディスクがIDE接続だったためさして問題なくアップグレードできたが、SCSI接続の場合アップグレードに失敗する?らしい話も聞いている。

vSphere で WindowsXP 仮想マシンを作成すると、デフォルトでは BusLogic SCSI HBA を経由して仮想ディスクが接続される。おそらく、AMD PCnet のドライバーがなくなり上記のような問題が起こったように、BusLogic SCSI HBA のデバイスドライバーもなくなったのだろう。

だいたいにおいて、BusLogic SCSI HBA のエミュレーションは過去のOSとの後方互換に使われている。WindowsServer 2003 などでは LSI Logic のより新しいSCSI HBA が使われ、Windows7, 2008R2 などでは LSI Logic SAS HBA のエミュレーションが行われる。

おそらく、LSI Logic HBA のエミュレーションなら Windows8 でも利用可能なのだろうと思われる。

WindowsXP でも LSI Logic HBA エミュレーションを使うことは可能だが、インストールメディアに LSI Logic のSCSI HBA のドライバーが入ってないためそのままでは新規インストールに失敗する。LSI Logic のサイトなりからデバイスドライバをダウンロード、仮想フロッピーメディアに展開しておき、インストール時に追加するといい。

この WindowsXP で LSI Logic HBA のエミュレーションを使わせるのは VMware View などのVDI環境でデスクトップ仮想マシンのパフォーマンスを上げるために必要な基本テクニックだ。