ラベル VMware Fusion4 の投稿を表示しています。 すべての投稿を表示
ラベル VMware Fusion4 の投稿を表示しています。 すべての投稿を表示

2012年2月14日火曜日

Bluetoothファイル共有 on Fusion

Fusion上のWindowsでBluetoothを使ったファイルの送受信する場合の問題点。

Fusion上Windows(送信)→別Windows(受信)の転送は問題ない。

ところが、逆は出来ない。

MacOSが先に受信してしまうからである。
(Macでファイルを受信するには「共有」でBluetoothの共有をONにしておく必要がある。)
Macで受信して共有フォルダ経由でWindowsに渡してもいいけど、一手間増える。

DVDドライブのように、Fusion起動中はWindowsに制御権を渡せばいいのに。
(Windows起動中はMacからはDVDドライブがアクセスできなくなっている。)

これが出来れば、LAN接続なしでもファイルの送受信が楽に出来ると思ったんだがなぁ。

遅いけど。

2012年2月11日土曜日

Windows7 BootCampとFusion4の違い

で、多大な苦労の結果BootCampによるWindows7環境も構築できたわけだが、
Fusion4上との違いが気になるかもしれない。

まず速度差。
ほぼ同一のCPU/グラフィック性能を持つと思うiMac(Mid2011)上のFusion4とMac mini(Mid2011)上のBootCampでの対比。
Windows7のパフォーマンス評価の結果は以下の通り。

コンポーネントBootCamp Fusion4 
プロセッサ7.04.7
メモリ(RAM)7.45.5
グラフィックス5.76.0
ゲーム用グラフィックス6.56.0
プライマリハードディスク 5.76.6

CPUとRAMの速度には当然大きな開きがあるが、他は同等もしくはFusion4の方が上回っている。
HDDの差はiMacとMac miniのハード差が出ている。
iMacは3.5インチHDD、Mac miniは2.5インチHDDで、そもそも速度差がかなりある。

Mac mini上のWindowsは、電源ONからの起動も、プログラムの起動もかなり遅い。
HDDの遅さが直撃している感じ。
速度をできるだけカバーするため、RAMDISKやディスクキャッシュソフト(うちで使っているのはIO-DATAのマッハドライブ)を入れた。特にディスクキャッシュはけちらず出来るだけ大きく確保した方が良い。2回目以降のアクセス速度がRAMDISKに近い速度まで劇的に上がる。
ここで8GBにしたメモリが活きている。

ただ、再起動時の速度差は圧倒的で、Fusion4はWindowsを再起動しても
本当に一瞬で立ち上がってくるが、BootCampでは数分かかる。
FusionではMacOSのメモリ上にWindowsがキャッシュされているためである。
SSDとはこういう物だろうか、と一瞬思ったが、まだ高くて今の私には手が出ない。
(誰かください^_^;。)

起動してしまえば、やはりBootCampでの方が速い。
ハード性能をフルに活かせる。
2画面構成なども楽に出来る。

でも、WindowsとMac間のデータのやりとりがあるならFusion4の方が楽なのは言うまでもない。
画面以外のハードウエアも多くはそのまま使うことが出来る。
Mac上からWindowsのアプリを、見かけ上とはいえそのまま起動できるのも便利だ。
従って、双方を有効に使い分ければいいと思う。

・・・

FusionではBootCamp下にあるWindowsをMac上から起動できるようにすることも出来る。
Fusion上に別に仮想Windows環境を作るには、Windowsがもう1ライセンス別に必要となるが、BootCamp環境を起動する分にはそれは必要ない。

が、これはあまりおすすめできない。
簡単に言えば、BootCamp Windowsでフル性能を活かす設定にしていると、Fusion上では不具合が出るからである。

それは単に速度差だけではなく、以下のような問題を起こす。
  • メモリ不足になることがある。特にキャッシュディスクやRAMディスクを設定していると出やすい。そうなるとスワップが起こりまくって、ほとんど実用にならない速度にまで落ちる。
  • 画面解像度が変わるし2画面にも出来ない。1画面に納めようとするのでデスクトップがおかしくなる。
  • さらに悪いことに、Fusion上で設定を変えてしまうとBootCamp上にも影響してしまう。Fusion上で起動したそれは、BootCamp上のWindowsそのものだからである(ややこしい)。
このほか、BootCamp WindowsをFusion上で実行したときはリジューム機能が使えないという制約もある。
これは取説に書いてある。

ということで、BootCampとFusionのどちらを選ぶかは、Windowsに求めることによって決まると言うことである。
両立はあまり考えない方がいい。
私の場合は、「安価なWindows機」ということで今回選んだので、FusionではなくBootCampを選んだのである。


・・・2012/03/29、04/12追記

一部ソフトはFusion上Windowsでは正常動作しないことが判明。
手元にある物で確認したのは以下の通り。

COREL WinDVD7/9/11仮想PC上での動作を禁止している。これが動けばMac上でCPRMのかかったDVD-RAMが再生できるのに。
一太郎2011上の詠太行最後の1文字の発声が途中で切れてしまう

なお、完全なWindows機になるBootCamp上ではどちらも正常動作する。

2012年2月5日日曜日

Windows7 on VMware Fusion4

VMware Fusion4には「キーボードの認識が常にUSになる」というバグがいる。
このため、Fusion4上でWindows7を動かす場合も、日本語キーボードだと配置が合わないという問題が発生する。

それを解消する方法。
  1. VMwareを完全に終了しておく
  2. SpotLightで「仮想マシン」で検索
  3. Windows 7 x64.vmwarevmというファイルで右クリック、パッケージの内容を表示(32bit版の時はx64は「ない」)
  4. Windows 7 x64.vmxでこのアプリケーションで開く~適当なテキストエディタで開く
  5. 一番最後の行にkeyboard.vusb.idProduct = "0x222"と追加し、改行、ファイルを保存
  6. VMWare~Windows7を再起動
  7. Windows上で、コントロールパネル~キーボード~ハードウエア~プロパティ~ドライバー~ドライバーの更新
  8. コンピューターを参照してドライバーソフトウエアを検索します~コンピューター上のデバイスドライバー一覧から選択します
  9. 「互換性のあるハードウエアを表示」のチェックを外す
  10. (標準キーボード)の中から「日本語PS/2キーボード 106/109 Ctrl+英数」を選択、次へ
  11. 警告メッセージが出るが「はい」でインストール続行
  12. Windowsを再起動

これで日本語キーとして正しく認識されるようになる。Lionと違い「|\」と「_ろ」も正しく入力できる。

・・・

さて、うちではMacにもWindowsのキーボードをつなぎ、Mac上ではCommandとControlの位置をKeyRemap4で入れ替えている。また、Windows上ではCapsLockとCtrlを入れ替えている。
CommandとControlの位置入れ替えだけなら、キーボード~修飾キーの設定で入れ替えられるが、他のキーも変更しようと思うとKeyRemap4が必須であり、またKeyRemap4を入れているとこの修飾キーの設定は無視される。

こういうことをしていると、Windows上でCtrlとWinのキーが入れ替わってしまう問題が発生する。
調べてみると、CTRL+←/→を押すと正しくCTRL+←/→と返すのに、CTRL+アルファベットを押すとWin+アルファベットと返してくるという変な現象が発生している。

これを回避するには、KeyRemap4で、Fusionには入れ替えてない状態のキーを渡すようにすればよい。

private.xmlに次の内容相当を追記してReloadする。
<?xml version="1.0"?>
<root>
  <appdef>
    <appname>VMware</appname>
    <equal>com.vmware.fusion</equal>
  </appdef>
  <item>
    <name>Control_R to Command_R (except VMware)</name>
    <identifier>private.app_vmware_control_r_to_command_r</identifier>
    <not>VMware</not>
    <autogen>--KeyToKey-- KeyCode::CONTROL_R, KeyCode::COMMAND_R</autogen>
  </item>
  <item>
    <name>Control_L to Command_L (except VMware)</name>
    <identifier>private.app_vmware_control_l_to_command_l</identifier>
    <not>VMware</not>
    <autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>
  </item>
  <item>
    <name>Command_L to Control_L(except VMware)</name>
    <identifier>private.app_vmware_command_l_to_control_l</identifier>
    <not>VMware</not>
    <autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
  </item>
</root>

これで、思惑通りのキー操作ができるようになる。
なお、Fusion上に複数のWindows環境を入れている場合、これ1つですべてに有効である。

Command-L/Control-Lに関してはKeyRemap4に元からexcept Virtual Machineという似たような設定があるが、それを設定してもうまく動かなかった。Fusion4には対応していないのかもしれない。

実はこの状態でも「全角/半角」を押しても日本語入力できないという問題が残る。
これに関しては、Windows上のキー配置変更ツール(chgkeyなど)で、「カタカナ・ひらがな→全角/半角」(逆ではないので注意)の変更を入れる。

ただし、この変更をしても、Mac側が日本語入力モードになっているとWindowsで「全角/半角」が効かない。
キーが効かないときは、Macの日本語入力モードを確認のこと。

これで、WindowsとMacでほぼ同じキー操作ができるようになった。

「そもそもWindows上でキーCtrlとWinを入れ替えればいいんじゃないか」と思われるかもしれないが、先に書いたとおり、返されてくるCtrlとWinのキーコードが場合によって異なるのでうまくいかない。
だからホストとなるMac側で変更しなければならない。このあたりはさんざんやったから間違いなし。

CTRL+←/→や一部ファンクションキーはデフォルトではMac側にとられる場合があり、Windowsに渡すことができない。
この場合、環境設定~キーボード~キーボードショートカットを変更する。
private.xmlにさらに書き加えれば両立出来るかもしれないが、そこまでは必要を感じてないので省略。

いや、KeyRemap4MacBookは本当によく出来ている。
英語だけなのでちょっとわかりにくいけど。











Lion on VMware Fusion4

VMware Fusion4には「キーボードの認識が常にUSになる」というバグがいる。
このため、Fusion4上でLionを動かす場合、日本語キーボードだと配置が合わないという問題が発生する。

それを改善する方法。

  1. VMwareを完全に終了しておく
  2. SpotLightで「仮想マシン」で検索
  3. OS X 10.7(64ビット).vmwarevmというファイルで右クリック、パッケージの内容を表示
  4. OS X 10.7(64ビット).vmxでこのアプリケーションで開く~適当なテキストエディタで開く
  5. 一番最後の行にkeyboard.vusb.idProduct = "0x222"と追加し、改行、ファイルを保存
  6. Lion Xを再起動

これで、「|\」と「_ろ」以外のキーは全て正しい配置になる。
しかし、この2つだけは入力が出来ない。
KeyRemap4MacBookを使ってこれを強引に入力できるようにする。

private.xmlに次の内容相当を追記してReloadする。
<?xml version="1.0"?>
<root>
 <item>
    <name>Swap F14 and BackSlash</name>
    <identifier>private.swap_F14_and_BackSlash</identifier>
    <autogen>--KeyToKey-- KeyCode::F14, KeyCode::VK_JIS_BACKSLASH</autogen>
 </item>
 <item>
    <name>Shift(L)+0=Underscore</name>
    <identifier>private.shift0L_to_Underscore</identifier>
    <autogen>--KeyToKey--
  KeyCode::KEY_0, ModifierFlag::SHIFT_R,
  KeyCode::JIS_UNDERSCORE
    </autogen>
 </item>
 <item>
    <name>Shift(R)+0=Underscore</name>
    <identifier>private.shift0R_to_Underscore</identifier>
    <autogen>--KeyToKey--
  KeyCode::KEY_0, ModifierFlag::SHIFT_L,
  KeyCode::JIS_UNDERSCORE
    </autogen>
 </item>
</root>

これを読み込ませてチェックすることにより、「\」でバックスラッシュ、SHIFT+0で「_」を入力できるようにする。
バックスラッシュでなく「\」そのものを入力したいときは、VK_JIS_YENにすればよい。
これで、Lion上でのプログラム開発も「できなくはない」状態になる。

しかしまだ、Lion上ではファンクションキーの設定ができない。
キーボードショートカット設定でファンクションキーに設定しても一切効いてない。
KeyRemap4でもキーを認識してくれないので再設定しようがない。
VMware Fusion~環境設定~キーボードとマウス~キーマッピングでも設定できない。

あとはVMWareFusion側で正式に対応されるのを待つしかない。
が、私も前にサポートに連絡を入れたが、いっこうに改善される気配がない。
開発元はUSなので、気がつかないのかもしれない。
(ひょっとしたらBluetoothキーボードでは大丈夫?)
だったら日本の窓口act2が何とかしろ!と思うのだが。

Fusion4によって、Lion対応というのは表面上の宣伝文句に過ぎず、現状では使い物にならない。
と、言われても仕方ないと思うのだが。