プロジェクト

全般

プロフィール

Windows上でVMware Player

本記事について

個人向け(非商用)に無償で提供されるVMware Player(最近製品名が「VMware Workstation Player」に変更)のインストールおよび使用についてのメモです。

インストールと初期セットアップ

インストールのメモ

拡張キーボードドライバを入れるかどうか

拡張キーボードドライバを入れるかどうか聞いてきます。デフォルトはチェックが外れた状態(インストールしない)です。

これは、Ctrl + Alt + Delを仮想ゲストに送りたいとしても、ホストOSでCtrl + Alt + Delが特殊扱いされゲストに届かない問題が、拡張キーボードドライバ(フィルタードライバ)を入れることで回避できるようになります。
しかし、ホストOSにキーボードをフィルターするドライバが入るのを良しとしない場合は、Ctrl + Alt + Ins等で代替する方法もあるのでインストールしないことも可能です。

ネットワークの作成

インストール完了時、アンチウィルスソフトウェアが複数のネットワークを検知し、パブリックかプライベートかを選択する画面が次々表示されました。これらは、仮想ネットワークで外部には基本出ないので、プライベートにしておきました。

以下は、手元の環境にWMware Playerをインストールしたときのものです。ネットワークアドレスはインストール時に空いているプライベートアドレス空間からランダム的に選択されるらしく、インストールするマシンによってアドレスが異なることがよくあります。

ネットワーク接続名 IPv4ネットワーク ホストOSの接続
VMware Network Adapter VMnet1 192.168.135.0/24 192.168.135.1
VMware Network Adapter VMnet8 192.168.217.0/24 192.168.217.1

VMnet8のサブネットアドレスを変更

VMware WorkstationではGUIツールでvmnetの設定を変更できますが、PlayerにはGUIツールは提供されていません。
しかし、いくつかのブログ等で紹介されている方法があります。手順は

  • Windowsサービスから、VMware DHCP ServiceとVMware NAT Serviceの2つを停止
  • VMnet8のネットワーク設定が記載されているレジストリの値を修正
    キーの名前:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VMware, Inc.\VMnetLib\VMnetConfig\vmnet8
    値の名前:IPSubnetAddress
    値(例):192.168.217.0
  • VMnet8のDHCP設定が記載されているレジストリの値を修正(16進バイナリで表現)
    キーの名前:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\service\VMwareDHCP\Parameters\VirtualEthernetSegments\8
    値の名前:HostIpAddress
    値(例):c0 a8 d9 01(0x01d9a8c0)
  • DHCPの設定ファイル(C:\ProgramData\VMware\vmnetdhcp.conf)をサブネットアドレスの変更に合わせて修正

# Virtual ethernet segment 8

  1. Added at 12/31/15 15:32:04
    subnet 192.168.217.0 netmask 255.255.255.0 {
    range 192.168.217.128 192.168.217.254; # default allows up to 125 VM's
    option broadcast-address 192.168.217.255;
    option domain-name-servers 192.168.217.2;
    option domain-name "localdomain";
    option netbios-name-servers 192.168.217.2;
    option routers 192.168.217.2;
    default-lease-time 1800;
    max-lease-time 7200;
    }
    host VMnet8 {
    hardware ethernet 00:50:56:C0:00:08;
    fixed-address 192.168.217.1;
    option domain-name-servers 0.0.0.0;
    option domain-name "";
    option routers 0.0.0.0;
    }

  • NAT設定ファイル(C:\ProgramData\VMware\vmnetnat.conf)をサブネットアドレスの変更に合わせて修正

[host]

  1. NAT gateway address
    ip = 192.168.217.2/24
    hostMAC = 00:50:56:C0:00:08

  • Windowsサービスから、VMware DHCP ServiceとVMware NAT Serviceの2つを開始
ホストコンピュータの仮想ネットワークアダプタの設定を変更

ホストコンピュータの仮想ネットワークアダプタ(NIC)の設定は、上述のVMnet8のネットワークアドレス変更を実施しても、変更前のネットワークアドレスのままでした(再起動しても変わらず)。

そこで、手動でアドレスを変更します。

仮想ゲストのMACアドレスを自動生成ではなく手動で割り当て

仮想ゲストを移動すると自動生成MACアドレスが変更されますが、手動で静的に割り当てることも可能です。
仮想ゲストの構成ファイル(.vmx)から自動生成用の記述(3行)を削除し、静的割り当て用の記述(2行)を追加します。

  • 削除する設定('N'にはその環境での固有の数値(0, 1, ...)のいずれかが入る)
    ethernetN.generatedAddress
    ethernetN.addressType
    ethernetN.generatedAddressOffset
  • 追加する設定('N'については上述と同じ)
    ehternetN.address = "00:50:56:XX:YY:ZZ"
    ethernetN.addressType = "static"
MACアドレスとして適用可能な範囲に制限がある模様

00:50:56:00:00:00 ~ 00:50:56:3f:ff:ff という説を見た

  • VMware OUI(OUI:Organizationally Unique Identifier、MACアドレスの上位24ビット)
    自動生成用は、00:0C:29、
    手動割当用は、00:50:56、

vmx構成ファイルに次の記述を追加すると、上述範囲外のMACアドレスを手動割り当てできる模様(未検証)

ethernetN.checkMACAddress = "false"

NATを使用したゲストへ外部からの接続

ポートの転送設定を行います。ゲストがDHCPでアドレスを設定している場合、アドレスが変更されないようにDHCP設定にMACアドレスで固定化を行います。

  • DHCPの設定ファイル(C:\ProgramData\VMware\vmnetdhcp.conf
    [incomingtcp]
    # SSH
    #      ssh -p 8889 root@localhost
    8889 = 192.168.210.101:22
    

ドキュメント

VMwareのドキュメント公開ページ
https://www.vmware.com/jp/support/support-resources/pubs/player_pubs/

ナレッジベース

インストール後最初の起動(ライセンス)

VMware Workstation 12 Playerを初回実行した際、個人利用であればメールアドレスを、商用利用であれば購入したライセンスコードを入力するダイアログが表示されます。個人利用の範囲は次のとおりです。

個人利用、および商用以外での利用の場合は無償で提供されます (企業または非営利組織での利用は商用利用に該当します)。

https://www.vmware.com/jp/products/player/faqs/faqs.html

ゲストOSのインストール

Windows 8.1をゲストOSとしてインストール

Windows 8 Pro 64bit(アップグレード版)のDVD-ROMからインストールし、WindowsアップデートでWindows 8.1に上げます。

  • [VMware Workstation 12 Player]を実行します。
  • [新規仮想マシンの作成]をクリックします。
  • Windows 8 ProのDVD-ROMをホストOSのDVDドライブに挿入し、[インストーラディスク]をチェックします。DVD-ROMが検出され、簡易インストールを行う旨表示されます。[次へ]をクリックします。
  • プロダクトキー、パスワードは空でもインストールできるようなので、空のまま[次へ]をクリックします。
  • 作成する仮想マシンの名前、仮想ディスク(イメージファイル)格納場所を入力します。
  • 仮想ディスク容量と分割有無を聞かれるので、Windows 8 x64の推奨値の60GB(デフォルト)をそのまま適用し、[仮想ディスクを単一ふぁいるとして格納]にチェックを付けて[次へ]をクリックします。
  • メモリはデフォルトの2GB、プロセッサは2個に指定しました。
  • 仮想化エンジンの設定欄にある項目について簡単に調べたところ
    • [バイナリ変換のアクセラレーションを無効にする]は、仮想マシン上でのソフトウェア実行でVMwareが応答しなくなった際に無効にすると回避できることがあります。
    • [CPUパフォーマンスカウンタを仮想化]は、ゲストOSでプロファイラ(VTuneやOProfile)などに対応する際にチェックを付けます
    • [Intel VT-x/EPTまたはAMD-V/RVIを仮想化]は、仮想マシンでこれらの実行モードを強制する

仮想マシンのブートセレクタ・BIOS設定の呼び出し

仮想マシン起動時に、ESCキーを押すとブートセレクタが表れます。が、ESCキーを押すタイミングが1秒未満と短く普通手動でブートセレクタを出すことは困難です。そこで、VMwareの設定ファイル(仮想ゲスト名.vmx)に次を追加します。

BIOS.BootDelay = "5000"