macOSでVMware Fusionを快適に使う方法
OSXに於けるメジャーな仮想環境と言えば、VMware Fusion、VirtualBox、Parallels、Hypervisor.frameworkの4つになりますが、自分の場合、他のプラットフォームでも利用する機会があるという点と、使い慣れているという事で、VMware Fusionを利用しています。しかし、OSXでVMware Fusionを使う上で、いくつか気になる点があるのも事実。という事で、これまでVMware Fusionを利用していて不便に思った点などを解消するいくつかのテクニックをここでまとめてみたいと思います。
※2024年5月、Broadcomに買収されてVMware Fusion Pro 13が無償公開されました。
目次
- 1 仮想HDD・FDDの操作テクニック
- 2 ちょっとしたテクニック
- 3 Windowsのセッティング
- 4 テキスト編集で追加する設定
- 4.1 Direct3D関係
- 4.2 5ボタンマウスを使えるようにする
- 4.3 仮想環境を高速化する
- 4.4 サイドチャネル緩和のオフ
- 4.5 BIOS起動画面を表示する時間を変える
- 4.6 画面解像度を固定化する
- 4.7 仮想マシン上での動作を拒否するソフトウェアを誤魔化す
- 4.8 EFIを利用してブートする
- 4.9 BIOSを変更する
- 4.10 日本語JISキーボードを認識させる
- 4.11 Nested Virtualizationを有効にする
- 4.12 スナップショットやサスペンドファイルの作成場所を変更する
- 4.13 仮想HDDのシリアルナンバーを有効にする
- 4.14 uuidを固定する
- 4.15 カスタムBIOSを利用する
- 4.16 ホストマシンのBIOS情報を見せる
- 4.17 ゲストマシンにホスト用ディスクを使う場合
- 4.18 起動時にBIOSセットアップ画面に入るようにする
- 4.19 仮想マシンのシステム時刻の設定
- 4.20 サウンドカードに別のカードを指定する
- 4.21 仮想マシンの音飛びがする時は
- 4.22 仮想TPMモジュールを追加する
- 4.23 移動先で起動しなくなる
- 4.24 移動先でフルスクリーンで起動してしまう
- 5 open-vm-toolsについて
- 6 ゲストOS別のテクニック
- 7 その他
- 8 関連リンク
仮想HDD・FDDの操作テクニック
NHCで仮想ディスクを変換
VMware Fusionは例えば、VirtualPCなどで制作したVHDなどの仮想HDDファイルをインポートする事が出来るようになっています。しかし、変換がうまくいかなかったり、VMDKでやはり運用したいと思う事はしばしばあります。特に古いVHDなどのファイルは変換がうまくいかないケースも多いです。そこで役に立つのが、NHCと呼ばれるツール。このツールは、VirtualPCのVHDや、VirtualBoxのVDI形式、ParallelsやQEMUなどの仮想HDDにも対応していたりします。
これらを相互変換してくれるツールで、事前にきちんとシャットダウンしておき、それから変換を掛けましょう。
ツール自体は、Windows版を中心に開発が続けられているものなので、OSX版もありますが古いバージョンしかない状態です。そこで、自分の場合Windows版のNHCをEasywineを使って、OSX上で動作させています。使い方はとても簡単。但し変換に時間が掛かりますので、じっくり待ちましょう。
図:NHCをeasywineで起動してみた様子
使い方
- 参照ボタンを押して、仮想HDDファイルを選択し、次へ進む
- 変換形式を選択します。今回は、VMDKを選びますが、他にも色々選択できます。
- 変換オプションとして、VMwareのバージョンや接続形式の選択を選びます。今回はIDEでバージョンは11を選びました。
- 変換先ファイル名という事で、保存場所を参照ボタンを押して選びます。
- 次へボタンを押すと変換が開始されます。
- 完了したら次へボタンを押して、閉じてしまって構いません。
変換後は、この仮想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まで対応していますので、頼もしいツールです。
注意点として
- VMware, VirtualBox, VirtualPCなどに対応していますが、Parallelsには対応していないようです。
- 仮想HDDのマウントで対応してるフォーマットは、FAT32, NTFS, exFAT, HFS+のようで、Linuxのファイルフォーマットはダメみたい。
図:Windows8.1のVMDKをマウントしてみた
※当然、外す時には、ISOファイルを扱う時と同じく、アンマウントしましょう。
尚、Windowsの場合は、OSFMountというVMDKファイルをマウントし、マイコンピュータ内にドライブとしてマウント出来るツールがあります。読み込みのみで機能的には制限されますが、Windowsユーザ必携のツールです。同じようなものに、Virtual HardDisk Utilityや公式サイトのコマンドラインツール(古いです)やVDDK、NVXといったツールがあります。Workstationの場合、標準で仮想マシン設定にユーティリティとしてドライブにマッピングする機能が付いています(読み書き可能)。
仮想FDDを利用する方法
古いOSのインストール時や、古いアプリケーションに於いて、FDDでないと読み書きが出来ないように作られてるケースでは、どうしても、フロッピーディスクが必要になる場合があります。一番良いのは、ポータブルのFDDをUSB接続でゲストOSに接続して使うべきなのですが、どうしてもそうはいかないケースの場合に利用します。
仮想FDファイルを作成
VMwareは空っぽのファイルを作って、拡張子flpなどにするだけで、仮想FDDファイルとして扱うことが出来ます。但し、未フォーマットであったりするので、WinImageというソフトウェアを使用して、仮想FDDファイルを作れます。このツールで作成後に、拡張子をflpにすれば問題なく使えます。後は、空のflpファイルを複製して使い回しをすれば良いでしょう。自分の場合、このツールをCrossOver Macで起動して作っています。
使い方は簡単。起動したのち、Newにて新規イメージを作成し、そのまま空の状態で保存すれば良いです。保存後に拡張子をflpに変更しましょう。もちろん、色々作った後のflpファイルも、このツールであれば読み書きが出来ますので便利です。
図:WinImageで仮想FDDを作っている様子。
仮想FDファイルを読みこませる
作成したflpファイルはそのままでは、VMware Fusionではどうにもなりません。仮想HDDの時と同じく、仮想FDDデバイスを追加しましょう。
- 設定画面より右上の【デバイスの追加】ボタンを押します。
- フロッピードライブを選択します。
- 作成しておいたflpファイルを指定します。
これでOKなのですが、起動ディスクとして使いたい場合等では、vmwareのBIOS設定もさることながら、同じく設定画面にて起動ディスクにて、フロッピーを選択しておく必要性があります。
図:フロッピードライブを追加する画面
仮想FDDドライブを実現するソフトを使う
VMware側で対応するのではなく、ゲストOS(Windows)側で仮想FDDを装備させて運用する方法として、ImDisk Virtual Disk DriverやVirtual Floppy Driveを利用する方法があります。どちらも64bitOSでも使用できるので、業務などで特定のソフトウェアがFDD決め打ちで作られてるソフトウェアでFDDがないようなケースなどで利用が出来ると思います。自分も過去になんどかそういったシーンがありました。
WindowsでHDDを拡張する
仮想環境も長く使っているとだんだんディスク容量が足りなくなってくる事があります。データ置き場ならば仮想HDDの追加だけで済みますが、システムディスクだとそう簡単じゃありません。特に最近のWindowsの場合「回復パーティション」が何個もついていたりするので、面倒です。以下の手順でディスクを拡張できます。
- VMwareの仮想マシンの設定画面に入り、ハードディスクを開く
- ディスクサイズの数値を大きくする。
- 仮想マシンを起動する
- コントロールパネルにある管理ツールの「コンピュータの管理」を開き、記憶域のディスクを管理を開く
- HDDの状態を確認し、ディスク後方に回復パーティションがある場合はdiskpartでこちらのサイトを参考に全部削除する
- 未割り当て領域とCドライブ、システムで予約済みの3つとなり、C:を右クリック、ディスクを拡張で広がります。
なお、回復パーティションは、いくらでも後で回復ドライブの作成で作ることができます。
図:拡張自体は簡単。C:の拡張時に回復ドライブが邪魔するんです
図:この回復パーティションをdiskpartで削除する
図:あとは既存パーティションを拡張するだけ
ちょっとしたテクニック
外付けディスクからブート
VMware Workstation およびVMware Fusionは以前はUSBブート出来ませんでしたが、現在はWorkstation 16および Fusion 12以降は特定の設定でUSBブートが可能になりました。しかし、特定の設定以外ではこれまで通り、特殊な指定が必要だったりするので知見として残しておきます。
直接USBブートさせる
これは特定の設定をした仮想マシンの場合に、特定の手順を踏む事でUSBに格納したOSを直接仮想マシン内でブートさせる方法です。最新のVMware WorkstationおよびFusionで可能になっています。その設定は以下の通り。この方法はMBR/BIOSの場合ではなく、GPT/EFIの場合に利用できる方法です。
- 対象の仮想マシンが64bit OSのUEFIを利用してる(vmxファイルにfirmware="efi"が記述されてる必要がある)
- USBコントローラに於いて、USB互換性が「3.1」であること
- USBメモリを仮想マシン側に接続した状態で、仮想マシンを起動させる
- VMwareのロゴが出てる状態で、F2キーを連打する(VMware Fusionの場合)
- UEFIの設定画面になるので、EFI USB Deviceを選んでEnterキーを実行する
- 出てこない場合にはこの画面の状態で、USBデバイスを一度外して再度つなげると出てくる
- すると、USBメモリから起動が始まる
- USBメモリなのでブートまで結構時間が掛かる
- Linux Mintを試しに入れたUSBメモリでやってみた所、無事にブートしました(ハードウェアも問題なく全て認識)
Youtubeなども再生させましたが、普通に閲覧出来ました。GPartedなどのパーティショニングアプリもバッチリ動作しますし、VMDKファイル内のファイルのサルベージなども楽になりました。古い方法は後述の方法になりますが、本当に面倒だったので、楽になったものです。
※rufusなどでディスクを焼き込む場合もGPTを選択肢、フォーマットはFAT32で作成が必要(Windows10 64bitのISO焼き込みなどがコレ)。差し込んで放置しておけば時間は掛かるもののNetwork Bootがスルーされてから自動的に起動するのでF2連打も本来は必要ないです。
図:EFIのブート選択画面
図:USBブート成功しました。
図:EaseUSの復元用ディスクを起動してみた
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では無事に起動しました。
こちらは前者と異なり、MBR/BIOSの場合に利用できるパターンです。
図:Plop Boot Managerを起動した様子
物理ディスクを指定してブート
VMware FusionはVMware Workstationと違って、Bootcampからのインポート機能は合っても、設定に物理ディスクを指定する項目が存在しません。その為、USBディスクを直接指定して起動するといったUSBブートを実現するテクニックがそのままでは使えません。よって以下のちょっと面倒くさい事をやる必要性があります。USBブートしますが、手軽じゃないので、あまりオススメできません。
今回のこのテクニックは、BootcampパーティションをVMware Fusionから起動するのと同じ手法を手動で作成する方法です。
- USBメモリをOSXに接続して、ターミナルを起動する
- diskutil listコマンドで1.のUSBメモリがどのディスクなのかを確認しておく(例:/dev/disk2)。今回はこのdisk2で例示します。
- /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator print /dev/disk2コマンドを入力し、より詳細にdisk2の状態を確認
- /Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk2 fullDevice ~/external-hdd ideコマンドを入力する
- 自分のホームディレクトリ直下にexternal-hdd.vmdkというファイルが出来てる。
- VMware Fusionで新規に仮想マシンを作成する
- 作成した仮想マシンのファイルがある場所までFinderで移動する
- 対象のファイルを右クリック -> パッケージの中身を表示する
- 中にvmxファイルが入っています。このフォルダに5.を移動させておく
- vmxファイルをテキストエディタで開く
- ide0:0の設定部分を全て削除し、新たにide0:0.present = “TRUE” と ide0:0.fileName = “external-hdd.vmdk”の設定を書き加えて保存しておく。
- 仮想マシンを起動してみる。この時、USBメモリはちゃんと刺しておかないといけませんし、/dev/disk2と違う所にマウントされていてはなりません。
- 無事に起動する
といった具合です。USBブートは手軽さが売りなので、ここまでして起動するというのはちょっと向いていないですね。USBHDDを接続して、Mac本体の容量を節約するなんて時につかったほうが効果はあると思います。
ESCキーを押してブート
起動時にF2キーを押すことで、BIOS画面に入りますが、ESCキーを押すとブートメニューが出てくるので、そこからCD/DVDブートが可能です。優先順位を設定していてもこの方法であれば、任意のデバイスから起動出来ます。ただし、USBメモリからの起動は出来ません。
図:あまり知られていないブートメニュー機能
右クリック時のアプリで開く項目をリセットする
自分自身、ホスト側のファイルをそのまま直接ゲストOSやツールで読み込ませて起動するなんてやり方はこれまで殆ど使ったことがありません。必ず手動でゲストOS側からツールを起動させて、ファイルを探索させにいくようにしています。そうなると、困るのが、いくつもの仮想環境を導入したり、使っていくうちに、ファイルの右クリックで出てくる「このアプリケーションで開く」の項目がどんどんごちゃごちゃ、追加されていってしまう現象です。
しかもこれ、仮想環境を取り除いてもそのまま残ったりもします。更にファイルを開こうとしたら仮想環境が起動してそっちで開くなんてケースもあって非常に迷惑。この関連付けを解除したい。
ということで、「このアプリケーションで開く」に追加されないようにする方法と、追加されてしまった項目をクリーンアップする方法を覚えておくと良いでしょう。
リセット手順
リセットはターミナルを利用して行いますので、慎重に作業をしましょう。以下のコマンドを実行します。
1 2 |
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Support ./lsregister -kill -r -domain local -domain system -domain user |
- FinderをOptionキー押しながら右クリック
- 再度開くを実行
これで、整理がされて、右クリックの動作も軽快になるはずです。VMwareだけでなく、Parallelsでも有効ですので、活用しましょう。次項の画面のアプリケーションのクリーンアップボタンを実行だけでも綺麗になります。
追加させない方法
リセットした後、仮想環境を起動する前に、右クリックメニューに仮想環境内のアプリケーションが追加登録されないようにしましょう。以下の手順で行います。
- その仮想環境の設定項目を開く
- 「デフォルトアプリケーション」を開く
- 「Windowsアプリケーションを使用して、MacのファイルおよびWebリンクを開く」のチェック項目を外す
これで完了。起動しても、右クリックメニューに仮想環境内のアプリケーションが出てきたりしなくなります。
図:デフォルトアプリケーション設定の内容
キーマッピングをして快適なキーボード操作
VMware FusionではホストがOSXなわけですが、ゲストではWindowsを利用する機会が圧倒的に多いかと思います。しかし、どうしてもキーボードの仕様が違うので、Windows操作をする上で困るシーンがいくつかあります。主な困るシーンは
- 日本語入力キー
- Ctrlキー
- Windowsキー
の3点かと思います。これらのキーカスタマイズでは、自分は以下の作業をあらかじめ行っています。ちなみに、見えるキーボードというツールを使うと、現在押してるキーがどれに該当するのかわかるので、便利ですよ。
- ゲストOSのキーボードプロファイルにて「キーマッピングを有効」のチェックを外す
- Macホストショートカットを有効化のチェックを外す
- Windowsキーでは以下を使用を「右コマンドキー」に設定。
日本語入力キーをカスタマイズ
デフォルトでは、JIS配列ならば「英数キー」が日本語入力キーのON/OFFになるのですが、OFFが半角英数入力なのであって、期待してるIMEのOFFじゃなかったりします。これ、WindowsキーボードのCaps Lock/英数キーに該当します。しかし、半角/全角にしたいのです。そこで使うのが「秀Caps」というツールです。
- 秀Capsをインストールし、再起動する
- 秀Capsをタスクバーより、設定を起動する
- 日本語キーにて、「無変換キーで漢字ON、英数キー2回で漢字OFF」をチェックする
- 適用ボタンを押す
これで、「英数キー」で日本語入力のオンオフが半角/全角と同じ挙動になります。
図:秀Capsの設定項目
Ctrlキーをカスタマイズ
ショートカットキーなどで良く利用するCtrlキーですが、デフォルトではcontrolキーがそれに該当しています。しかし、非常に押しにくい位置にあるキーなので、このままだとExcelなどでの操作で支障が出ます。OSXと同じく、commandキーをCtrlキーにしたい所です。これを実現するためのツールが、Keyswapです。割りと古いツールなので、起動するためには、「管理者権限」を付与して起動します。
起動したら、入れ替えたいキー設定を作成して保存をします。
- キー名のセルを触って、左commandキーを押します。
- 変換キー名は、右側のキーボードの図より、変換したいキーを押して決定します。ここでは、左Ctrlキーを割り当てました。
- ファイルへ保存をクリックして適当に名前を付ける
- 終了する
再起動すると、そのキーアサインが変更されます。これで、左commandキーでCtrlキーとなり、ゲストOS上でのショートカットキーの活用が便利になります。
※VMware自体のMacホストショートカットキーでは、Windowsキーは右コマンドキーに割り当てておくと良いです。
図:keyswapで設定中の画面
物理マシンを仮想マシンに変換
VMwareには既存の物理マシンを仮想環境に変換するためのコンバータ(VMware vCenter Converter Standalone)が提供されています。Windows用しか提供されていませんが、古いPCの物理マシンを仮想環境化してくれるので、とても便利です。こちらのサイトからダウンロードする事が可能です。
物理マシン上でこのツールを起動し、使用手順に従って処理をすると、vmdkファイル等が生成されます。このファイルはVMware PlayerやFusionなどで利用する事が可能になります。また、Acronis TrueImageなどでイメージバックアップを取得し、仮想環境内に復元しても同様の事が可能になります。
ポイントは以下の1点
- Convert Machineを起動し「Powered On」を選び、This Local Machineを選択する
図:変換中の様子
NATでポートフォワーディング
ネットワークをブリッジではなくNATで運用した場合、外部から仮想環境内のサーバなどにアクセスさせたい時に利用します。そのままではアクセスが出来ないので、ポートフォワーディングの設定を施してあげると、親のポートに対してのアクセスをそのまま仮想環境のポートへ渡すことが可能です。
※この辺の設定は、VirtualBoxだとGUIでできるようになっています。
設定は設定ファイルをいじる必要があります。設定ファイルは/Library/Preferences/VMware Fusion/vmnet8のフォルダ内にあるnat.confです。この中にあるincomingtcpの部分に以下の設定を追記します。
1 2 3 4 |
[incomingtcp] 3200 = 172.16.3.128:3200 3000 = 172.16.3.128:3000 3500 = 172.16.3.128:3500 |
172.16.3.128は仮想マシンから見た時のゲートウェイのアドレスになります。上の方に記述されているNAT gateway addressのIPがそれになります。この記述でホストマシンの3200,3000,3500番ポートへのアクセスは、ゲストの同じポート番号へ転送されます。当たり前ですが、ホスト側、ゲスト側で該当ポートへのアクセスについて、ファイアウォールに許可を与えていない場合、通信出来ませんので、注意してください。
図:nat.confのある場所
図:VirtualBoxだと専用の設定画面がある
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パーティションにして、フォーマットはMS-DOS(FAT)とします。
- オプションボタンを押します。
- この時、GUIDパーティションテーブルになっているケースがあります。これをきちんとマスターブートレコードに変更します。
- 適用ボタンを押してフォーマットを開始します。
- これできちんと認識されます。
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のサイトからドライバをダウンロードしてインストールする必要があります。
図:ここが3.0だとフォーマット出来ない事があります。
仮想メモリ
仮想環境下で仮想メモリを使用するかどうかは判断が分かれます。仮想メモリを使用する設定の場合、ディスクサイズを最適化しても毎回起動する度に再利用可能領域が大きなサイズで生まれます。当然、SSD領域を使って作ってるわけで、HDDでない場合ちょっと躊躇します。メモリを多く割り振れるのであるならば、仮想メモリはオフにしましょう。そうすることでページファイルが作成されなくなるので、SSDへの負担を軽減できます。また、オンメモリとなるので高速化されますが、一方でメモリ不足に陥る可能性もありますので注意が必要です。
- 仮想マシンに多くメモリを割り当てられる場合には、仮想メモリはオフにしましょう。
- 仮想マシンに多くメモリを割当られない場合には、仮想メモリはオンにしましょう。
システムの復元
Windowsのバージョンによってちょっと話が変わってきますが、仮想環境下でシステムの復元はいくつか考えなければいけないことがあります。それが、システムの復元が必要なのかどうか?という点です。自分の場合、重要な変更を行う場合には、VMware Fusionのスナップショット機能を利用するので、システムの復元は無効にしてあります。また、Windows10の場合、128GB以下のディスクサイズの場合デフォルトでシステムの復元が無効にされています。各々でこれを考慮した上で、システムの復元機能は利用しましょう。
当然、システムの復元を利用するとその分ディスク使用領域は圧迫されますので、注意が必要です。
- スナップショットを活用する場合とディスク容量に余裕がない場合には、システムの復元はオフにしましょう。
- ディスク容量に余裕がある場合には、システムの復元はオンにしましょう。
トラックパッドの右クリックとドラッグ
Macbook Airなどのトラックパッド操作でVMware Fusion上のWindowsを操作する時には若干癖があります。特に、Windowsでは当たり前の操作でもMacでは使わない操作があったりするのですが、特に右クリックと右ドラッグアンドドロップなどは特にそれに該当します。まず、普通のドラッグ&ドロップと右クリックですが
- 普通のファイルのドラッグアンドドロップは、マルチタッチ三本指でタッチしたままドラッグする。
- 右クリックは、マルチタッチ二本指でタッチ。
しかし、Windowsでは右クリックで掴んだまま、他のフォルダ上で離すとサブメニューを出す(ここにファイルを解凍などのメニューが出る)場合、デフォルトの状態だと、VMware Fusion上ではこの操作が出来ません。この操作をするためには、以下の設定をしておきます。
- タイトルメニューのVMware Fusionをクリックし、環境設定を開く
- キーボードとマウスの項目の中のマウスショートカットを開く
- ボタン3にチェックを入れて閉じる
この設定であれば、Commandキーを押しながらマルチタッチ三本指でドラッグ&ドロップすると、サブメニューを出す事ができます。つまり、右ドラッグアンドドロップが出来るようになります。
図:右ドラッグアンドドロップ設定
NTVDM
32bit版 Windows10や8.1には、レガシーサポートとしてNTVDMという仮想DOSとよばれる仕組みが用意されています。これを利用すると、Windows3.1時代の16bitアプリであっても、動作させることが可能です。Catalina上であってもWindows3.1時代のアプリがWindows10上ですら動かせるので、32bit版Windows10を用意できれば、過去の資産が活用できます(する人いないと思うけれど)
以下の手順で、Windows8.1(32bit)上で、Windows3.1用のアリーナというゲームを動かしてみました。
- コントロールパネル→プログラム→Windowsの機能の有効化と無効化を開く
- レガシーコンポーネントの中のNTVDMにチェックを入れてOKを押して、有効化する
- こちらにある「VBRJP200.DLL」をSystem32ディレクトリに入れておく
- アリーナのexeを右クリック→プロパティを開く
- 互換性タブにて、互換モードをWindows95に設定
- カラーモードを8bit 256色に制限にチェック
- 640x480の解像度で実行にチェック
- 管理者としてプログラムを実行するにチェックをいれて、OKをクリック
- アリーナを実行する
- macOS10.15.5 Catalina + VMware Fusion 11.5 + Windows8.1 32bit上で見事、16bitのアリーナが動いた
図:16bitが現代に蘇る
テキスト編集で追加する設定
VMware WorkstationおよびFusionはGUIからは設定できない項目がいくつかあります。テキストエディタ等で直接拡張子がvmxのファイルを弄る事で可能な細かなカスタマイズがあります。そういった設定の中で、より快適に使用する上で役に立つ設定関係を紹介しようと思います。
Direct3D関係
VMware Fusionだと8、Workstationだと12からVMwareの内部の仕組みが大きく変更されています。DirectX10対応やWindows10対応と言う触れ込みですが、ネットでのいくつかの記事を見てみると逆に旧OSでのパフォーマンスが落ちたという評価を耳にします。主にゲームなどがそれのようでDirectX10に最適化した結果、DirectX9以前のパフォーマンスが落ちたのではないかという事です。そんな時に以下の設定を書き込むと、以前のパフォーマンスが得られるという事。アンチエイリアシングも有効になります。
当然ですがこの設定は、3Dサポートが有効に出来る要件を満たしてるPCでのみですので、ロースペックマシンでは使えないと思います。
1 2 3 |
mks.enable3d = "TRUE" mks.enableD3DRenderer = TRUE mks.enableDX11Renderer = FALSE |
5ボタンマウスを使えるようにする
あまり使っている人は多くないと思いますが、5ボタンマウスは、マウスで戻る進むといったアクションを実行できます。最近ではマルチタッチジェスチャなどもあるので、利用頻度は少ないと思いますが、このマウスを使ってこのアクションを実現する為の設定は追加する必要があります。
1 2 3 |
mouse.vusb.enable = "TRUE" mouse.vusb.useBasicMouse = "FALSE" usb.generic.allowHID = "TRUE" |
仮想環境を高速化する
昔からある設定なのですが、仮想環境側のディスクアクセスを減らし、ホストからメモリを固定的に確保して、使用する設定です。一つ一つには意味があるのですが、これをワンセットでvmxに記述する事でパフォーマンスが向上します。しかし、メモリの少ないマシンの場合、逆に全体のパフォーマンスを悪化させる事にもなるので、メモリ容量に余裕のあるマシンで利用するようにしたほうが良いと思います。
1 2 3 4 5 |
MemTrimRate = "0" mainMem.useNamedFile= "FALSE" sched.mem.pshare.enable = "FALSE" prefvmx.useRecommendedLockedMemSize = "TRUE" MemAllowAutoScaleDown = "FALSE" |
サイドチャネル緩和のオフ
CPUによっては「サイドチャネル緩和が有効化になってる」と表示されパフォーマンスダウンする旨のダイアログが出るケースがあります。これは、以前話題になったCPUの潜在的な問題である「SpectreやMeltdown」の問題に起因しているものらしいのです。起動時のメッセージ表示やパフォーマンスダウンをさせないように出来ます。
VMXファイルに追記する項目は以下の通り。但しこれをオフにするということは、悪意のあるSpectre関係の攻撃を受けた場合緩和ができなくなるので注意。
1 |
ulm.disableMitigations="TRUE" |
BIOS起動画面を表示する時間を変える
VMwareのBIOSへ入る為の画面は一瞬しか表示されないため、F2キーを押すタイミングが合わずに再起動という経験は結構あります。このタイミングというか時間を伸ばす為の設定が以下の設定です。単位はミリセカンドなので、1000で1000ms(1秒)となります。
1 |
bios.bootDelay = "3000" |
画面解像度を固定化する
あまり多くの人は使わないと思いますが仮想マシンの画面解像度を固定化する設定です。昔からある設定ですが、特定の人に需要のあるものです。この設定を行うことで勝手に解像度が変更されたりするのを防ぐことが出来ます。以下の設定では、1024 * 768のサイズで固定化されます。
1 2 3 |
svga.autodetect = "FALSE" svga.maxWidth = "1024" svga.maxHeight = "768" |
仮想マシン上での動作を拒否するソフトウェアを誤魔化す
一部のソフトウェアに於いて、仮想環境上での動作をさせないようにしてるソフトウェアがあるようです。そうしたソフトウェアを動くようにする為の設定が以下の例。必ずしもこれで全てのソフトウェアが動くようになるわけではないのですが、一例として。
1 2 3 4 |
isolation.tools.getVersion.disable = "TRUE" monitor_control.disable_directexec = "TRUE" monitor_control.restrict_backdoor = "TRUE" disable_acceleration = "TRUE" |
EFIを利用してブートする
64bit OSに於いて、BIOSではなくEFIを用いてブートさせる為の設定です。VMwareはデフォルトでBIOSを使う設定になっているので、OSをインストールする前にこの設定を加えておかないといけません。インストール後に変更は出来ませんので注意!!
1 |
firmware = "efi" |
BIOSを変更する
VMwareのBIOSはカスタムROMが使えるようになっています。ですので、特定の用途に於いてカスタムBIOSでないと困るケースではこの設定を使うと仮想マシンを構築できるかもしれません。
1 |
bios440.filename = "BIOSファイル名" |
日本語JISキーボードを認識させる
VMwareにOSをインストール後、キーボード操作した時に英語101キーボードとして認識されているケースがあります。特に、VMware Fusion 8にてOSX 10.11 El Capitanのインストール時などはソレに該当し、非常に使いづらい。これをきちんと日本語JISキーボードとして認識させる為の設定が以下の設定です。この設定で起動すると、キーボード設定アシスタントが起動してくれます。
1 2 3 |
keyboard.vusb.enable = "TRUE" keyboard.vusb.idVendor = "0x0000" keyboard.vusb.idProduct = "0x0000" |
Nested Virtualizationを有効にする
一般の人には無関係の機能ですが、この設定を行う事で、仮想マシン内で仮想マシンを実行できるようになります。例えば、VMware Fusion内でHyper-VやKVMを使うといった感じです。物凄くマシンパワーも必要としますし、仮想化支援の為のIntel-VTに対応してる必要があるなど要件は高めです。
1 |
vhv.enable = TRUE |
スナップショットやサスペンドファイルの作成場所を変更する
これらのファイルサイズが大きい一時ファイルの作成場所を変更する為の設定です。別に高速なドライブなどがある場合、パフォーマンスの向上にも繋がります。
1 |
workingDir = "/Volume/ディスク名" |
仮想HDDのシリアルナンバーを有効にする
VMwareでは、デフォルトで生成される仮想HDDファイルのUUIDはOS側からは見えないようになっています。一部のプログラム等がこれを利用していて、見えないと起動しないようなケースでは以下の設定をONにします。
1 |
disk.EnableUUID="true" |
問題のHDDのシリアルナンバーはvmdkファイルの中に記述されており、ファイルの冒頭部分に該当の箇所があります。以下がそのサンプル
1 2 3 4 5 6 7 |
ddb.adapterType = "lsilogic" ddb.geometry.cylinders = "7832" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.longContentID = "64bce50cf8e20aaa4e8e7d84fffffffe" ddb.uuid = "60 00 00 9f 6f 79 a4 86-7f ed be 00 b4 06 33 00" ddb.virtualHWVersion = "12" |
この中でddb.uuidがシリアルナンバーという事になります。現在使ってるHDDのシリアナンバーことuuidは16進数で記述されているので、ここを変換する。オリジナルのHDDのシリアルナンバーを調べて、シリアルナンバー書き換えツールなどで書き換えると良いのではないかと。HDDのシリアルナンバーは、コマンドプロンプトより、wmic diskdrive get serialnumberと入力すると取得できます。但し、シリアルナンバーの書き換えはデータの喪失の可能性もあるので、十分な注意と準備が必要です。
uuidを固定する
仮想マシンを別のマシン上で運用する初回起動時に「コピーしましたか?移動しましたか?」のメッセージが出ます。ここで「コピーした」を選ぶと、UUIDとMacアドレスが新しいものに書き換わり、例えばWindowsの場合、新しいマシンにOSをインストールしたとみなされ、シリアルコードなどが無効になったりします(再アクティベーションが必要)。移動の場合は既存のUUIDのままとなります。
そこでこのメッセージを消す方法が以下の記述。ただし同一ネットワーク内に同一UUIDの仮想マシンが存在するとMacアドレスも重複することになるので、避けましょう。
1 |
uuid.action = "keep" |
ちなみに、keepではなくcreateとすると毎回初回起動時に新しいUUIDが割り振られるようになります。また、この設定を加えることでメッセージが出てこなくなります。
カスタムBIOSを利用する
あまり利用する機会はありませんが、実機のカスタムBIOSを使ってブートさせる場合に利用します。通常はVMware自身が持ってるPhenix BIOSを利用してコントロールするか?EFIを利用してブートさせています。DELLのマシンなどでよく使われていました。
1 |
bios440.filename = "biosのファイル名" |
実機のBIOSを利用するので、例えば法的にはアレですがOEMのリカバリディスクを利用したり。
ホストマシンのBIOS情報を見せる
VMware Fusionでは利用する機会はないと思いますが、サーバーソリューションなどでサーバに付属のディスクなどでインストールする場合、仮想環境に適用したい場合、Phenix Biosであるためインストールチェックに引っかかります。そこで、サーバ側のBIOS情報を反映させることで、このチェックが通るようになります。
1 |
SMBIOS.reflecthost = TRUE |
ゲストマシンにホスト用ディスクを使う場合
上記の設定のほかに、以下の設定を追加しておく必要があります。
1 |
SMBIOS.noOEMStrings = TRUE |
起動時にBIOSセットアップ画面に入るようにする
上記の設定はあくまでも秒数の設定ですが、こちらは起動時に必ずBIOS設定画面に入るようにする設定です。一度入ると無効化されます。
1 |
bios.forceSetupOnce = TRUE |
仮想マシンのシステム時刻の設定
仮想マシンの時刻をUNIXepochから見て、どれくらいに設定するかを指定するもの。通常はあまり利用しません。
1 |
rtc.startTime = 5000 |
数値はミリ秒単位で指定し、5000 = 5秒間となります。0~4294967295を指定します。設定反映はBIOSのSystem Timeで確認できます。
サウンドカードに別のカードを指定する
通常のVMwareの場合では特にカードの指定はないのですが、以下の指定をすることで、hdaudio以外も使えます。hdaudioはAndroid x86などで使いますが、sb16などはDOSやWindows95などで使います。
1 2 3 |
sound.virtualDev = "es1371" sound.virtualDev = "Creative Sound Blaster PCI" sound.virtualDev = "sb16" |
仮想マシンの音飛びがする時は
音飛びなどが発生する場合に使う設定で、サウンドバッファを指定する事が可能です。
1 |
pciSound.PlayBuffer = "500" |
数値はミリ秒指定で、500で500msとなります。
仮想TPMモジュールを追加する
VMware FusionではGUIから追加可能ですが、VMware Workstation Player上では以下の設定を追加する事で仮想TPMを追加することが出来ます。
1 |
vtpm.present="TRUE" |
但し追加しても暗号化が必要になるので、追加しただけでは起動しません。Pro版を購入する必要があります。Fusionは暗号化も実行できるため、Windows11などを稼働させることが可能です。また、Fusion側でTPM追加と暗号化を実行しておいた仮想環境を持ってくれば、Workstation PlayerでもTPM対応になるようです)
移動先で起動しなくなる
VMware Fusionで使っていて、Windows10のVMware Workstation Playerに持っていったら、ダブルクリックで起動しないどころか、Violation Errorが出て致命的みたいな文字が出ることがあります。これは仮想マシンが破損していると書かれていますが破損しているわけではなく、仮想マシンのバージョンがオカシイ為に発生しています。
例えば、VMware Fusion 12最新版で最新の仮想マシンバージョンを指定すると19になるのですが、これをVMware Workstation Player 15に持っていった場合、未対応のバージョンとなるため、このエラーが出ます。GUIから変更ができるので、素直に仮想マシンのバージョンを19から16あたりに落として持っていけば起動するようになります。
該当の設定は以下の部分
1 |
virtualHW.version = "16" |
移動先でフルスクリーンで起動してしまう
VMware Fusionで使っていて、Windows10のVMware Workstation Playerに持っていったら常にフルスクリーンで起動するようになってしまったというケースは結構あります。ただし、Workstation Player側にフルスクリーンで起動する関係のオプションがGUIで存在しないので、以下の該当のオプションを削除すると標準のウィンドウで起動するようになります。
1 2 3 |
gui.fullScreenAtPowerOn = "TRUE" gui.viewModeAtPowerOn = "fullscreen" gui.lastPoweredViewMode = "fullscreen" |
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が入ってるので、ターミナルで以下のコマンドを実行する。
1 |
sudo ./vmware-install.pl |
あとは指示にしたがって、yとかnとか解凍し、再起動すればVMware Toolsのインストールは完了です。
open-vm-toolsのインストール
メジャーなディストリの場合、基本的には標準のリポジトリに登録されているので、以下のコマンドを入力して再起動するだけでOK。
UbuntuやDebian GNU Linuxであれば
1 |
apt-get install open-vm-tools open-vm-tools-desktop |
もしくは
1 |
sudo apt-get install open-vm-tools open-vm-toolbox |
事前にgccなどが入っていなければ、いれておくとエラーにならずに済むかもしれません。以下のコマンドでインストールしておきましょう。Debianなどでは必要のようですが、Ubuntuでは必要ではないようです。
1 2 |
sudo apt-get install build-essential sudo apt-get install linux-headers-`uname -r` |
CentOS7やRedHat7系であれば
1 2 3 |
yum install open-vm-tools -y systemctl enable vmtoolsd.service systemctl start vmtoolsd.service |
VMware Toolsのアンインストール
open-vm-toolsはVMware Toolsとは共存が出来ません。よって、事前にVMware Toolsがインストール済みの場合には、アンインストールする必要があります。以下のコマンドでアンインストールします。
1 2 |
sudo /usr/bin/vmware-uninstall-tools.pl sudo reboot |
アンインストールを行ったら、再起動してopen-vm-toolsをインストールしましょう。
ファイル共有の確認
ファイル共有機能をONにすると、WindowsをゲストOSとしてインストールした場合と同じく、共有フォルダ経由でホストOSとやり取りが可能になります。/mnt/hgfs以下にマウントされるようになります。ubuntu 16.04では事前に作成しておかないとダメみたいです。
1 |
mkdir /mnt/hgfs |
万が一マウントされていない場合には、fstabに追記をすればよいでしょう。nanoなどで/etc/fstabを開き以下の1文を追記します。/mntディレクトリにhgfsフォルダも作っておきます。
1 |
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,auto_unmount,defaults 0 0 |
また、現在共有フォルダとして有効になっているかどうかは、vmware-hgfsclientコマンドで確認が出来ます。なお、手動マウントは、以下のコマンドです。
1 |
sudo vmhgfs-fuse -o allow_other -o auto_unmount .host:/ /mnt/hgfs |
図: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系の場合パッチを当てなければならないケースがあるようです。以下のコマンドでパッチを当てます。
1 2 3 |
git clone https://github.com/rasa/vmware-tools-patches.git cd vmware-tools-patches ./patched-open-vm-tools.sh |
ゲスト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アカウント必須なので、ちょっと手が出しづらい。ということで、どうにか自前でインストールできないか調査してみました。
最新の作成方法
最新のCloudReadyは、OVA形式のファイルも配布しており、非常に簡単にVMware Fusionに環境構築が可能になっています。以下の手順で作成します。ChromeOS v83相当になっていますが、アプデをすることでChrome OS v96.4.86相当までアップされます(将来的にはChrome OS Flexになるという話)
- こちらのサイトで配布されてるCloudReady Home EditionのOVAファイルをダウンロードする
- VMware Fusionの左上の+ボタンをクリック、新規をクリック
- ディスクまたはイメージからインストールに、1.のovaファイルを投げ込む
- 続けるをクリック
- 仮想環境がVMwareに取り込まれて、仮想環境が作成される
- あとはカスタマイズをして、仮想環境を起動してCloudReadyのセットアップを続行するだけです
図:ovaファイルインポート画面
古い作成方法
ディスクの作成自体は、こちらのサイトで細かく紹介されていますので参考にしてみてください。今回はインストールと起動までを挑戦します。参考にしたサイトは、こちらのサイトです。
- 仮想マシンはLinuxで、other 64bitを選択。メモリは2GBを指定しました。
- インストール先用の仮想HDDはSATAで作成してみました。今回は20GBで設定しました。
- CD-ROMドライブは不要なので削除しておく。
- EFIブートが必要なので、vmxファイルにfirmware = “efi”を追記する
- USBメモリからブートさせるために、物理ディスクを指定してブートを参考にexternal-hddを用意して、vmxに追記する。
- VMware Fusionの起動ディスクをexternal-hddのものを指定してブート。
- 無事にブートしたら、CloudReadyのロゴが出ます。
- 起動したら、言語とキーボードを設定して、Googleアカウントを入力します。
- 通常ならばCloudReadyが起動したら、右下の時計をクリックしてInstall CloudReadyをクリックするのですが、この方法は使えません。通常USBメモリから起動した場合は、rootは/dev/sdaなのですが、HDDとして認識してるので、/dev/sdbとなっています。なので、sdaがHDDでUSBメモリがsdbだと、インストールができません。
- Ctrl + Alt + F2キーを押すと、コンソールモードになります。chromium osのようにChrome上のターミナルであるchroshでのインストールはできません。
- ログインします。Userはchronos, Passwordはchromeです。
- 入ったら一応、sudo fdisk -lで、ディスク状態を確認。/dev/sdbつまりそれがUSBメモリであることがなんとなくわかるはずです。
- cd /usr/sbinでディレクトリを移動します。
- sudo chromeos-install –skip_src_removable –dst /dev/sda と入力して、yを押せばインストールが始まります。
- インストール中は、VMwareの2台目のHDDが点灯しますので、続行中なのがわかると思います。およそ5分〜10分で終わります。
- Installation to /dev/sda Completeとでたら完了です。
- Ctrl + Alt + F2キーでGUIモードへ戻ります。
- 一旦シャットダウンします。右下の時計をクリックして、終了ボタンを押します。
- USBメモリをアンマウントして取り外します。
- vmxファイルをテキストエディタで開き、ide:0:0の記述2つを削除します。
- 再度、仮想マシンを起動します。もう一度言語とキーボードを選びます。
- Flashインストールするか?を聞かれてきますが、適当に流します。
- Googleアカウント入力画面が出るのですが、キーボードは英語のまま。@マークはShift + 2で出ます。アンダーバーは、Shift + ほで出ます。
- 時計が狂ってるので、タイムゾーンを直したり、キーボードがおかしかったらGoogle日本語入力キーボードを選び直します。
- 灰色の背景ではありますが、これでインストールと設定は完了です。壁紙はGoogle Driveにあるものを指定することもできたりします。
- 日本語入力切り替えはCtrl + Shift + SpaceというLinuxの流儀ですが、こちらのサイトで詳細がかかれています。
- Chromeウェブストアよりアプリや、Chromeのエクステンションを追加して強化しましょう。FileSystem for WindowsやNetwork Fileshare for ChromeOSなどはオススメです。Androidアプリも本家は対応したので、Chromiumも対応してくれると嬉しいですね。
- ブックマークや拡張機能類やセッティング、履歴等は自動的に同期されるので、面倒な手間は一切ありません。
※公式サイトにはova形式の仮想ディスクイメージが配布されています。
図:無事起動。壁紙も変更した。
WindowsNT4
SVGAドライバ類に関しては、普通に最新のVMware Toolsをインストールするだけで問題ないのですが、マウスドライバやEthernetドライバ関係で事前に設定が必要です。
- VMware Toolsをインストールするには、ゲストのNT4.0はSP3の状態にまでアップデートしておく必要性があります。面倒なのでSP6まで一気に作業しちゃいましょう。現在はMSサイトからの入手は出来ません。昔の雑誌などに付録CDで添付されていたりするので、そういったものから、日本語版sp6full_i386.exeを入手しましょう。黒翼猫氏のページでSP6は入手が出来ます。
- マウスドライバがインストーラでは入りません。手動で入れる必要があります。Program FilesフォルダのVMware -> VMware Toolsの下にDriverフォルダがあるので、コンパネのマウスでPS/2マウスから手動でドライバを当てて、VMware Pointing Deviceに変更します。また、既存のNT4仮想環境をアップデートした際に、マウスカーソルがぴょんぴょん飛ぶことがありますが、最新のVMware Toolsを入れ、同じように手動でドライバを当てると治ります。
- Ethernet DriverはOS標準で用意されてるAMD PCNET PCI Ethernetドライバを使用します。インストール時に
- VMware Toolsではサウンドドライバがインストールされません。別途Sound Blaster Ensoniq Audio PCIのNT4用ドライバが必要で、入手が困難です。こちらのサイトには残ってるようです。
- VMware Workstation Playerでは、サウンドドライバに関しては、VMXにsound.virtualDev = “sb16″と記述して、Sound Blaster 16として認識させることも可能です。ただし、いずれもドライバは手動でインストールが必要です。コンパネのマルチメディアにて、デバイスの追加で行います。VMware Fusionではsb16は未対応なので、使用する事は出来ません。
- Internet Explorer6 SP1が最新のウェブブラウザになります。これは手動でインストールが必要です。すでに配信停止になってるので、黒翼猫氏のページで入手が可能です。
- インストール後は、キーボードがなぜかデフォルトでは101英語キーボードになったりするので、106日本語キーボードに変更しておきましょう。
図:未だに企業で使われてるというNT4
Windows95
一般家庭に爆発的にPCを普及させ、そして社会構造を一変させるきっかけになった伝説のOS。ただし仮想環境ではDOSの実行はできるものの、ハードウェアを直接叩いてたようなアプリは実行するとOSまるごと落ちたりするので注意が必要。インストールも今となっては高度なテクニックが必要です。16bitアプリの実行や古いデバイスを動かす役目は流石に終わったかな。
- FDDからブートさせるため、起動ディスク(Windows95a.img)をここからダウンロードしておく
- 仮想マシンはFDDを新規に追加し、1.をセットしておく。また、HDDは2GBの壁があるので最大2GBで分割無し。
- ネットワークアダプタはブリッジとする。
- 1.でブートさせたら、まずFDISKにてパーティショニングする。その後フォーマットを実行
- c:¥win95¥setup.exeにてセットアップを開始する
- インストール後の設定が色々ある。キーボードは106 日本語 (A01) キーボード (Ctrl+英数)に変更しておく。
- そのままだとネットができないので、コントロールパネルのネットワーク、プロトコルとしてTCP/IPを追加しておく。また、Microsoftネットワーク共有サービスも追加しておく。
- VMware Toolsをインストールするが、ドライバの割当は手動で行う。ネットワークドライバやグラフィックドライバが入っています。
- デバイスマネージャよりPCI VGA-Compatible Display AdapterをVMware SVGA IIに変更する。vmx_svga.infがそれになります。スタンダードディスプレイアダプタは削除しておく
- サウンドはこのファイル(ensw9xup.exe)をダウンロードして、インストールする。
- また、このサイトのeapci2m.ecwをダウンロードして、system32フォルダに入れておく。
- また、CPUが高速すぎてWindows95が起動できないケースがあります。その場合こちらのサイトからパッチをダウンロードしてインストールが必要です。
- また、config.sysのEMM386.exeが原因で起動できない場合はこの行を削除すれば起動します。
- DirectXは8.0まで利用可能。IEは5.5まで利用可能です。
- またいくつかのインストーラは事前にWindowsインストーラ(instmsia.exe)をインストールしておく必要があります。
- VMware Fusionのファイル共有機能は使えないので、Windows95のファイル共有機能や仮想FDDを利用してファイルを受け渡しします。
- Windows95はOSR2にてFAT32およびUSBに対応しました。最終型はOSR2.1です。
- Microsoft Plus!を追加することで、デスクトップテーマに対応していました。
図:自分も色々勉強させてもらったOSでした
DOS & Windows3.1
自分が最初に触ったPCは中学時代のFM Towns。その数年後、高校時代に高校で触ったのがWindows3.1、自腹で買ったのがWindows95という感じでした。海外のDOS用ゲーム(Duke Nukem 3DやRAC Rally Championship、ザ・セトラーズ2など)を楽しんでました。ゲームはここで1000本も公開されているようですね。
そんなWindows3.1ですが、今となってはどう構築したのやら・・・・構築そのものはこちらのサイトを参考に頑張ってください。ものすごくハードル高いです。特に音源とネットワーク。自分の場合、土台はPC-DOSやFreeDOSを使って構築しています(本来はMS-DOS 6.2Vだと思います)。DR-DOSを使ったこともあります。
- Windows3.1はTCP/IPを単独で持ち合わせていないので、Trumpet WinSockやパケットドライバ、winpkt.comが必要です。
- グラフィックは汎用SVGA.exeにWindows3.1用パッチを当てた版を使用します。
- サウンドドライバは、Criative Labs Sound Blaster 1.5が利用可能です。
- ネットワークもサウンドドライバもconfig.sysで手動でポートと割当を記述する必要があります。
- 自分の環境では古いDOSゲームは動作しました。
- DOS/V環境の構築もなかなか骨が折れた記憶が・・・ Windows3.1はDOS起動後にコマンドプロンプトからWINと起動すると起動します。
図:PC-DOSが起動した様子
図:DOSゲーム起動。マウス使えます。
図:Windows3.1が起動した様子
Mac OS X
VMware FusionはWorkstation Playerとは異なり、ゲストOSにmacOSをインストールすることが可能になっています。インストールそのものは非常に簡単です。ただしインストールするには当然過去のmacOSのインストーラが必要になります。
- VMware Fusionのメニューより「ファイル」-> 「新規」を開く
- 新規ウィンドウに、インストーラのappファイルをドラッグアンドドロップ
- El Capitanの場合、ここでカスタマイズをしてかないとディスク容量を変更できなくなるので、設定のカスタマイズでディスク容量を広げておきましょう。
- 仮想マシンが立ち上がり、普通にインストールが進めます。
- 途中のタイムゾーンの設定に於いて、位置情報サービスは使用しないを選択。
- インストールが完了したら、忘れずにVMware Toolsをインストールする(でないと凄く重いです)
- 一旦シャットダウンする。
- そのままJISキーボードが使えないので、上記にある「日本語キーボードを認識させる」の項目にある項目をvmxファイルに追記する。
- 完了です。
過去のバージョンでしか動かない古いアプリもこれで活用が可能になります。
※2021年7月、MacOSX LionおよびMountain Lionが無償公開されました。Yosemite〜CatalinaまでのDMGファイルはこちらから入手する事が可能です。Rosettaが含まれてるSnow Leopard等は入手は出来ません。
図:Mac OS X 10.9 Marvericksを起動してみた
その他
VMware Fusion 11で内部エラー
VMware Fusion 11にアップデート後、ゲストOSを起動しようとしたら「内部エラー」のワードで起動できない現象が出るケースがあります。その場合の解決手段です。
- ターミナルを起動する
- defaults write com.apple.LaunchServices LSQuarantine -bool YESを実行
- 再度、VMware Fusion 11をインストールし直す
- 起動しなおす。
このエラーが出ているときには、起動時に「正しく起動できません」的なメッセージが出ているはずなので、それで見分けがつくと思います。Gatekeeperによるものですが、App Store以外からのアプリの実行ダイアログをOFFにするコマンドが原因です。上記のコマンドでNOにしておくとこの現象が発生します。
図:要らぬ余計なコマンドを実行してた自分が悪い
USBメモリがゲストOSで認識されない
あまり起こらない現象ですが、VMware Fusionインストール直後等で起こりやすい現象が、ゲストOS側でUSBメモリ等が認識されない現象。これは、macOS側でブロックされているが故に起きる現象です。以下の手順で解消可能。
- VMware Fusionを終了させる
- システム環境設定→セキュリティとプライバシー→一般タブを開く
- もし、「開発元"VMware, Inc."のシステムソフトウェアの読み込みがブロックされました」が表示されていたら該当。
- 左下の鍵アイコンをクリックしてパスワード入力して解錠。
- ダウンロードしたアプリケーションの実行許可にて、App Storeと確認済みの開発元からのアプリケーションを許可にチェックを入れる
- 許可したら閉じる。通常はこれだけでUSBメモリが認識される。
- これでもNGである場合には、プライバシータブを開く→フルディスクアクセス→VMware Fusionのチェックを入れる
- VMware Fusion起動させて、ゲストOS側へUSBメモリを接続させると認識する
図:macOSのセキュリティ制御に引っかかってる
図:自分はこの設定なくともつながってます
ファイルをロックできませんでしたエラー
主に既存の仮想環境を外部HDD等に移動させて、起動しようとした時などに起こるのですが、VMware Fusionにインポートした後に起動しようとすると、「ファイルをロックできませんでした」というエラーが出る事があります。これは、移動前になんらかのエラーでVMware Fusionが強制終了した場合や、例えばサスペンドしたまま移動させた等の時に起こりうる現象です。
対策としては
- 移動時などは事前に仮想マシンはきちんと終了させておく。サスペンドなどにはしておかない。
- スナップショットを取ってる場合には、スナップショットを削除しておくと良いでしょう。
- 強制終了してしまった場合は、起動時にこのエラーが移動させていなくても出ることがある。その場合には、lckというファイルを削除する
となります。VMware Fusionにおいてlckファイルを削除する手順は以下のような感じです。ちなみに当たり前ですが、仮想マシンが起動中は削除ができませんのでご注意を。以下、Windows8の場合の参考事例を記述します。
- 仮想マシンが保存されてるフォルダ(例:ホームフォルダ下の書類→仮想マシン以下)を開く
- 対象の仮想マシンを右クリックして、パッケージの内容を表示をクリック
- 内部に入れるので、Windows 8 x64.vmx.lckや仮想ディスク.vmdk.lck、ランダムな数値.vmem.lckの3個のファイル(というかフォルダ)を削除します。
- 再度、仮想マシンを立ち上げてエラーがでなければOK
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の設定を変更すると解消するようです。
- コントロールパネルの中にある「Realtek HD オーディオマネージャ」を開く
- 右上にあるフォルダのような黄色いアイコンをクリック
- 「フロントパネルジャックの検出を無効にする」にチェックを入れてOKを押す
これだけです。ただこれ、音でないんですね。ホスト側の・・・
音がでないというのもアレなので、フォーラムの話題を元に以下の処置を行いました。
- vmxファイルのsoud.autodetect行を削除し、sound.virtualDev = “hdaudio”と記述を追加した。
- ターミナルより、sudo dpkg-reconfigure linux-sound-baseコマンドを実行する
- 指示に従い進めて、ALSAを選択してリブート
- まだレコーディングがどうとかエラーは出るものの、音は出るようになった。
ということで自分の場合、Realtek云々のくだりを何もせずにvmxにhdaudioを追加して、dpkg-reconfigureで直せました。これでホストもゲストも音が出ます。
Windowsでセーフモードで入る
自分もよく忘れてしまうのですが、VMware FusionはホストがOSXであるため、セーフモードに入るといっても、F8キーを押してもホストにキャッチされてしまうので、そのままでは入れません。他のファンクションキーもOS起動後であれば利用できますが、Macには存在しないBreakキーやNumLockキーなどはそのままではどうにもなりません。これらは、標準の機能で送信できます。ここでは、セーフモードに入る方法を記述します。
- Windows系のOSを起動する
- 起動してVMwareのロゴが終わる間際にF8キーで入るのですが、その時にメニュー⇒仮想マシン⇒キーの送信⇒F8を選択
- これで入れるのですが、F8キーを受け付けてくれる時間が非常に短いです。タイミングを見計らいましょう。
- Windows10の場合、旧式のF8でセーフモードに入れるように事前に設定しておく必要性があります。
- Windows8と10の場合、VMwareのロゴが出る前にキーを準備しておき、ロゴが出たら送信すればOKです。Windowsのロゴが出てしまってからでは遅いです。
- 他にもmsconfigで設定して再起動すると入れますが、通常セーフモードが必要な時というのは、OSが通常起動できなくなった時なので、この手法はアテにできません。
- 当たり前ですが、セーフモードでは最低限のドライバのみで実行するので、VMware Toolsの機能は無効になります。よって画面解像度なども変更は出来ません。
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のセットアップを実行し、アップデートを行います。
Steamを起動してみた
Windows10 64bit環境にてSteamをインストールしてみました。VRAMは1024MBを設定し3Dグラフィックスの高速化にはチェックをいれてあります。仮想環境はディスクアクセスが例えSSDであっても遅いので、ディスクアクセスが頻繁にあるものは3Dグラフィックスに強くても、どうだろう?ということで、CrystalDiskMarkでベンチ。Macbook Pro 2017上の結果です。
※Macbook Air 2013のAPPLE SSDのほうが全然遅かったりする・・・・
図:それほど悪くない。HDDなんだけれど・・・
実際に起動してみたけれど、FPS的には多分、半分以下・・・流石に厳しかった。CPUも力不足かなぁ。それでもスペックがあれば十分動かせると思うので、iMacあたりならばVMware Fusion上のSteamでWindows向けゲームは楽しめると思います。
図:大神もきちんと起動はする
コマンドラインツールを使う
VMware Fusionにははじめからコマンドラインで操作する為のツールがアプリの中に含まれています。例えば仮想ディスクマネージャである「vmware-diskmanager」などが代表例で、場所は「/Applications/VMware\ Fusion.app/Contents/Library/」に入っています。
VMDK修復のために使ったりするコマンドですが、使い方としては
1 |
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -R /Users/yourusername/Documents/Virtual\ Machines.localized/Windows\ XP.vmwarevm/Windows\ XP.vmdk |
といったようにターミナルから実行します。
関連リンク
- Virtual Floopy Drive – OSDN
- 懐かしの「Mac OS X Lion」と「OS X Mountain Lion」、無償でダウンロード可能に
- 以前のバージョンの macOS を入手する
- VMwareの背中 – Webarchive
- Mac OSの「このアプリケーションで開く」を整理する
- VMware Player 上の仮想OSを高速化させ軽快に作動させるチューニング
- 仮想ディスクのサイズを増やす(Windows 7)
- Windows 7/8.x時代の“SSD最適化”テクニック(設定方法)まとめ
- VMware Tools のDownload
- VMWare Fusion 8 で Windows 7 に USB3.0
- VMware Fusion6でWindows 7・8とアップデートした環境ではUSB3.0が使えない
- Add physical disk to VMware Fusion guest OS
- [Mac][vmware] MacのVMWare Fusion4で物理ディスクを使う方法
- Edit Hard Disk Serial Number with VMware
- udevを使用したディスクの固定化
- ボリューム シリアル 番号 変更ツール PTEDIT32.exeの使い方
- ubuntu 16.04 インストール(2) vmware tools
- Remix OS VMware イメージの最新版を公開しました(日本語化および「はまりやすい設定項目」等)
- 「VMware Workstation」「VMware Fusion」の日本語テクニカルサポートが1月31日で終了
- 【CentOS7】ifconfigをインストールせずにVMWareToolsを入れる方法
- [VMware]ホストとファイル共有ができないのを解決
- VMWare下のUbuntuとWindowsのファイル共有で/mnt/hgfsにフォルダが出ないときの対処法
- Ubuntu 14.04 LTS + VMware Workstation で VMware Tools による共有フォルダが有効にならなくて困った。
- VMware ToolsでLinux 3.xカーネルに他力本願で対応して共有フォルダにアクセスする
- Linux on VMware
- VMwareで遊ぼうのこーなー
- VMware Workstation Player の仮想マシンにインストールした Ubuntu 16.04 を起動するとサウンドデバイスが切断される問題
- VMware Ubuntu 音が出ない ”A device ID has been used that is out of range for your system.”
- VmwareHardenedLoader
- Help me.Is there a way to repair VMDK file after vmware-vdiskmanager -R says it can not be repaired?