以下のコマンドラインの例は、VMware Fusion で動作します。Ubuntu16 は Linux の仮想マシンの例で、Win 10 は Windows の仮想マシンの例です。

再起動コマンド

  • 仮想マシンを再起動します。

    vmrun reset Win10.vmwarevm/Win10.vmx soft

スナップショット コマンド

  • 仮想マシンのスナップショットを作成します

    vmrun snapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

  • 仮想マシンのスナップショットを一覧表示し、前のコマンドで作成されたスナップショットを表示します。

    vmrun listSnapshots Ubuntu16.vmwarevm/Ubuntu16.vmx

  • 作成したスナップショットに戻ります。これにより、仮想マシンが一時停止され、再起動されて操作が再開されます。

    vmrun revertToSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

    vmrun start Ubuntu16.vmwarevm/Ubuntu16.vmx

  • スナップショットを名前指定して削除します。

    vmrun deleteSnapshot Ubuntu16.vmwarevm/Ubuntu16.vmx mySnapshot

ネットワーク アダプタ コマンド

  • 仮想マシン上のすべてのネットワーク アダプタを一覧表示します。

    vmrun listNetworkAdapters Win10.vmwarevm/Win10.vmx

  • 仮想マシンに NAT ネットワーク アダプタを追加します。

    vmrun addNetworkAdapter Win10.vmwarevm/Win10.vmx nat

ホスト ネットワーク コマンド

  • ホスト上のすべてのネットワークを一覧表示します。

    vmrun listHostNetworks

  • ホスト ネットワーク名、プロトコル、ホスト ポート、ゲスト IP アドレス、ゲスト ポート、および説明の例が提供されたホスト ネットワーク上でポート転送を追加します。

    sudo vmrun setPortForwarding vmnet2 tcp 8082 1.1.1.2 88 portforwarding-description

ゲスト アプリケーションの実行

ほとんどの vmrun のゲスト操作では、ゲスト OS に VMware Tools をインストールする必要があります。

  • Windows ゲストでは、最小化されたコマンド ツールを起動します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -interactive cmd.exe

  • デスクトップ上のアクティブ ウィンドウである Windows ゲスト上でコマンド ツールを起動します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx -activeWindow -interactive cmd.exe

  • Perl をスクリプト インタープリタとして使用して、Windows ゲストでスクリプトを実行します。2 つの個別の例が後に続きます。

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "C:\perl\bin\perl.exe" "system('notepad.exe');"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx -interactive "" "C:\perl\perl.exe C:\script.pl"

  • バッチ スクリプトを実行し、その後で実行状態にします。Windows で cmd.exe を使用するには、スクリプト インタプリタを null として指定する必要があります。

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Win10.vmwarevm/Win10.vmx "" "cmd.exe /k \"C:\\Program Files\\Microsoft Visual Studio\\VC\\vcvarsall.bat\" x86"

  • Linux ゲストで Bash シェル スクリプト ファイルまたは Perl スクリプトを実行します。

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "" "/bin/bash myscript"

    vmrun -gu guestUser -gp guestPassword runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -interactive "/usr/bin/perl" "system('firefox');"

  • Linux ゲストで X clock を起動します。この場合、コンソールに -display オプションが表示されている必要があります。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/xclock -display :0

  • 同じ X clock コマンドを実行しますが、コントロールをすぐにコンソールに戻します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx -noWait /usr/bin/xclock -display :0

  • Firefox を実行します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/firefox --display=:0

  • guestEnv パラメータを使用してゲスト環境を設定する場合、変更によって他のユーザーが発行する後続のコマンドが影響を受けるため、Linux の root 権限が必要です。

    vmrun -gu guestUser -gp guestPassword writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv SRC tmp.example.com:1666

  • Linux ゲストのプロセスを一覧表示し、番号が 8192 のプロセスを終了します。

    vmrun -gu guestUser -gp guestPassword listProcessesInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx

    vmrun -gu guestUser -gp guestPassword killProcessInGuest UUbuntu16.vmwarevm/Ubuntu16.vmx 8192

  • Linux ゲストで Perl スクリプトを実行して、DOS 形式の改行をファイルから削除します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /usr/bin/perl -e "open(FILE, '>/tmp/unix.txt'); while (<>) { s/\r\n/\n/ ; print FILE}" /tmp/dos.txt

  • Windows ゲストで Perl スクリプトを実行して、DOS 形式の改行をファイルに挿入します。

    vmrun -gu guestUser -gp guestPassword runProgramInGuest Win10.vmwarevm/Win10.vmx C:\cygwin\bin\perl.exe -e "open(FILE, ‘>C:\Users\user\dos.txt’); while (<>) { s/\n/\r\n/ ; print FILE}" C:\Users\guestUser\unix.txt

ゲストからホストへのファイル操作

  • ホストからゲストにファイルをコピーする場合、ユーザーには宛先に対する書き込み権限が必要です。

    vmrun -gu guestUser -gp guestPassword copyFileFromHostToGuest Ubuntu16.vmwarevm/Ubuntu16.vmx ~/img.db /tmp/img.db

  • ゲストからホストにファイルをコピーする場合、ユーザーは送信元に対する読み取り権限が必要です。

    vmrun -gu guestUser -gp guestPassword copyFileFromGuestToHost Ubuntu16.vmwarevm/Ubuntu16.vmx /home/username/addr addr.txt

  • 共有フォルダを有効にするには

    vmrun enableSharedFolders Ubuntu16.vmwarevm/Ubuntu16.vmx

  • Mac ホスト上のフォルダを特定の Linux ゲストと共有するには
    注: フォルダを共有する前に、 enabledSharedFolders オプションを使用するか、仮想マシンの [共有設定] パネルの [共有フォルダを有効にする] を選択してフォルダを有効にする必要があります。Linux ゲストでは、 /mnt/hgfs ディレクトリを共有に使用できますが、共有フォルダには別のディレクトリを使用できます。

    vmrun addSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share

  • 共有フォルダを読み取り専用にする、または共有フォルダを削除するには
    注: 共有フォルダは、デフォルトで書き込み可能です。

    vmrun setSharedFolderState Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName ~/Share readonly

    vmrun removeSharedFolder Ubuntu16.vmwarevm/Ubuntu16.vmx sharedFolderName

    注: Windows Vista および Windows 7 以降のゲストでは、管理者アカウントのみが copyFileFromHostToGuest および deleteFileInGuest オプションを使用して C:\ およびシステム フォルダ内のファイルの書き込みおよび削除を実行するか、 createDirectoryInGuest および deleteDirectoryInGuest オプションを使用してシステム ディレクトリを変更できます。通常のユーザーは、管理者権限を持っていてもこれらの操作を実行できません。

ゲスト変数と環境

  • ホストから仮想マシンでゲスト変数を設定します。

    vmrun writeVariable Win10.vmwarevm/Win10.vmx guestVar vmstartdate 21April2017

  • ゲスト OS で、設定したゲスト変数を読み取ります。

    > rpctool.exe "info-get guestinfo.vmstartdate"

    $ vmware-rpctool "info-get guestinfo.vmstartdate"

  • ホストから、Linux 仮想マシン上でゲスト環境変数を設定し、環境変数を一時ファイルに書き込んで検証します。
    vmrun writeVariable Ubuntu16.vmwarevm/Ubuntu16.vmx guestEnv LD_LIBRARY_PATH /usr/local/lib
    Guest user: root
    Guest password:
    vmrun runScriptInGuest Ubuntu16.vmwarevm/Ubuntu16.vmx /bin/bash "/usr/bin/env > /tmp/env.out"
    Guest user: root
    Guest password:
    注: vmrun コマンドで runScriptInGuest オプションを使用すると、出力はホストに送信されません。ゲストの /tmp/env.out ファイルでコマンドの出力を見つけます。
  • Linux ゲストで、IP アドレスを決定してゲスト変数に設定します。
    $ ipaddr=`ifconfig eth0 | grep inet.addr`
    $ vmware-rpctool "info-set guestinfo.theip $ipaddr"
  • ホストから、ゲストに設定された IP アドレスを取得します。

    vmrun readVariable Ubuntu10/Ubuntu10.vmx guestVar theip

一般的なコマンド

  • 実行中の仮想マシンを一覧表示します。
    vmrun list
    Total running VMs: 2
    Absolute-path-to-virtual-machine.vmx
    
    Absolute-path-to-virtual-machine.vmx
  • VMware Tools のインストールを準備します。

    vmrun installTools Ubuntu16.vmwarevm/Ubuntu16.vmx

テンプレートの仮想マシン コマンド

  • VMware Project Photon オペレーティング システムの仮想マシンをダウンロードします。

    vmrun downloadPhotonVM ~