OSXに於けるメジャーな仮想環境と言えば、VMware FusionVirtualBoxParallelsHypervisor.frameworkの4つになりますが、自分の場合、他のプラットフォームでも利用する機会があるという点と、使い慣れているという事で、VMware Fusionを利用しています。しかし、OSXでVMware Fusionを使う上で、いくつか気になる点があるのも事実。という事で、これまでVMware Fusionを利用していて不便に思った点などを解消するいくつかのテクニックをここでまとめてみたいと思います。

目次

コンテンツ

Fusion7でWindows10やEl Capitanを使用する

VMware Fusionでは8よりWindows10やMac OS X El Capitanに対応しています。よって、システム要件上はVMware Fusion 7ではWindows10やEl Capitanはサポートには存在しません。しかし、Windows10およびEl Capitanまでは使える事は確認しました。Windows10自体は新規作成時にWindows10の項目があるので、選択しておきましょう。

Windows10

Windows10はISOから直接インストール可能です。インストールする際に選択するOSは、Windows10でOKです。そのままインストールを進めて、最後にVMware Toolsをインストールする事で、利用する事が出来るようになります。しかし、正式対応してるわけではないので、パフォーマンス面ではVMware Fusion 8に劣りますし、VMware Fusion 8よりサポートされてる機能(DirectX10など)は、利用する事が出来ません。

※2016年8月2日リリースのWindows10 Redstone1 (Version 1607)Anniversary Updateは、VMware Fusion 7にはインストール出来ません。ブルースクリーンが出てロールバックが掛かってしまいます。

El Capitan

VMware Fusion 7で正式に対応しているのは、Yosemiteまでです。Windows10とは違い、El Capitanはセットアップディスクを使っても直接インストールする事は出来ません。トリッキーな手段ですが、Yosemiteをインストールしてからアップデートの形でEl Capitanにする事は可能です。よって、Yosemiteのセットアップディスクが必要になります。Yosemiteセットアップ後に、Yosemite上でEl Capitanのセットアップを実行し、アップデートを行います。

NHCで仮想ディスクを変換

VMware Fusionは例えば、VirtualPCなどで制作したVHDなどの仮想HDDファイルをインポートする事が出来るようになっています。しかし、変換がうまくいかなかったり、VMDKでやはり運用したいと思う事はしばしばあります。特に古いVHDなどのファイルは変換がうまくいかないケースも多いです。そこで役に立つのが、NHCと呼ばれるツール。このツールは、VirtualPCのVHDや、VirtualBoxのVDI形式、ParallelsやQEMUなどの仮想HDDにも対応していたりします。

これらを相互変換してくれるツールで、事前にきちんとシャットダウンしておき、それから変換を掛けましょう。

ツール自体は、Windows版を中心に開発が続けられているものなので、OSX版もありますが古いバージョンしかない状態です。そこで、自分の場合Windows版のNHCをEasywineを使って、OSX上で動作させています。使い方はとても簡単。但し変換に時間が掛かりますので、じっくり待ちましょう。

screenshot_285

図:NHCをeasywineで起動してみた様子

使い方

  1. 参照ボタンを押して、仮想HDDファイルを選択し、次へ進む
  2. 変換形式を選択します。今回は、VMDKを選びますが、他にも色々選択できます。
  3. 変換オプションとして、VMwareのバージョンや接続形式の選択を選びます。今回はIDEでバージョンは11を選びました。
  4. 変換先ファイル名という事で、保存場所を参照ボタンを押して選びます。
  5. 次へボタンを押すと変換が開始されます。
  6. 完了したら次へボタンを押して、閉じてしまって構いません。

変換後は、この仮想HDDをもって、新規に仮想マシンを構築すればそのまま起動が出来ます。但し、古いVirtualPCなどを変換した場合、Windows9x系などの場合、VirtualPC時代のドライバなどが悪さをして起動できない事があったりします。そういうケースでは、直接中のconfig.sysやautoexec.batなどをいじる必要性がありますが、それに対しては次の項目を参照してみてください。

Paragon VMDK Mounterで仮想HDDをマウントする

仮想HDDの中身を弄りたいと思っても、通常はそのOSを起動して、その中で作業をしなければなりません。しかし、ケースによっては、起動せずに直接操作したい場合や、そうしなければ起動に問題があるケースがあります。そこでOSXに入れておきたいのが、Paragon VMDK Mounterです。これは大変便利なもので、vmdkやvhdなどの仮想HDDをダブルクリックするだけで、ISOファイルのように簡単に中身をマウントして読み書きが可能になります。

読み書きが出来るので、ファイル共有が出来ないようなOSであっても、直接中にファイルをいれこんだり、旧エミュレータで導入してしまったドライバなどを外して、config.sysなどを直接書換が出来るので、ものすごく便利です。OSX 10.7〜10.11まで対応していますので、頼もしいツールです。

注意点として

  1. VMware, VirtualBox, VirtualPCなどに対応していますが、Parallelsには対応していないようです。
  2. 仮想HDDのマウントで対応してるフォーマットは、FAT32, NTFS, exFAT, HFS+のようで、Linuxのファイルフォーマットはダメみたい。

screenshot_286

図:Windows98のVMDKをマウントしてみた

※当然、外す時には、ISOファイルを扱う時と同じく、アンマウントしましょう。

尚、Windowsの場合は、OSFMountというVMDKファイルをマウントし、マイコンピュータ内にドライブとしてマウント出来るツールがあります。読み込みのみで機能的には制限されますが、Windowsユーザ必携のツールです。同じようなものに、Virtual HardDisk Utilityや公式サイトのコマンドラインツール(古いです)やVDDKNVXといったツールがあります。Workstationの場合、標準で仮想マシン設定にユーティリティとしてドライブにマッピングする機能が付いています(読み書き可能)。

仮想FDDを利用する方法

古いOSのインストール時や、古いアプリケーションに於いて、FDDでないと読み書きが出来ないように作られてるケースでは、どうしても、フロッピーディスクが必要になる場合があります。一番良いのは、ポータブルのFDDをUSB接続でゲストOSに接続して使うべきなのですが、どうしてもそうはいかないケースの場合に利用します。

仮想FDファイルを作成

VMwareは空っぽのファイルを作って、拡張子flpなどにするだけで、仮想FDDファイルとして扱うことが出来ます。但し、未フォーマットであったりするので、WinImageというソフトウェアを使用して、仮想FDDファイルを作れます。このツールで作成後に、拡張子をflpにすれば問題なく使えます。後は、空のflpファイルを複製して使い回しをすれば良いでしょう。自分の場合、このツールをeasywineで利用して作っています。

使い方は簡単。起動したのち、Newにて新規イメージを作成し、そのまま空の状態で保存すれば良いです。保存後に拡張子をflpに変更しましょう。もちろん、色々作った後のflpファイルも、このツールであれば読み書きが出来ますので便利です。自分が作った空のflpファイルはこちらからダウンロードできます。

screenshot_287

図:WinImageで仮想FDDを作っている様子。

仮想FDファイルを読みこませる

作成したflpファイルはそのままでは、VMware Fusionではどうにもなりません。仮想HDDの時と同じく、仮想FDDデバイスを追加しましょう。

  1. 設定画面より右上の【デバイスの追加】ボタンを押します。
  2. フロッピードライブを選択します。
  3. 作成しておいたflpファイルを指定します。

これでOKなのですが、起動ディスクとして使いたい場合等では、vmwareのBIOS設定もさることながら、同じく設定画面にて起動ディスクにて、フロッピーを選択しておく必要性があります。

screenshot_288

図:フロッピードライブを追加した様子

仮想FDDドライブを実現するソフトを使う

VMware側で対応するのではなく、ゲストOS(Windows)側で仮想FDDを装備させて運用する方法として、ImDisk Virtual Disk DriverVirtual Floppy Driveを利用する方法があります。どちらも64bitOSでも使用できるので、業務などで特定のソフトウェアがFDD決め打ちで作られてるソフトウェアでFDDがないようなケースなどで利用が出来ると思います。自分も過去になんどかそういったシーンがありました。

外付けディスクからブート

VMware WorkstationおよびVMware Fusionは現時点でもそのままではUSBブートに対応していません。その為、USBにOSやインストーラ等などを入れても、VMware上で利用する事が出来ません(例え、BIOS画面から起動順番でRemovable Deviceの優先順位を上げても)。少しテクニックが必要です。

Plop Boot Managerを利用する

Plop Boot ManagerというISOファイルを利用するとUSBブートやDVDブートが可能になります。CD/DVDにPlop Boot Managerの中にあるplopbt.isoファイルを指定して、CDブートさせます。CDブートはVMware Fusionの設定項目の「起動ディスク」でCD/DVDを指定すればOKです。起動後に対象のUSBメモリを挿し、USBを指定すると起動する事が可能です。Linuxbean Live USBでは無事に起動しました。

screenshot_386

図:Plop Boot Managerを起動した様子

screenshot_387

図:USBのLinux Beanを起動してみた様子

物理ディスクを指定してブート

VMware FusionはVMware Workstationと違って、Bootcampからのインポート機能は合っても、設定に物理ディスクを指定する項目が存在しません。その為、USBディスクを直接指定して起動するといったUSBブートを実現するテクニックがそのままでは使えません。よって以下のちょっと面倒くさい事をやる必要性があります。USBブートしますが、手軽じゃないので、あまりオススメできません。

今回のこのテクニックは、BootcampパーティションをVMware Fusionから起動するのと同じ手法を手動で作成する方法です。

  1. USBメモリをOSXに接続して、ターミナルを起動する
  2. diskutil listコマンドで1.のUSBメモリがどのディスクなのかを確認しておく(例:/dev/disk2)。今回はこのdisk2で例示します。
  3.  /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator print /dev/disk2コマンドを入力し、より詳細にdisk2の状態を確認
  4.  /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 fullDevice ~/external-hdd ideコマンドを入力する
  5. 自分のホームディレクトリ直下にexternal-hdd.vmdkというファイルが出来てる。
  6. VMware Fusionで新規に仮想マシンを作成する
  7. 作成した仮想マシンのファイルがある場所までFinderで移動する
  8. 対象のファイルを右クリック -> パッケージの中身を表示する
  9. 中にvmxファイルが入っています。このフォルダに5.を移動させておく
  10. vmxファイルをテキストエディタで開く
  11. ide0:0の設定部分を全て削除し、新たにide0:0.present = “TRUE” と ide0:0.fileName = “external-hdd.vmdk”の設定を書き加えて保存しておく。
  12. 仮想マシンを起動してみる。この時、USBメモリはちゃんと刺しておかないといけませんし、/dev/disk2と違う所にマウントされていてはなりません。
  13. 無事に起動する

といった具合です。USBブートは手軽さが売りなので、ここまでして起動するというのはちょっと向いていないですね。USBHDDを接続して、Mac本体の容量を節約するなんて時につかったほうが効果はあると思います。

screenshot_388

図:USBメモリは/dev/disk2としてマウントされてるようです

ESCキーを押してブート

起動時にF2キーを押すことで、BIOS画面に入りますが、ESCキーを押すとブートメニューが出てくるので、そこからCD/DVDブートが可能です。優先順位を設定していてもこの方法であれば、任意のデバイスから起動出来ます。ただし、USBメモリからの起動は出来ません。

screenshot_385

図:あまり知られていないブートメニュー機能

※他にもEFIブートでUSBディスクから起動する方法などがあります。暇を見つけてやってみたいと思います。

右クリック時のアプリで開く項目をリセットする

自分自身、ホスト側のファイルをそのまま直接ゲストOSやツールで読み込ませて起動するなんてやり方はこれまで殆ど使ったことがありません。必ず手動でゲストOS側からツールを起動させて、ファイルを探索させにいくようにしています。そうなると、困るのが、いくつもの仮想環境を導入したり、使っていくうちに、ファイルの右クリックで出てくる「このアプリケーションで開く」の項目がどんどんごちゃごちゃ、追加されていってしまう現象です。

しかもこれ、仮想環境を取り除いてもそのまま残ったりもします。

ということで、「このアプリケーションで開く」に追加されないようにする方法と、追加されてしまった項目をクリーンアップする方法を覚えておくと良いでしょう。

リセット手順

リセットはターミナルを利用して行いますので、慎重に作業をしましょう。以下のコマンドを実行します。

  1. FinderをOptionキー押しながら右クリック
  2. 再度開くを実行

これで、整理がされて、右クリックの動作も軽快になるはずです。VMwareだけでなく、Parallelsでも有効ですので、活用しましょう。

追加させない方法

リセットした後、仮想環境を起動する前に、右クリックメニューに仮想環境内のアプリケーションが追加登録されないようにしましょう。以下の手順で行います。

  1. その仮想環境の設定項目を開く
  2. 「デフォルトアプリケーション」を開く
  3. 「Windowsアプリケーションを使用して、MacのファイルおよびWebリンクを開く」のチェック項目を外す

これで完了。起動しても、右クリックメニューに仮想環境内のアプリケーションが出てきたりしなくなります。

screenshot_289

図:デフォルトアプリケーション設定の内容

キーマッピングをして快適なキーボード操作

VMware FusionではホストがOSXなわけですが、ゲストではWindowsを利用する機会が圧倒的に多いかと思います。しかし、どうしてもキーボードの仕様が違うので、Windows操作をする上で困るシーンがいくつかあります。主な困るシーンは

  1. 日本語入力キー
  2. Ctrlキー
  3. Windowsキー

の3点かと思います。これらのキーカスタマイズでは、自分は以下の作業をあらかじめ行っています。ちなみに、見えるキーボードというツールを使うと、現在押してるキーがどれに該当するのかわかるので、便利ですよ。

  • ゲストOSのキーボードプロファイルにて「キーマッピングを有効」のチェックを外す
  • Macホストショートカットを有効化のチェックを外す
  • Windowsキーでは以下を使用を「右コマンドキー」に設定。

日本語入力キーをカスタマイズ

デフォルトでは、JIS配列ならば「英数キー」が日本語入力キーのON/OFFになるのですが、OFFが半角英数入力なのであって、期待してるIMEのOFFじゃなかったりします。これ、WindowsキーボードのCaps Lock/英数キーに該当します。しかし、半角/全角にしたいのです。そこで使うのが「秀Caps」というツールです。

  1. 秀Capsをインストールし、再起動する
  2. 秀Capsをタスクバーより、設定を起動する
  3. 日本語キーにて、「無変換キーで漢字ON、英数キー2回で漢字OFF」をチェックする
  4. 適用ボタンを押す

これで、「英数キー」で日本語入力のオンオフが半角/全角と同じ挙動になります。

screenshot_290

図:秀Capsの設定項目

Ctrlキーをカスタマイズ

ショートカットキーなどで良く利用するCtrlキーですが、デフォルトではcontrolキーがそれに該当しています。しかし、非常に押しにくい位置にあるキーなので、このままだとExcelなどでの操作で支障が出ます。OSXと同じく、commandキーをCtrlキーにしたい所です。これを実現するためのツールが、Keyswapです。割りと古いツールなので、起動するためには、「管理者権限」を付与して起動します。

起動したら、入れ替えたいキー設定を作成して保存をします。

  1. キー名のセルを触って、左commandキーを押します。
  2. 変換キー名は、右側のキーボードの図より、変換したいキーを押して決定します。ここでは、左Ctrlキーを割り当てました。
  3. ファイルへ保存をクリックして適当に名前を付ける
  4. 終了する

再起動すると、そのキーアサインが変更されます。これで、左commandキーでCtrlキーとなり、ゲストOS上でのショートカットキーの活用が便利になります。

※VMware自体のMacホストショートカットキーでは、Windowsキーは右コマンドキーに割り当てておくと良いです。

screenshot_293

図:keyswapで設定中の画面

Windowsのセッティング

VMware Fusion上でWindowsを使用する上では、いくつかの注意すべき点があります。取り分けSSDを搭載したMacbook Airなどのマシンを使う上では必要なセッティングがいくつかあります。HDD仕様のMacbook Proであるならば不要なものもありますが、以下のセッティングを施しておいて損はありません。但し少々リスクのあるセッティングもあるので、自己責任でやりましょう。

SuperfetchとPrefetch

SuperfetchとPrefetchは、Windowsのバージョンにもよりますが、Windows7以前と以後とで機能をオン・オフしたほうがパフォーマンスが向上する事が期待できます。

  • Windows7以前のOSの場合は、SuperfetchとPrefetchはオフにしましょう。
  • Windows8以降のOSの場合は、SuperfetchとPrefetchはオンにしましょう。

外付けドライブ使用時の注意点

自分が嵌った事例なのですが、VMware Fusion 8にて、USBメモリをフォーマットしようとした所、「Windowsはフォーマットを完了できませんでした」と表示され、フォーマットが出来ずに、またヘタすると認識もしなくなる症状に出くわしました。回復ドライブをUSBドライブに作成してみようと思って作業をした時に出たのですが、きちんと、OSXではフォーマットが出来るし、使えるのです。

ここには2つ嵌ったポイントがありましたので、ここに備忘記録として残しておこうと思います。

Mac側でフォーマットする場合の注意点

MacでUSBメモリをフォーマットする場合は、ディスクユーティリティを使用しますが、この時きちんとMS-DOS(FAT)やexFATでフォーマットをしてるにも関わらず、仮想マシン内のWindowsで認識出来ないケースがあります。フォーマット自体はこれで正しいのですが、問題なのはフォーマットオプションがオカシイ場合にこれが発生します。以下の手順でそれを確認しましょう。

  1. ディスクユーティリティで対象のディスクを選択し、パーティションを開きます。
  2. パーティションレイアウトを1パーティションにして、フォーマットはMS-DOS(FAT)とします。
  3. オプションボタンを押します。
  4. この時、GUIDパーティションテーブルになっているケースがあります。これをきちんとマスターブートレコードに変更します。
  5. 適用ボタンを押してフォーマットを開始します。
  6. これできちんと認識されます。

screenshot_384

図:マスターブートレコードにしておく事

VMware FusionのUSBコントローラの設定

このセクションの一番の肝ですが、VMware Fusion 8ではUSBコントローラの互換性の項目に1.1/2.0/3.0の3種類があります。この項目がデフォルトで3.0になっていました。しかし、自分が使ってるUSBポートは2.0です。ここが3.0のままだとフォーマットがちゃんと出来ないようです。そこでこの項目を2.0にして再びフォーマットを実行してみた所、バッチリフォーマット出来、Windowsの回復ドライブを作成する事ができました。

逆も然りで、USB3.0デバイスを2.0設定のままつなげると認識しないというケースがあります。この時は逆に3.0にするとちゃんと使えるようになります。なんだか不便ですね。主に外付けHDDで遭遇するケースが多いですね。

※ゲストOSがWindows7の時にUSB3.0デバイスを使う場合には、Intelのサイトからドライバをダウンロードしてインストールする必要があります。

screenshot_383

図:ここが3.0だとフォーマット出来ない事があります。

仮想メモリ

仮想環境下で仮想メモリを使用するかどうかは判断が分かれます。仮想メモリを使用する設定の場合、ディスクサイズを最適化しても毎回起動する度に再利用可能領域が大きなサイズで生まれます。当然、SSD領域を使って作ってるわけで、HDDでない場合ちょっと躊躇します。メモリを多く割り振れるのであるならば、仮想メモリはオフにしましょう。そうすることでページファイルが作成されなくなるので、SSDへの負担を軽減できます。また、オンメモリとなるので高速化されますが、一方でメモリ不足に陥る可能性もありますので注意が必要です。

  • 仮想マシンに多くメモリを割り当てられる場合には、仮想メモリはオフにしましょう。
  • 仮想マシンに多くメモリを割当られない場合には、仮想メモリはオンにしましょう。

システムの復元

Windowsのバージョンによってちょっと話が変わってきますが、仮想環境下でシステムの復元はいくつか考えなければいけないことがあります。それが、システムの復元が必要なのかどうか?という点です。自分の場合、重要な変更を行う場合には、VMware Fusionのスナップショット機能を利用するので、システムの復元は無効にしてあります。また、Windows10の場合、128GB以下のディスクサイズの場合デフォルトでシステムの復元が無効にされています。各々でこれを考慮した上で、システムの復元機能は利用しましょう。

当然、システムの復元を利用するとその分ディスク使用領域は圧迫されますので、注意が必要です。

  • スナップショットを活用する場合とディスク容量に余裕がない場合には、システムの復元はオフにしましょう。
  • ディスク容量に余裕がある場合には、システムの復元はオンにしましょう。

トラックパッドの右クリックとドラッグ

Macbook Airなどのトラックパッド操作でVMware Fusion上のWindowsを操作する時には若干癖があります。特に、Windowsでは当たり前の操作でもMacでは使わない操作があったりするのですが、特に右クリックと右ドラッグアンドドロップなどは特にそれに該当します。まず、普通のドラッグ&ドロップと右クリックですが

  • 普通のファイルのドラッグアンドドロップは、マルチタッチ三本指でタッチしたままドラッグする。
  • 右クリックは、マルチタッチ二本指でタッチ。

しかし、Windowsでは右クリックで掴んだまま、他のフォルダ上で離すとサブメニューを出す(ここにファイルを解凍などのメニューが出る)場合、デフォルトの状態だと、VMware Fusion上ではこの操作が出来ません。この操作をするためには、以下の設定をしておきます。

  1. タイトルメニューのVMware Fusionをクリックし、環境設定を開く
  2. キーボードとマウスの項目の中のマウスショートカットを開く
  3. ボタン3にチェックを入れて閉じる

この設定であれば、Commandキーを押しながらマルチタッチ三本指でドラッグ&ドロップすると、サブメニューを出す事ができます。つまり、右ドラッグアンドドロップが出来るようになります。

screenshot_431

図:右ドラッグアンドドロップ設定

open-vm-toolsについて

VMwareは2015年より、LinuxのVMware Toolsに関しては、オープンソース化し、open-vm-toolsという形で各ディストリビューターにお任せするという方針に転換しました。現在でも、VMware提供のVMware Toolsは提供されてはいますが推奨されていません。よって、今後はメジャーなディストリビューションをVMwareの仮想マシンのゲストOSとして利用する場合には、aptやyumコマンドなどを使って、open-vm-toolsをインストールする方式になります。各ディストリビューションに最適化されてるものが、リポジトリに登録されており、OSのバージョンアップと同時にアップデートもされるので手軽でより簡単になっています。なお、open-vm-toolsはGithubにて公開されています。

open-vm-toolsは基本的にはこれまでのVMware Toolsと機能的には変わりません。但しホストとゲストの間でのファイルのドラッグアンドドロップに関しては、WorkstationとFusionでのみサポートしているようです。また、一部のディストリビューションでは、ファイル共有機能が機能しないケースがあるようです。

旧来のVMware Toolsのインストール

VMware Toolsのインストールを実行するとCDの形でゲストのLinuxにマウントされます。CDの中にはtar.gzのファイルが入ってるので、ホームディレクトリにでもコピーして中身を取り出します。解凍したディレクトリ内には、vmware-install.plが入ってるので、ターミナルで以下のコマンドを実行する。

あとは指示にしたがって、yとかnとか解凍し、再起動すればVMware Toolsのインストールは完了です。

open-vm-toolsのインストール

メジャーなディストリの場合、基本的には標準のリポジトリに登録されているので、以下のコマンドを入力して再起動するだけでOK。

UbuntuやDebian GNU Linuxであれば

もしくは

事前にgccなどが入っていなければ、いれておくとエラーにならずに済むかもしれません。以下のコマンドでインストールしておきましょう。Debianなどでは必要のようですが、Ubuntuでは必要ではないようです。

CentOS7やRedHat7系であれば

VMware Toolsのアンインストール

open-vm-toolsはVMware Toolsとは共存が出来ません。よって、事前にVMware Toolsがインストール済みの場合には、アンインストールする必要があります。以下のコマンドでアンインストールします。

アンインストールを行ったら、再起動してopen-vm-toolsをインストールしましょう。

ファイル共有の確認

ファイル共有機能をONにすると、WindowsをゲストOSとしてインストールした場合と同じく、共有フォルダ経由でホストOSとやり取りが可能になります。/mnt/hgfs以下にマウントされるようになります。ubuntu 16.04では事前に作成しておかないとダメみたいです。

万が一マウントされていない場合には、fstabに追記をすればよいでしょう。nanoなどで/etc/fstabを開き以下の1文を追記します。/mntディレクトリにhgfsフォルダも作っておきます。

また、現在共有フォルダとして有効になっているかどうかは、vmware-hgfsclientコマンドで確認が出来ます。なお、手動マウントは、以下のコマンドです。

screenshot_391

図:Macのデスクトップを共有に加えてみた

Ubuntu Linux 16.04を試してみた

Ubuntu Linux 16.04 64bitで試してみました。

  • VMware Fusion 8でISOファイルを指定しての仮想マシン作成では、コマンドを打たなくても最新のopen-vm-toolsが最初から入るようになっているようです。
  • 但し、ファイル共有機能に関してはフォルダを事前に/mnt/hgfsで作成しておかないとダメのようです。
  • また、起動時に自動的にマウントもされないので、/etc/fstabに自動マウントを追記しておきました。
  • ファイルのドラッグアンドドロップはバッチリ問題ありませんでした。
  • 画面解像度の変更等は全く問題ありませんでした。
  • クリップボードのホストからゲストの共有とコピペは問題ありませんでした。
  • 共有フォルダの追加は再起動無しにリアルタイムで行えます。
  • その他パッチや設定等は必要ありませんでした。

Kernel 3.x系の問題

open-vm-toolsをインストールしたけれど、マウントされていないケースに於いて、Linux Kernelが3.x系の場合パッチを当てなければならないケースがあるようです。以下のコマンドでパッチを当てます。

テキスト編集で追加する設定

VMware WorkstationおよびFusionはGUIからは設定できない項目がいくつかあります。テキストエディタ等で直接拡張子がvmxのファイルを弄る事で可能な細かなカスタマイズがあります。そういった設定の中で、より快適に使用する上で役に立つ設定関係を紹介しようと思います。

Direct3D関係

VMware Fusionだと8、Workstationだと12からVMwareの内部の仕組みが大きく変更されています。DirectX10対応やWindows10対応と言う触れ込みですが、ネットでのいくつかの記事を見てみると逆に旧OSでのパフォーマンスが落ちたという評価を耳にします。主にゲームなどがそれのようでDirectX10に最適化した結果、DirectX9以前のパフォーマンスが落ちたのではないかという事です。そんな時に以下の設定を書き込むと、以前のパフォーマンスが得られるという事。アンチエイリアシングも有効になります。

当然ですがこの設定は、3Dサポートが有効に出来る要件を満たしてるPCでのみですので、ロースペックマシンでは使えないと思います。

5ボタンマウスを使えるようにする

あまり使っている人は多くないと思いますが、5ボタンマウスは、マウスで戻る進むといったアクションを実行できます。最近ではマルチタッチジェスチャなどもあるので、利用頻度は少ないと思いますが、このマウスを使ってこのアクションを実現する為の設定は追加する必要があります。

仮想環境を高速化する

昔からある設定なのですが、仮想環境側のディスクアクセスを減らし、ホストからメモリを固定的に確保して、使用する設定です。一つ一つには意味があるのですが、これをワンセットでvmxに記述する事でパフォーマンスが向上します。しかし、メモリの少ないマシンの場合、逆に全体のパフォーマンスを悪化させる事にもなるので、メモリ容量に余裕のあるマシンで利用するようにしたほうが良いと思います。

BIOS起動画面を表示する時間を変える

VMwareのBIOSへ入る為の画面は一瞬しか表示されないため、F2キーを押すタイミングが合わずに再起動という経験は結構あります。このタイミングというか時間を伸ばす為の設定が以下の設定です。単位はミリセカンドなので、1000で1000ms(1秒)となります。

画面解像度を固定化する

あまり多くの人は使わないと思いますが仮想マシンの画面解像度を固定化する設定です。昔からある設定ですが、特定の人に需要のあるものです。この設定を行うことで勝手に解像度が変更されたりするのを防ぐことが出来ます。以下の設定では、1024 * 768のサイズで固定化されます。

仮想マシン上での動作を拒否するソフトウェアを誤魔化す

一部のソフトウェアに於いて、仮想環境上での動作をさせないようにしてるソフトウェアがあるようです。そうしたソフトウェアを動くようにする為の設定が以下の例。必ずしもこれで全てのソフトウェアが動くようになるわけではないのですが、一例として。

EFIを利用してブートする

64bit OSに於いて、BIOSではなくEFIを用いてブートさせる為の設定です。VMwareはデフォルトでBIOSを使う設定になっているので、OSをインストールする前にこの設定を加えておかないといけません。インストール後に変更は出来ませんので注意!!

BIOSを変更する

VMwareのBIOSはカスタムROMが使えるようになっています。ですので、特定の用途に於いてカスタムBIOSでないと困るケースではこの設定を使うと仮想マシンを構築できるかもしれません。

日本語JISキーボードを認識させる

VMwareにOSをインストール後、キーボード操作した時に英語101キーボードとして認識されているケースがあります。特に、VMware Fusion 8にてOSX 10.11 El Capitanのインストール時などはソレに該当し、非常に使いづらい。これをきちんと日本語JISキーボードとして認識させる為の設定が以下の設定です。この設定で起動すると、キーボード設定アシスタントが起動してくれます。

Nested Virtualizationを有効にする

一般の人には無関係の機能ですが、この設定を行う事で、仮想マシン内で仮想マシンを実行できるようになります。例えば、VMware Fusion内でHyper-VやKVMを使うといった感じです。物凄くマシンパワーも必要としますし、仮想化支援の為のIntel-VTに対応してる必要があるなど要件は高めです。

スナップショットやサスペンドファイルの作成場所を変更する

これらのファイルサイズが大きい一時ファイルの作成場所を変更する為の設定です。別に高速なドライブなどがある場合、パフォーマンスの向上にも繋がります。

仮想HDDのシリアルナンバーを有効にする

VMwareでは、デフォルトで生成される仮想HDDファイルのUUIDはOS側からは見えないようになっています。一部のプログラム等がこれを利用していて、見えないと起動しないようなケースでは以下の設定をONにします。

問題のHDDのシリアルナンバーはvmdkファイルの中に記述されており、ファイルの冒頭部分に該当の箇所があります。以下がそのサンプル

この中でddb.uuidがシリアルナンバーという事になります。現在使ってるHDDのシリアナンバーことuuidは16進数で記述されているので、ここを変換する。オリジナルのHDDのシリアルナンバーを調べて、シリアルナンバー書き換えツールなどで書き換えると良いのではないかと。HDDのシリアルナンバーは、コマンドプロンプトより、wmic diskdrive get serialnumberと入力すると取得できます。但し、シリアルナンバーの書き換えはデータの喪失の可能性もあるので、十分な注意と準備が必要です。

ゲストOS別のテクニック

VMware FusionやVMware Workstation Playerでは、ゲストOS毎に環境構築上のテクニックがあります。Windows7以降の殆どのWindowsやLinuxではそういったテクニックは必要ないのですが、昔のOSをインストールする際には主にデバイスドライバ関係でトラブルが生じる事があります。気が向いたら色々なOSでのテクニックをココに残しておこうと思います。

CloudReady

CloudReadyとはChrome OSベースで作成されているneverwareが提供してるChromebook化する為のツールです。しかし、ChromeOS自体は独立して配布されておらず、同様のものにChromium OSがありますがバイナリでの提供がされていないため、日本国内ではChromium OS カスタムビルドChromium OS Canalとして有志がビルドしたものが配布されています。これはそのうちの1つです。尚、Chromium OS カスタムビルドでは、仮想マシン向けにも仮想HDDが用意されているので、VMware Fusionに導入は簡単にできます。

さて、このCloudReadyですが、今回は64bit版を使っています。USBメモリに焼いてブートさせるタイプのものなので、そのままではVMware Fusionにはインストールが出来ません。というかUSBからなので、起動すらしません。また、64bit版はEFIブートを要求するので、Prop Boot Managerでのブートも使えません。UnOfficialなものは有志が作ったものがありますが、CloudReadyはGoogleアカウント必須なので、ちょっと手が出しづらい。ということで、どうにか自前でインストールできないか調査してみました。

ディスクの作成自体は、こちらのサイトで細かく紹介されていますので参考にしてみてください。今回はインストールと起動までを挑戦します。参考にしたサイトは、こちらのサイトです。

  1. 仮想マシンはLinuxで、other 64bitを選択。メモリは2GBを指定しました。
  2. インストール先用の仮想HDDはSATAで作成してみました。今回は20GBで設定しました。
  3. CD-ROMドライブは不要なので削除しておく。
  4. EFIブートが必要なので、vmxファイルにfirmware = “efi”を追記する
  5. USBメモリからブートさせるために、物理ディスクを指定してブートを参考にexternal-hddを用意して、vmxに追記する。
  6. VMware Fusionの起動ディスクをexternal-hddのものを指定してブート。
  7. 無事にブートしたら、CloudReadyのロゴが出ます。
  8. 起動したら、言語とキーボードを設定して、Googleアカウントを入力します。
  9. 通常ならばCloudReadyが起動したら、右下の時計をクリックしてInstall CloudReadyをクリックするのですが、この方法は使えません。通常USBメモリから起動した場合は、rootは/dev/sdaなのですが、HDDとして認識してるので、/dev/sdbとなっています。なので、sdaがHDDでUSBメモリがsdbだと、インストールができません。
  10. Ctrl + Alt + F2キーを押すと、コンソールモードになります。chromium osのようにChrome上のターミナルであるchroshでのインストールはできません。
  11. ログインします。Userはchronos, Passwordはchromeです。
  12. 入ったら一応、sudo fdisk -lで、ディスク状態を確認。/dev/sdbつまりそれがUSBメモリであることがなんとなくわかるはずです。
  13. cd /usr/sbinでディレクトリを移動します。
  14. sudo chromeos-install –skip_src_removable –dst /dev/sda と入力して、yを押せばインストールが始まります。
  15. インストール中は、VMwareの2台目のHDDが点灯しますので、続行中なのがわかると思います。およそ5分〜10分で終わります。
  16. Installation to /dev/sda Completeとでたら完了です。
  17. Ctrl + Alt + F2キーでGUIモードへ戻ります。
  18. 一旦シャットダウンします。右下の時計をクリックして、終了ボタンを押します。
  19. USBメモリをアンマウントして取り外します。
  20. vmxファイルをテキストエディタで開き、ide:0:0の記述2つを削除します。
  21. 再度、仮想マシンを起動します。もう一度言語とキーボードを選びます。
  22. Flashインストールするか?を聞かれてきますが、適当に流します。
  23. Googleアカウント入力画面が出るのですが、キーボードは英語のまま。@マークはShift + 2で出ます。アンダーバーは、Shift + ほで出ます。
  24. 時計が狂ってるので、タイムゾーンを直したり、キーボードがおかしかったらGoogle日本語入力キーボードを選び直します。
  25. 灰色の背景ではありますが、これでインストールと設定は完了です。壁紙はGoogle Driveにあるものを指定することもできたりします。
  26. 日本語入力切り替えはCtrl + Shift + SpaceというLinuxの流儀ですが、こちらのサイトで詳細がかかれています。
  27. Chromeウェブストアよりアプリや、Chromeのエクステンションを追加して強化しましょう。FileSystem for WindowsNetwork Fileshare for ChromeOSなどはオススメです。Androidアプリも本家は対応したので、Chromiumも対応してくれると嬉しいですね。
  28. ブックマークや拡張機能類やセッティング、履歴等は自動的に同期されるので、面倒な手間は一切ありません。

図:USBディスクを作成中です

図:起動中の画面

図:セットアップ作業開始

図:通常のインストール中の画面。今回はこれはNG.

図:コンソールモードで作業中

図:無事起動。壁紙も変更した。

WindowsNT4

SVGAドライバ類に関しては、普通に最新のVMware Toolsをインストールするだけで問題ないのですが、マウスドライバやEthernetドライバ関係で事前に設定が必要です。

  1. VMware Toolsをインストールするには、ゲストのNT4.0はSP3の状態にまでアップデートしておく必要性があります。面倒なのでSP6まで一気に作業しちゃいましょう。現在はMSサイトからの入手は出来ません。昔の雑誌などに付録CDで添付されていたりするので、そういったものから、日本語版sp6full_i386.exeを入手しましょう。黒翼猫氏のページでSP6は入手が出来ます。
  2. マウスドライバがインストーラでは入りません。手動で入れる必要があります。Program FilesフォルダのVMware -> VMware Toolsの下にDriverフォルダがあるので、コンパネのマウスでPS/2マウスから手動でドライバを当てて、VMware Pointing Deviceに変更します。また、既存のNT4仮想環境をアップデートした際に、マウスカーソルがぴょんぴょん飛ぶことがありますが、最新のVMware Toolsを入れ、同じように手動でドライバを当てると治ります。
  3. Ethernet DriverはOS標準で用意されてるAMD PCNET PCI Ethernetドライバを使用します。インストール時に
  4. VMware Toolsではサウンドドライバがインストールされません。別途Sound Blaster Ensoniq Audio PCIのNT4用ドライバが必要で、入手が困難です。こちらのサイトには残ってるようです。
  5. VMware Workstation Playerでは、サウンドドライバに関しては、VMXにsound.virtualDev = “sb16″と記述して、Sound Blaster 16として認識させることも可能です。ただし、いずれもドライバは手動でインストールが必要です。コンパネのマルチメディアにて、デバイスの追加で行います。VMware Fusionではsb16は未対応なので、使用する事は出来ません。
  6. Internet Explorer6 SP1が最新のウェブブラウザになります。これは手動でインストールが必要です。すでに配信停止になってるので、黒翼猫氏のページで入手が可能です。
  7. インストール後は、キーボードがなぜかデフォルトでは101英語キーボードになったりするので、106日本語キーボードに変更しておきましょう。

screenshot_392

図:未だに企業で使われてるというNT4

その他

ファイルをロックできませんでしたエラー

主に既存の仮想環境を外部HDD等に移動させて、起動しようとした時などに起こるのですが、VMware Fusionにインポートした後に起動しようとすると、「ファイルをロックできませんでした」というエラーが出る事があります。これは、移動前になんらかのエラーでVMware Fusionが強制終了した場合や、例えばサスペンドしたまま移動させた等の時に起こりうる現象です。

対策としては

  • 移動時などは事前に仮想マシンはきちんと終了させておく。サスペンドなどにはしておかない。
  • スナップショットを取ってる場合には、スナップショットを削除しておくと良いでしょう。
  • 強制終了してしまった場合は、起動時にこのエラーが移動させていなくても出ることがある。その場合には、lckというファイルを削除する

となります。VMware Fusionにおいてlckファイルを削除する手順は以下のような感じです。ちなみに当たり前ですが、仮想マシンが起動中は削除ができませんのでご注意を。以下、Windows8の場合の参考事例を記述します。

  1. 仮想マシンが保存されてるフォルダ(例:ホームフォルダ下の書類→仮想マシン以下)を開く
  2. 対象の仮想マシンを右クリックして、パッケージの内容を表示をクリック
  3. 内部に入れるので、Windows 8 x64.vmx.lckや仮想ディスク.vmdk.lck、ランダムな数値.vmem.lckの3個のファイル(というかフォルダ)を削除します。
  4. 再度、仮想マシンを立ち上げてエラーがでなければOK

図:lckと名前のついたフォルダを削除する

VMware Workstation Playerでのサウンドの問題

VMware Fusionではなく、Windows版のVMware Workstation Playerにて、ホストのWindowsマシンのサウンドデバイスがRealtekの場合に、ゲストにLinuxをインストールすると、「A device ID has been used that is out of range for your system」というメッセージが出る現象があります。自分のゲーミングPCでも問題が出ました。この問題は、ホスト側の問題のようで、以下の手順でRealtekの設定を変更すると解消するようです。

  1. コントロールパネルの中にある「Realtek HD オーディオマネージャ」を開く
  2. 右上にあるフォルダのような黄色いアイコンをクリック
  3. 「フロントパネルジャックの検出を無効にする」にチェックを入れてOKを押す

これだけです。ただこれ、音でないんですね。ホスト側の・・・

音がでないというのもアレなので、フォーラムの話題を元に以下の処置を行いました。

  1. vmxファイルのsoud.autodetect行を削除し、sound.virtualDev = “hdaudio”と記述を追加した。
  2. ターミナルより、sudo dpkg-reconfigure linux-sound-baseコマンドを実行する
  3. 指示に従い進めて、ALSAを選択してリブート
  4. まだレコーディングがどうとかエラーは出るものの、音は出るようになった。

ということで自分の場合、Realtek云々のくだりを何もせずにvmxにhdaudioを追加して、dpkg-reconfigureで直せました。これでホストもゲストも音が出ます。

realtek

図:Realtekのサウンドデバイス設定画面

alsasound

図:ALSAサウンドを選択したら音が出た

Windowsでセーフモードで入る

自分もよく忘れてしまうのですが、VMware FusionはホストがOSXであるため、セーフモードに入るといっても、F8キーを押してもホストにキャッチされてしまうので、そのままでは入れません。他のファンクションキーもOS起動後であれば利用できますが、Macには存在しないBreakキーやNumLockキーなどはそのままではどうにもなりません。これらは、標準の機能で送信できます。ここでは、セーフモードに入る方法を記述します。

  1. Windows系のOSを起動する
  2. 起動してVMwareのロゴが終わる間際にF8キーで入るのですが、その時にメニュー⇒仮想マシン⇒キーの送信⇒F8を選択
  3. これで入れるのですが、F8キーを受け付けてくれる時間が非常に短いです。タイミングを見計らいましょう。
  4. Windows10の場合、旧式のF8でセーフモードに入れるように事前に設定しておく必要性があります。
  5. Windows8と10の場合、VMwareのロゴが出る前にキーを準備しておき、ロゴが出たら送信すればOKです。Windowsのロゴが出てしまってからでは遅いです。
  6. 他にもmsconfigで設定して再起動すると入れますが、通常セーフモードが必要な時というのは、OSが通常起動できなくなった時なので、この手法はアテにできません。
  7. 当たり前ですが、セーフモードでは最低限のドライバのみで実行するので、VMware Toolsの機能は無効になります。よって画面解像度なども変更は出来ません。

screenshot_340

図:Windows10でセーフモードに入った

関連リンク

Pocket
このエントリーをはてなブックマークに追加
Bookmark this on Yahoo Bookmark
Pocket