ログ日記

作業ログと日記とメモ

VMware ゲストOSのハードウェアバージョンをアップグレードした

VMwareのゲストOSでデュアルディスプレイを使おうと思ったら、ハードウェアバージョンが古くて対応していなかった。
.vmxを見ると

virtualHW.version = "4"

となっていた。


普段VMware Playerを使っている場合にハードウェアバージョンを上げるにはVMware vCenter Converterが必要らしい。
Linux版はバージョンが古いのでWindows版をDL。
そもそもバージョンアップしたい仮想マシンがそのWindowsなので、ちょっと面倒なことになってる。
物理ディスク上で稼働中のWindows仮想マシンに変換はできるが、仮想ディスク上で稼働中のWindowsの変換よく分からないので別の方法をとる。

  1. rsyncでホストOSの仮想マシンディレクトリを共有サーバーにコピー
  2. (仮想)Windowsで共有サーバーのネットワークドライブ設定
  3. VMware Converterで共有サーバー上の仮想マシンを共有サーバー上にV2V変換
  4. rsyncで変換後のデータをホストOSに書き戻す
  5. 動作確認後、古いデータと共有サーバー上のデータを削除

Converterでの変換時に、HDDを2GB単位に区切る設定を忘れない。
Converterを実行中のOS情報に基づいてメモリ設定の初期値が変更されていたようなので元に戻す。
変換先はVMware Player 4.0を選択した。(使っているのは5.0)
Sysprepが必要という警告が出たが無視して実行。


変換自体は問題なくできた。

virtualHW.version = "8"

になった。


変換後のWindowsで日本語が入力できなくなっていた。
対応は以下。
http://www.artsnet.jp/archives/317

4. [デバイス マネージャ] ウィンドウを表示します。
[ハードウェア] タブをクリックし、[デバイス マネージャ] をクリックします。

5. キーボードのプロパティを表示します。
[キーボード] をダブルクリックし、表示されたキーボードの名前をダブルクリックします。

6. ドライバを更新します。
[ドライバ] タブをクリックし、[ドライバの更新] をクリックします。

7. [ハードウェアの更新ウイザード] を開始します。
[一覧または特定の場所からインストールする (詳細)] をクリックし、[次へ] をクリックします。

8. 検索方法を選択します。
[検索しないで、インストールするドライバを選択する] をクリックし、[次へ] をクリックします。

9. ドライバを選択します。
[互換のあるハードウェアを表示] チェックボックスをクリックしてチェックを外し、[製造元] ボックスの一覧から [(標準キーボード)] をクリックします。次に、[モデル] ボックスの一覧から [日本語 PS/2 キーボード (106/109 キー Ctrl+英数)] をクリックし、[次へ] をクリックします。

http://support.microsoft.com/kb/881892/ja

それからUSBが認識しない。
device id設定とかvender id設定とか色々遠回りしたけれど、原因はvmware-USBArbitratorが起動されていないことだった。
たぶん http://communities.vmware.com/thread/337769 この辺。
id設定は不要。
何か動きがおかしい場合は仮想マシンディレクトリの vmware.log を眺めるとよさげ。
取り急ぎ手動起動。


これでVMwareデュアルディスプレイが一応表示できるようになった。
ディスプレイの設定をautoにしていると、ホスト側デュアル + Windows側デュアルで認識して(?)変になったので、バーチャルマシンの設定でディスプレイ数を1に固定した。
現状デュアルにするとマウスの座標がバグる。VMwareが原因かグラボが原因かドライバが原因かは不明。


仮想マシンのハードウェアバージョンを上げると、今までiPhone接続でブルースクリーンになっていた問題も直っていた。
あとUnityできるようになってた。


Converterで変換時にHDD構成を変更できるので、以前やったHDD容量の拡張 http://d.hatena.ne.jp/n314/20111003/1317624105 も、Converterでやった方がミスがなくていいのかもしれない。