「VMware」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
11行目: 11行目:
 
{{Related|QEMU}}
 
{{Related|QEMU}}
 
{{Related|Xen}}
 
{{Related|Xen}}
{{Related3|Moving an existing install into (or out of) a virtual machine|既存のインストールを仮想マシンに移動する}}
+
{{Related|既存環境を仮想マシンに (から) 移動}}
 
{{Related articles end}}
 
{{Related articles end}}
   
 
この記事は Arch Linux における VMware のインストールについての記事です。[[VMware に Arch Linux をインストール]]するのは別の記事になっています。
 
この記事は Arch Linux における VMware のインストールについての記事です。[[VMware に Arch Linux をインストール]]するのは別の記事になっています。
 
{{Note|
 
{{Note|
*この記事では最新バージョンの VMware である VMware Workstation 11 と VMware Player (Pro) 7 を扱います。
+
*この記事では最新バージョンの VMware である VMware Workstation Pro と VMware Player 12 を扱います。
 
*古いバージョンを使用する場合は、[[Arch User Repository|AUR]] の {{AUR|vmware-patch}} を使って下さい。
 
*古いバージョンを使用する場合は、[[Arch User Repository|AUR]] の {{AUR|vmware-patch}} を使って下さい。
 
}}
 
}}
23行目: 23行目:
   
 
適切な依存パッケージを[[インストール]]してください:
 
適切な依存パッケージを[[インストール]]してください:
*{{pkg|fuse}} - {{ic|vmware-vmblock-fuse}} サービスが {{ic|vmblock}} モジュールよりも[https://www.mail-archive.com/open-vm-tools-devel@lists.sourceforge.net/msg00213.html 優先される]ので、カーネルで [http://cateee.net/lkddb/web-lkddb/FUSE_FS.html fuse] を無効にしない限りビルドされません
+
*{{pkg|fuse}} - {{ic|vmware-vmblock-fuse}} サービスが {{ic|vmblock}} モジュールよりも [https://www.mail-archive.com/open-vm-tools-devel@lists.sourceforge.net/msg00213.html 優先される] ので、カーネルで [http://cateee.net/lkddb/web-lkddb/FUSE_FS.html fuse] を無効にしない限りビルドされません
 
*{{pkg|gtkmm}} - GUI 用
 
*{{pkg|gtkmm}} - GUI 用
 
*{{pkg|linux-headers}} - モジュールコンパイル用
 
*{{pkg|linux-headers}} - モジュールコンパイル用
  +
*{{AUR|ncurses5-compat-libs}} - インストーラーを動かすのに必要
   
最新の [http://www.vmware.com/products/workstation VMware Workstation] または [https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0 VMware Player (Plus)] をダウンロードしてください (若しくは、可能であれば[https://communities.vmware.com/community/vmtn/beta ベータ]バージョン)。
+
最新の [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] または [https://www.vmware.com/go/downloadplayer Player] をダウンロードしてください (若しくは、可能であれば [https://communities.vmware.com/community/vmtn/beta ベータ] バージョン)。
   
インストールを開始してください ({{ic|--eulas-agreed}} で EULA をスキップできます):
+
インストールを開始してください:
# sh VMware-''<edition>''-''<version>''.''<release>''.''<architecture>''.bundle --eulas-agreed
+
# sh VMware-''<edition>''-''<version>''.''<release>''.''<architecture>''.bundle
   
 
{{Tip|その他の有用なフラグ:
 
{{Tip|その他の有用なフラグ:
  +
*{{ic|--eulas-agreed}} - EULA をスキップ。
 
*{{ic|--console}} - コンソール UI を使います。
 
*{{ic|--console}} - コンソール UI を使います。
 
*{{ic|-I}}, {{ic|--ignore-errors}} - 致命的なエラーを無視します。
 
*{{ic|-I}}, {{ic|--ignore-errors}} - 致命的なエラーを無視します。
  +
*{{ic|1=--set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} - インストールのシリアル番号を設定 (スクリプトでインストールするときに有用)。
  +
*{{ic|--required}} - 必須の質問だけを表示 ({{ic|--eulas-agreed}} や {{ic|--console}} と組み合わせることでサイレントインストールできます)。
 
}}
 
}}
   
 
{{ic|System service scripts directory}} には、 {{ic|/etc/init.d}} を使って下さい (デフォルト)。
 
{{ic|System service scripts directory}} には、 {{ic|/etc/init.d}} を使って下さい (デフォルト)。
   
{{Note|インストール中に {{ic|"No rc*.d style init script directories"}} というエラーが表示されますが、Arch は [[systemd|systemd]] に移行しているので、無視してかまいません。}}
+
{{Note|インストール中に {{ic|"No rc*.d style init script directories"}} というエラーが表示されますが、Arch は [[systemd]] に移行しているので、無視してかまいません。}}
   
 
{{Tip|後でターミナルからモジュールを(再)ビルドするには、次のコマンドを使って下さい:
 
{{Tip|後でターミナルからモジュールを(再)ビルドするには、次のコマンドを使って下さい:
49行目: 53行目:
 
{{Tip|このセクションで行うことを自動化する {{AUR|vmware-patch}} というパッケージが [[Arch User Repository|AUR]] には存在します (古い VMware バージョンもサポートしています)。}}
 
{{Tip|このセクションで行うことを自動化する {{AUR|vmware-patch}} というパッケージが [[Arch User Repository|AUR]] には存在します (古い VMware バージョンもサポートしています)。}}
   
  +
=== カーネルモジュール ===
{{Note|1=Workstation 11/Player (Pro) 7 は [http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE メインラインに入っている] カーネルモジュールを利用するので、VMCI/VSOCK のソースにパッチをあてる必要はありません。}}
 
   
  +
{{Note|1=Workstation 12 は [http://www.phoronix.com/scan.php?page=news_item&px=MTI3MTE メインラインに入っている] カーネルモジュールを利用するので、VMCI/VSOCK のソースにパッチをあてる必要はありません。}}
VMware Workstation 11.1.0 と Player (Plus) 7.1.0 は 3.18 までのカーネルをサポートしています。
 
   
  +
VMware Workstation 12 はバージョン 4.2 までのカーネルをサポートしています。
=== 3.19 カーネル ===
 
 
3.19 カーネルから {{ic|vmnet}} モジュールは [http://rglinuxtech.com/?p=1281 ビルド] に [https://communities.vmware.com/message/2469395 失敗] します。
 
 
パッチは [http://pastie.org/9934018] にあります:
 
 
$ curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch
 
 
{{ic|vmnet}} モジュールのソースを展開:
 
 
$ cd /usr/lib/vmware/modules/source
 
# tar -xf vmnet.tar
 
 
パッチを適用:
 
 
# patch -p0 -i /tmp/vmnet-3.19.patch
 
 
圧縮ファイルを再作成:
 
 
# tar -cf vmnet.tar vmnet-only
 
 
残ったファイルを削除:
 
 
# rm -r *-only
 
 
モジュールをリビルド:
 
 
# vmware-modconfig --console --install-all
 
   
 
=== systemd サービス ===
 
=== systemd サービス ===
   
''(任意)'' {{ic|/etc/init.d/vmware}} と {{ic|/etc/init.d/vmware-USBArbitrator}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) を使って直接サービスを管理するのではなく、{{ic|.service}} ファイルを使用することもできます ([[AUR]] の {{AUR|vmware-systemd-services}} から取得することも可能):
+
''(任意)'' {{ic|/etc/init.d/vmware}} ({{ic|<nowiki>start|stop|status|restart</nowiki>}}) と {{ic|/usr/bin/vmware-usbarbitrator}} を使って直接サービスを管理するのではなく、{{ic|.service}} ファイルを使用することもできます ([[AUR]] の {{AUR|vmware-systemd-services}} から取得することも可能):
   
 
{{hc|/etc/systemd/system/vmware.service|
 
{{hc|/etc/systemd/system/vmware.service|
 
2=[Unit]
 
2=[Unit]
 
Description=VMware daemon
 
Description=VMware daemon
Requires=vmware-USBArbitrator.service
+
Requires=vmware-usbarbitrator.service
After=vmware-USBArbitrator.service
+
Before=vmware-usbarbitrator.service
  +
After=network.target
   
 
[Service]
 
[Service]
96行目: 74行目:
 
ExecStop=/etc/init.d/vmware stop
 
ExecStop=/etc/init.d/vmware stop
 
PIDFile=/var/lock/subsys/vmware
 
PIDFile=/var/lock/subsys/vmware
TimeoutSec=0
 
 
RemainAfterExit=yes
 
RemainAfterExit=yes
   
103行目: 80行目:
 
}}
 
}}
   
{{hc|/etc/systemd/system/vmware-USBArbitrator.service|
+
{{hc|/etc/systemd/system/vmware-usbarbitrator.service|
 
2=[Unit]
 
2=[Unit]
 
Description=VMware USB Arbitrator
 
Description=VMware USB Arbitrator
  +
Requires=vmware.service
  +
After=vmware.service
   
 
[Service]
 
[Service]
ExecStart=/etc/init.d/vmware-USBArbitrator start
+
ExecStart=/usr/bin/vmware-usbarbitrator
ExecStop=/etc/init.d/vmware-USBArbitrator stop
+
ExecStop=/usr/bin/vmware-usbarbitrator --kill
 
RemainAfterExit=yes
 
RemainAfterExit=yes
   
116行目: 95行目:
 
}}
 
}}
   
  +
他の Workstation サーバーコンソールから VMware Workstation に接続したい場合、以下のサービスも追加してください:
起動時に有効化するには:
 
  +
# systemctl enable vmware
 
  +
{{hc|/etc/systemd/system/vmware-workstation-server.service|
# systemctl enable vmware-USBArbitrator
 
  +
2=[Unit]
  +
Description=VMware Workstation Server
  +
Requires=vmware.service
  +
After=vmware.service
  +
  +
[Service]
  +
ExecStart=/etc/init.d/vmware-workstation-server start
  +
ExecStop=/etc/init.d/vmware-workstation-server stop
  +
PIDFile=/var/lock/subsys/vmware-workstation-server
  +
  +
[Install]
  +
WantedBy=multi-user.target
  +
}}
  +
  +
作成したら[[有効化]]することでブート時に起動できます。
   
 
== アプリケーションを起動する ==
 
== アプリケーションを起動する ==
   
VMware Workstation を開くには:
+
VMware Workstation Pro を開くには:
 
$ vmware
 
$ vmware
   
VMware Player (Plus) の場合:
+
VMware Player の場合:
 
$ vmplayer
 
$ vmplayer
   
 
== Tips and tricks ==
 
== Tips and tricks ==
   
=== Workstation ライセンスキーを入力する ===
+
=== Workstation Pro ライセンスキーを入力する ===
   
 
==== ターミナルから ====
 
==== ターミナルから ====
138行目: 132行目:
 
{{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} はあなたのライセンスキーに置き換えてください。
 
{{ic|XXXXX-XXXXX-XXXXX-XXXXX-XXXXX}} はあなたのライセンスキーに置き換えてください。
   
{{Note|The {{ic|-debug}} binary informs the user of an incorrect license.}}
+
{{Note|{{ic|-debug}} バイナリはライセンスが間違っている場合に知らせてくれます。}}
   
 
==== GUI から ====
 
==== GUI から ====
151行目: 145行目:
 
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom
 
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom
   
==== 改造 BIOS 使う ====
+
=== インストーラー抽出する ===
   
  +
インストーラー {{ic|.bundle}} の中身を確認するには:
展開した BIOS に変更を加えるつもりならば、あなたの仮想マシンがその BIOS を使うようにするには BIOS を {{ic|~/vmware/''<Virtual machine name>''}} に移動して:
 
  +
  +
$ sh VMware-''edition''-''version''.''release''.''architecture''.bundle --extract ''/tmp/vmware-bundle/''
  +
  +
=== 改造 BIOS を使う ===
  +
  +
展開した BIOS に変更を加えるとき、あなたの仮想マシンがその BIOS を使うようにするには BIOS を {{ic|~/vmware/''<Virtual machine name>''}} に移動して:
 
$ mv bios440.rom ~/vmware/''<Virtual machine name>''/
 
$ mv bios440.rom ~/vmware/''<Virtual machine name>''/
   
161行目: 161行目:
 
=== DKMS を使ってモジュールを管理する ===
 
=== DKMS を使ってモジュールを管理する ===
   
[[Dynamic Kernel Module Support|Dynamic Kernel Module Support (DKMS)]] を使って Workstation のモジュールを管理することができ、カーネルを変更する度に {{ic|vmware-modconfig}} を再実行するのを避けることができます。以下の例ではカスタムした {{ic|Makefile}} を使って {{ic|vmware-modconfig}} によりモジュールをコンパイル・インストールします。その後モジュールはカーネルツリーから削除されます。
+
[[Dynamic Kernel Module Support]] (DKMS) を使って Workstation のモジュールを管理することができ、カーネルを変更する度に {{ic|vmware-modconfig}} を再実行するのを避けることができます。以下の例ではカスタムした {{ic|Makefile}} を使って {{ic|vmware-modconfig}} によりモジュールをコンパイル・インストールします。その後モジュールはカーネルツリーから削除されます。
   
 
==== 準備 ====
 
==== 準備 ====
168行目: 168行目:
   
 
それから {{ic|Makefile}} と {{ic|dkms.conf}} のソースディレクトリを作成してください:
 
それから {{ic|Makefile}} と {{ic|dkms.conf}} のソースディレクトリを作成してください:
# mkdir /usr/src/vmware-modules-10/
+
# mkdir /usr/src/vmware-modules-12/
   
 
==== ビルド設定 ====
 
==== ビルド設定 ====
178行目: 178行目:
 
$ cd /tmp
 
$ cd /tmp
 
$ git clone git://github.com/bawaaaaah/dkms-workstation.git
 
$ git clone git://github.com/bawaaaaah/dkms-workstation.git
$ sed -i 's/9/10/' dkms-workstation/dkms.conf
+
$ sed -i 's/9/12/' dkms-workstation/dkms.conf
# cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules-10/
+
# cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules-12/
   
 
===== 2) 手動設定 =====
 
===== 2) 手動設定 =====
185行目: 185行目:
 
{{ic|dkms.conf}} にはモジュールの名前とコンパイル・インストールの手順を記述します。{{ic|1=AUTOINSTALL="yes"}} で自動的に毎回モジュールが再コンパイル・インストールされるようになります:
 
{{ic|dkms.conf}} にはモジュールの名前とコンパイル・インストールの手順を記述します。{{ic|1=AUTOINSTALL="yes"}} で自動的に毎回モジュールが再コンパイル・インストールされるようになります:
   
{{hc|/usr/src/vmware-modules-10/dkms.conf|2=
+
{{hc|/usr/src/vmware-modules-12/dkms.conf|2=
 
PACKAGE_NAME="vmware-modules"
 
PACKAGE_NAME="vmware-modules"
PACKAGE_VERSION="10"
+
PACKAGE_VERSION="12"
   
 
MAKE[0]="make all"
 
MAKE[0]="make all"
218行目: 218行目:
 
そして {{ic|Makefile}}:
 
そして {{ic|Makefile}}:
   
{{hc|/usr/src/vmware-modules-10/Makefile|2=
+
{{hc|/usr/src/vmware-modules-12/Makefile|2=
 
KERNEL := $(KERNELRELEASE)
 
KERNEL := $(KERNELRELEASE)
 
HEADERS := /usr/lib/modules/$(KERNEL)/build/include
 
HEADERS := /usr/lib/modules/$(KERNEL)/build/include
247行目: 247行目:
   
 
モジュールは次のコマンドでインストールできます:
 
モジュールは次のコマンドでインストールできます:
# dkms install vmware-modules/10 -k $(uname -r)
+
# dkms install vmware-modules/12 -k $(uname -r)
  +
  +
=== Intel と Optimus で 3D グラフィックを有効化 ===
  +
  +
3D アクセラレーションが不安定なグラフィックドライバーはデフォルトでブラックリストに入れられています。''Accelerate 3D graphics'' を有効化すると、ログに以下のように表示されることがあります:
  +
  +
Disabling 3D on this host due to presence of Mesa DRI driver. Set mks.gl.allowBlacklistedDrivers = TRUE to override.
  +
  +
その場合、以下のように設定してください:
  +
  +
{{hc|~/.vmware/preferences|2=
  +
mks.gl.allowBlacklistedDrivers = TRUE
  +
}}
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
260行目: 272行目:
 
これは {{Ic|vmmon}} VMware サービスが動作していないことを意味しています。[[#Systemd サービス]]の [[systemd]] サービスを使っている場合は(再)起動してください。
 
これは {{Ic|vmmon}} VMware サービスが動作していないことを意味しています。[[#Systemd サービス]]の [[systemd]] サービスを使っている場合は(再)起動してください。
   
=== Kernel headers for version 3.x-xxxx were not found. If you installed them[...] ===
+
=== Kernel headers for version 4.x-xxxx were not found. If you installed them[...] ===
   
 
ヘッダーをインストールしてください ({{Pkg|linux-headers}})。
 
ヘッダーをインストールしてください ({{Pkg|linux-headers}})。
   
  +
{{Note|カーネルやヘッダーをアップグレードしたら、ヘッダーのバージョンを合わせるために新しいカーネルで起動する必要があります。比較的よくあるエラーです。}}
{{Note|Upgrading the kernel and the headers will require you to boot to the new kernel to match the version of the headers. This is a relatively common error.}}
 
   
 
=== USB デバイスが認識されない ===
 
=== USB デバイスが認識されない ===
270行目: 282行目:
 
{{Tip|{{AUR|vmware-patch}} でも対処できます。}}
 
{{Tip|{{AUR|vmware-patch}} でも対処できます。}}
   
  +
[[#systemd サービス|systemd サービス]]を使ってサービスを自動的に管理しない場合、毎回手動で root を使って {{ic|vmware-usbarbitrator}} バイナリを起動する必要があります。
VMware サービスが動作していると ([[systemd]] のサービスは[[#Systemd サービス]]を見て下さい)、インストールで {{ic|vmware-USBArbitrator}} スクリプトが消失します。[https://bbs.archlinux.org/viewtopic.php?pid=1003117#p1003117 フォーラムへのこの投稿]を見て手動で追加してください。
 
   
  +
起動するには:
また、手動で VMware バンドルを展開して {{ic|''<destination folder>''/vmware-usbarbitrator/etc/init.d/}} から {{ic|/etc/init.d/}} に {{ic|vmware-USBArbitrator}} スクリプトをコピーすることも可能です:
 
  +
$ sh VMware-''<edition>''-''<version>''.''<release>''.''<architecture>''.bundle --extract /tmp/vmware-bundle/
 
# cp /tmp/vmware-bundle/vmware-usbarbitrator/etc/init.d/vmware-USBArbitrator /etc/init.d/
+
# vmware-usbarbitrator
  +
# chmod +x /etc/init.d/vmware-USBArbitrator
 
  +
停止するには:
  +
  +
# vmware-usbarbitrator --kill
   
 
=== インストーラーが起動しない ===
 
=== インストーラーが起動しない ===
281行目: 296行目:
 
{{ic|.bundle}} を開くとプロンプトに戻ってしまう場合、おそらく VMware インストーラーの古いバージョンまたは壊れたバージョンが存在しています。削除してください (この記事の[[#アンインストール|アンインストール]]セクションも参照してください):
 
{{ic|.bundle}} を開くとプロンプトに戻ってしまう場合、おそらく VMware インストーラーの古いバージョンまたは壊れたバージョンが存在しています。削除してください (この記事の[[#アンインストール|アンインストール]]セクションも参照してください):
 
# rm -r /etc/vmware-installer/
 
# rm -r /etc/vmware-installer/
  +
  +
=== ゲストで VMware Tools がダウンロードできない ===
  +
  +
''root'' で {{ic|vmware}} や {{ic|vmplayer}} を実行してみるか、[http://softwareupdate.vmware.com/cds/vmw-desktop/ VMware リポジトリ] から直接ダウンロードしてください。
  +
  +
"''application name'' / ''version'' / ''build ID'' / linux / packages/" まで移動して適切な Tools をダウンロードします。
  +
  +
展開するには次を実行:
  +
  +
$ tar -xvf vmware-tools-''name''-''version''-''buildID''.x86_64.component.tar
  +
  +
VMware インストーラーを使ってインストール:
  +
  +
# vmware-installer --install-component=''/path/''vmware-tools-''name''-''version''-''buildID''.x86_64.component
  +
  +
上記で上手くいかない場合は {{AUR|ncurses5-compat-libs}} をインストールしてみてください。
   
 
=== VMware にリモートでアクセスしようとすると Incorrect login/password エラー ===
 
=== VMware にリモートでアクセスしようとすると Incorrect login/password エラー ===
   
VMware Workstation 10 には {{ic|vmware-workstation-server}} サービスによって共有 VM をリモートで管理できる機能があります。しかしながら、{{ic|vmware-authd}} サービスの PAM 設定が間違っているために、{{ic|"incorrect username/password"}} エラーで失敗します。修正するには、以下のように {{ic|/etc/pam.d/vmware-authd}} を編集して:
+
VMware Workstation には {{ic|vmware-workstation-server}} サービスによって共有 VM をリモートで管理できる機能があります。しかしながら、{{ic|vmware-authd}} サービスの PAM 設定が間違っているために、{{ic|"incorrect username/password"}} エラーで失敗します。修正するには、以下のように {{ic|/etc/pam.d/vmware-authd}} を編集して:
   
 
{{hc|/etc/pam.d/vmware-authd|
 
{{hc|/etc/pam.d/vmware-authd|
294行目: 325行目:
 
}}
 
}}
   
{{ic|vmware}} の [[systemd|systemd]] サービスを再起動してください。
+
{{ic|vmware}} の [[systemd]] サービスを再起動してください。
   
 
これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。
 
これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。
302行目: 333行目:
 
=== ALSA 出力の問題 ===
 
=== ALSA 出力の問題 ===
   
以下 [http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html Bankim Bhavsar の wiki] に記述されている、手動で VMware {{ic|.vmx}} の [[ALSA|ALSA]] 出力デバイスを設定する方法です。品質の問題を解決したり、適切な HD オーディオ出力を有効にするのに役立ちます:
+
音質や HD 音声出力が有効にできない問題を修正するには、まず以下を実行 [http://bankimbhavsar.blogspot.co.nz/2011/09/hd-audio-in-vmware-fusion-4-and-vmware.html]:
  +
$ aplay -L
   
  +
ゲストから 5.1 の''サラウンド音声''を再生したい場合 {{ic|1=surround51:CARD=''vendor_name'',DEV=''num''}} を、音質に問題がある場合は {{ic|1=front:CARD=''vendor_name'',DEV=''num''}} を確認して、{{ic|.vmx}} に名前を記述してください:
# Run {{ic|aplay -L}}
 
# If interested in playing 5.1 surround sound from the guest, look for {{ic|1=surround51:CARD=''<vendor-name>'',DEV=''<num>''}}. If experiencing quality issues, look for a line starting with {{ic|front:}}.
 
# Open the {{ic|''<Virtual machine name>''.vmx}} config file of the VM in a text editor, located under {{ic|~/vmware/''<Virtual machine name>''/}}, and edit the {{ic|sound.fileName}} field, e.g.: {{ic|1=sound.fileName="surround51:CARD=Live,DEV=0"}}. Ensure that it also reads {{ic|1=sound.autodetect="FALSE"}}.
 
   
  +
{{hc|~/vmware/''Virtual_machine_name''/''Virtual_machine_name''.vmx|2=
[[Advanced Linux Sound Architecture#ユーザースペースユーティリティ|OSS エミュレーション]]を使っている場合、問題が発生することがあります。
 
  +
sound.fileName=''"surround51:CARD=Live,DEV=0"''
  +
sound.autodetect=''"FALSE"''
  +
}}
  +
  +
[[Advanced Linux Sound Architecture#ユーザースペースユーティリティ|OSS エミュレーション]]を使っている場合、無効化してください。
   
 
=== Kernel-based Virtual Machine (KVM) is running ===
 
=== Kernel-based Virtual Machine (KVM) is running ===
319行目: 354行目:
 
}}
 
}}
   
  +
=== Intel のマイクロコードが古いせいで起動時にセグメンテーション違反が発生する ===
=== "[...]timeTracker_user.c:234 bugNr=148722" というエラーで VMware が起動しない ===
 
The solution for this issue is taken from [http://vmblog.com/archive/2007/08/24/help-vmware-fixing-time-keeping-problems-with-the-guest-os.aspx#.U7kV_qb3uT9].
 
You have to specify the correct maximum host CPU speed in your global configuration file, /etc/vmware/config. If this file exists, edit it with a text editor, adding the lines described below. The file may not exist. If it does not exist, create it as a plain text file.
 
   
  +
Intel のマイクロコードが最新でないと起動時に以下のようなセグメンテーション違反が発生することがあります:
Add the following lines to your global configuration file:
 
  +
host.cpukHz = "X" where "X" equals the maximum speed in KHz of your host machine. That is, its speed in MHz times 1000 or its speed in GHz times 1000000. A 3GHz machine would be 3000000.
 
  +
/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"
host.noTSC = TRUE
 
  +
ptsc.noTSC = TRUE
 
  +
[[マイクロコード]]を参照してアップデートしてください。
  +
  +
=== 時刻がおかしくなったり "[...]timeTracker_user.c:234 bugNr=148722" というエラーで VMware が起動しない ===
  +
VMware Linux における電源管理機能 ([[Wikipedia:Intel speedstep|Intel SpeedStep]] や [[Wikipedia:AMD powernow|AMD PowerNow!]]/[[Wikipedia:Cool'n'Quiet|Cool'n'Quiet]]) のサポートが [http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1591 不完全] で CPU 周波数が変化するのが原因です。2012年3月、[https://projects.archlinux.org/svntogit/packages.git/commit/trunk/config.x86_64?h=packages/linux&id=9abe018d91a5d8c3af7523d30b8aa73f86b680be linux 3.3-1] のリリースによって、最大周波数の [[CPU 周波数スケーリング|Performance]] ガバナーは動的な ''Ondemand'' によって置き換わりました。ホストの CPU 周波数が変化すると、ゲストのシステムクロックが早すぎたり遅すぎたりするようになり、ゲストが全く起動できなくなることもあります。
  +
  +
この問題を解決するには、全体設定で、ホストで最大 CPU 周波数を指定して、[[Wikipedia:Time Stamp Counter|Time Stamp Counter]] (TSC) を無効化します:
  +
  +
{{hc|/etc/vmware/config|2=
  +
host.cpukHz = "X" # The maximum speed in KHz, e.g. 3GHz is "3000000".
  +
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when
  +
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.
  +
}}
  +
  +
{{Tip|定期的に時刻を補正するには、VMware Tools の ''Options'' タブで、次のオプションを有効化してください: ''"Time synchronization between the virtual machine and the host operating system"''。}}
  +
  +
=== システムを再起動した後にゲストのネットワークが使えなくなる ===
  +
  +
おそらく {{ic|vmnet}} モジュールがロードされていないのが原因です [http://www.linuxquestions.org/questions/slackware-14/could-not-connect-ethernet0-to-virtual-network-dev-vmnet8-796095/]。自動ロードする方法は [[#systemd サービス]]セクションを参照してください。
  +
  +
=== アップグレード後に GUI が表示されない ===
  +
  +
以下は 12.1.0 以前のバージョンの VMware Workstation や Player に影響します。カーネルを 4.2 にアップグレードした後、VMware で GUI アプリケーションが起動しなくなることがあります。これは LD ライブラリのパスが原因です。修正するには VMware を実行するターミナルで {{ic|LD_LIBRARY_PATH}} を設定してください:
  +
$ export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH
  +
  +
VMware Workstation を実行するときだけ永続的に変更したい場合、実行ファイルの一番最初に以下の行を追加してください:
  +
{{hc|/usr/bin/vmware|2=
  +
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1
  +
}}
  +
VMware Player の場合は {{ic|/usr/bin/vmplayer}} を変更してください。
   
 
== アンインストール ==
 
== アンインストール ==
337行目: 399行目:
   
 
{{ic|vmware}} サービスを無効にして削除するのも忘れないで下さい:
 
{{ic|vmware}} サービスを無効にして削除するのも忘れないで下さい:
# systemctl disable vmware
 
 
# rm /etc/systemd/system/vmware.service
 
# rm /etc/systemd/system/vmware.service
  +
# rm /etc/systemd/system/vmware-usbarbitrator.service
   
You may also want to have a look at the module directories in {{ic|/usr/lib/modules/''<kernel name>''/misc/}} for any leftovers.
+
{{ic|/usr/lib/modules/''<kernel name>''/misc/}} のモジュールディレクトリにも何か残っていないか確認すると良いでしょう。

2016年2月19日 (金) 00:16時点における版

関連記事

この記事は Arch Linux における VMware のインストールについての記事です。VMware に Arch Linux をインストールするのは別の記事になっています。

ノート:
  • この記事では最新バージョンの VMware である VMware Workstation Pro と VMware Player 12 を扱います。
  • 古いバージョンを使用する場合は、AURvmware-patchAUR を使って下さい。

インストール

適切な依存パッケージをインストールしてください:

  • fuse - vmware-vmblock-fuse サービスが vmblock モジュールよりも 優先される ので、カーネルで fuse を無効にしない限りビルドされません
  • gtkmm - GUI 用
  • linux-headers - モジュールコンパイル用
  • ncurses5-compat-libsAUR - インストーラーを動かすのに必要

最新の VMware Workstation Pro または Player をダウンロードしてください (若しくは、可能であれば ベータ バージョン)。

インストールを開始してください:

# sh VMware-<edition>-<version>.<release>.<architecture>.bundle
ヒント: その他の有用なフラグ:
  • --eulas-agreed - EULA をスキップ。
  • --console - コンソール UI を使います。
  • -I, --ignore-errors - 致命的なエラーを無視します。
  • --set-setting=vmware-workstation serialNumber XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - インストールのシリアル番号を設定 (スクリプトでインストールするときに有用)。
  • --required - 必須の質問だけを表示 (--eulas-agreed--console と組み合わせることでサイレントインストールできます)。

System service scripts directory には、 /etc/init.d を使って下さい (デフォルト)。

ノート: インストール中に "No rc*.d style init script directories" というエラーが表示されますが、Arch は systemd に移行しているので、無視してかまいません。
ヒント: 後でターミナルからモジュールを(再)ビルドするには、次のコマンドを使って下さい:
# vmware-modconfig --console --install-all

設定

ヒント: このセクションで行うことを自動化する vmware-patchAUR というパッケージが AUR には存在します (古い VMware バージョンもサポートしています)。

カーネルモジュール

ノート: Workstation 12 は メインラインに入っている カーネルモジュールを利用するので、VMCI/VSOCK のソースにパッチをあてる必要はありません。

VMware Workstation 12 はバージョン 4.2 までのカーネルをサポートしています。

systemd サービス

(任意) /etc/init.d/vmware (start|stop|status|restart) と /usr/bin/vmware-usbarbitrator を使って直接サービスを管理するのではなく、.service ファイルを使用することもできます (AURvmware-systemd-servicesAUR から取得することも可能):

/etc/systemd/system/vmware.service
[Unit]
Description=VMware daemon
Requires=vmware-usbarbitrator.service
Before=vmware-usbarbitrator.service
After=network.target

[Service]
ExecStart=/etc/init.d/vmware start
ExecStop=/etc/init.d/vmware stop
PIDFile=/var/lock/subsys/vmware
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
/etc/systemd/system/vmware-usbarbitrator.service
[Unit]
Description=VMware USB Arbitrator
Requires=vmware.service
After=vmware.service

[Service]
ExecStart=/usr/bin/vmware-usbarbitrator
ExecStop=/usr/bin/vmware-usbarbitrator --kill
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

他の Workstation サーバーコンソールから VMware Workstation に接続したい場合、以下のサービスも追加してください:

/etc/systemd/system/vmware-workstation-server.service
[Unit]
Description=VMware Workstation Server
Requires=vmware.service
After=vmware.service

[Service]
ExecStart=/etc/init.d/vmware-workstation-server start
ExecStop=/etc/init.d/vmware-workstation-server stop
PIDFile=/var/lock/subsys/vmware-workstation-server

[Install]
WantedBy=multi-user.target

作成したら有効化することでブート時に起動できます。

アプリケーションを起動する

VMware Workstation Pro を開くには:

$ vmware

VMware Player の場合:

$ vmplayer

Tips and tricks

Workstation Pro ライセンスキーを入力する

ターミナルから

# /usr/lib/vmware/bin/vmware-vmx-debug --new-sn XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

XXXXX-XXXXX-XXXXX-XXXXX-XXXXX はあなたのライセンスキーに置き換えてください。

ノート: -debug バイナリはライセンスが間違っている場合に知らせてくれます。

GUI から

上記で上手くいかない場合は、次を試すことができます:

# /usr/lib/vmware/bin/vmware-enter-serial

VMware BIOS を展開する

$ objcopy /usr/lib/vmware/bin/vmware-vmx -O binary -j bios440 --set-section-flags bios440=a bios440.rom.Z
$ perl -e 'use Compress::Zlib; my $v; read STDIN, $v, '$(stat -c%s "./bios440.rom.Z")'; $v = uncompress($v); print $v;' < bios440.rom.Z > bios440.rom

インストーラーを抽出する

インストーラー .bundle の中身を確認するには:

$ sh VMware-edition-version.release.architecture.bundle --extract /tmp/vmware-bundle/

改造 BIOS を使う

展開した BIOS に変更を加えるとき、あなたの仮想マシンがその BIOS を使うようにするには BIOS を ~/vmware/<Virtual machine name> に移動して:

$ mv bios440.rom ~/vmware/<Virtual machine name>/

ファイルの名前を <Virtual machine name>.vmx ファイルに追記してください:

~/vmware/<Virtual machine name>/<Virtual machine name>.vmx
bios440.filename = "bios440.rom"

DKMS を使ってモジュールを管理する

Dynamic Kernel Module Support (DKMS) を使って Workstation のモジュールを管理することができ、カーネルを変更する度に vmware-modconfig を再実行するのを避けることができます。以下の例ではカスタムした Makefile を使って vmware-modconfig によりモジュールをコンパイル・インストールします。その後モジュールはカーネルツリーから削除されます。

準備

まず公式リポジトリから dkms をインストールしてください。

それから Makefiledkms.conf のソースディレクトリを作成してください:

# mkdir /usr/src/vmware-modules-12/

ビルド設定

git を使うか下の方法でファイルを取得してください。

1) Git を使う
$ cd /tmp
$ git clone git://github.com/bawaaaaah/dkms-workstation.git
$ sed -i 's/9/12/' dkms-workstation/dkms.conf
# cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules-12/
2) 手動設定

dkms.conf にはモジュールの名前とコンパイル・インストールの手順を記述します。AUTOINSTALL="yes" で自動的に毎回モジュールが再コンパイル・インストールされるようになります:

/usr/src/vmware-modules-12/dkms.conf
PACKAGE_NAME="vmware-modules"
PACKAGE_VERSION="12"

MAKE[0]="make all"
CLEAN="make clean"

BUILT_MODULE_NAME[0]="vmmon"
BUILT_MODULE_LOCATION[0]="modules"

BUILT_MODULE_NAME[1]="vmnet"
BUILT_MODULE_LOCATION[1]="modules"

BUILT_MODULE_NAME[2]="vmblock"
BUILT_MODULE_LOCATION[2]="modules"

BUILT_MODULE_NAME[3]="vmci"
BUILT_MODULE_LOCATION[3]="modules"

BUILT_MODULE_NAME[4]="vsock"
BUILT_MODULE_LOCATION[4]="modules"

DEST_MODULE_LOCATION[0]="/extra/vmware"
DEST_MODULE_LOCATION[1]="/extra/vmware"
DEST_MODULE_LOCATION[2]="/extra/vmware"
DEST_MODULE_LOCATION[3]="/extra/vmware"
DEST_MODULE_LOCATION[4]="/extra/vmware"

AUTOINSTALL="yes"

そして Makefile:

/usr/src/vmware-modules-12/Makefile
KERNEL := $(KERNELRELEASE)
HEADERS := /usr/lib/modules/$(KERNEL)/build/include
GCC := $(shell vmware-modconfig --console --get-gcc)
DEST := /lib/modules/$(KERNEL)/vmware

TARGETS := vmmon vmnet vmblock vmci vsock

LOCAL_MODULES := $(addsuffix .ko, $(TARGETS))

all: $(LOCAL_MODULES)
	mkdir -p modules/
	mv *.ko modules/
	rm -rf $(DEST)
	depmod

$(HEADERS)/linux/version.h:
	ln -s $(HEADERS)/generated/uapi/linux/version.h $(HEADERS)/linux/version.h

%.ko: $(HEADERS)/linux/version.h
	vmware-modconfig --console --build-mod -k $(KERNEL) $* $(GCC) $(HEADERS) vmware/
	cp -f $(DEST)/$@ .

clean: rm -rf modules/

インストール

モジュールは次のコマンドでインストールできます:

# dkms install vmware-modules/12 -k $(uname -r)

Intel と Optimus で 3D グラフィックを有効化

3D アクセラレーションが不安定なグラフィックドライバーはデフォルトでブラックリストに入れられています。Accelerate 3D graphics を有効化すると、ログに以下のように表示されることがあります:

Disabling 3D on this host due to presence of Mesa DRI driver.  Set mks.gl.allowBlacklistedDrivers = TRUE to override.

その場合、以下のように設定してください:

~/.vmware/preferences
mks.gl.allowBlacklistedDrivers = TRUE

トラブルシューティング

/dev/vmmon not found

エラーの全文は:

Could not open /dev/vmmon: No such file or directory.
Please make sure that the kernel module `vmmon' is loaded.

これは vmmon VMware サービスが動作していないことを意味しています。#Systemd サービスsystemd サービスを使っている場合は(再)起動してください。

Kernel headers for version 4.x-xxxx were not found. If you installed them[...]

ヘッダーをインストールしてください (linux-headers)。

ノート: カーネルやヘッダーをアップグレードしたら、ヘッダーのバージョンを合わせるために新しいカーネルで起動する必要があります。比較的よくあるエラーです。

USB デバイスが認識されない

ヒント: vmware-patchAUR でも対処できます。

systemd サービスを使ってサービスを自動的に管理しない場合、毎回手動で root を使って vmware-usbarbitrator バイナリを起動する必要があります。

起動するには:

# vmware-usbarbitrator

停止するには:

# vmware-usbarbitrator --kill

インストーラーが起動しない

.bundle を開くとプロンプトに戻ってしまう場合、おそらく VMware インストーラーの古いバージョンまたは壊れたバージョンが存在しています。削除してください (この記事のアンインストールセクションも参照してください):

# rm -r /etc/vmware-installer/

ゲストで VMware Tools がダウンロードできない

rootvmwarevmplayer を実行してみるか、VMware リポジトリ から直接ダウンロードしてください。

"application name / version / build ID / linux / packages/" まで移動して適切な Tools をダウンロードします。

展開するには次を実行:

$ tar -xvf vmware-tools-name-version-buildID.x86_64.component.tar

VMware インストーラーを使ってインストール:

# vmware-installer --install-component=/path/vmware-tools-name-version-buildID.x86_64.component

上記で上手くいかない場合は ncurses5-compat-libsAUR をインストールしてみてください。

VMware にリモートでアクセスしようとすると Incorrect login/password エラー

VMware Workstation には vmware-workstation-server サービスによって共有 VM をリモートで管理できる機能があります。しかしながら、vmware-authd サービスの PAM 設定が間違っているために、"incorrect username/password" エラーで失敗します。修正するには、以下のように /etc/pam.d/vmware-authd を編集して:

/etc/pam.d/vmware-authd
#%PAM-1.0
auth     required       pam_unix.so
account  required       pam_unix.so
password required       pam_permit.so
session  required       pam_unix.so

vmwaresystemd サービスを再起動してください。

これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。

ノート: 仮想マシンを起動するために libxslt が必要になるかもしれません。

ALSA 出力の問題

音質や HD 音声出力が有効にできない問題を修正するには、まず以下を実行 [1]:

$ aplay -L

ゲストから 5.1 のサラウンド音声を再生したい場合 surround51:CARD=vendor_name,DEV=num を、音質に問題がある場合は front:CARD=vendor_name,DEV=num を確認して、.vmx に名前を記述してください:

~/vmware/Virtual_machine_name/Virtual_machine_name.vmx
sound.fileName="surround51:CARD=Live,DEV=0"
sound.autodetect="FALSE"

OSS エミュレーションを使っている場合、無効化してください。

Kernel-based Virtual Machine (KVM) is running

起動時に KVM を無効にするために、以下のようなファイルを使うことができます:

/etc/modprobe.d/vmware.conf
blacklist kvm
blacklist kvm-amd   # For AMD CPUs
blacklist kvm-intel # For Intel CPUs

Intel のマイクロコードが古いせいで起動時にセグメンテーション違反が発生する

Intel のマイクロコードが最新でないと起動時に以下のようなセグメンテーション違反が発生することがあります:

/usr/bin/vmware: line 31: 4941 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"

マイクロコードを参照してアップデートしてください。

時刻がおかしくなったり "[...]timeTracker_user.c:234 bugNr=148722" というエラーで VMware が起動しない

VMware Linux における電源管理機能 (Intel SpeedStepAMD PowerNow!/Cool'n'Quiet) のサポートが 不完全 で CPU 周波数が変化するのが原因です。2012年3月、linux 3.3-1 のリリースによって、最大周波数の Performance ガバナーは動的な Ondemand によって置き換わりました。ホストの CPU 周波数が変化すると、ゲストのシステムクロックが早すぎたり遅すぎたりするようになり、ゲストが全く起動できなくなることもあります。

この問題を解決するには、全体設定で、ホストで最大 CPU 周波数を指定して、Time Stamp Counter (TSC) を無効化します:

/etc/vmware/config
host.cpukHz = "X"  # The maximum speed in KHz, e.g. 3GHz is "3000000".
host.noTSC = "TRUE" # Keep the Guest system clock accurate even when
ptsc.noTSC = "TRUE" # the time stamp counter (TSC) is slow.
ヒント: 定期的に時刻を補正するには、VMware Tools の Options タブで、次のオプションを有効化してください: "Time synchronization between the virtual machine and the host operating system"

システムを再起動した後にゲストのネットワークが使えなくなる

おそらく vmnet モジュールがロードされていないのが原因です [2]。自動ロードする方法は #systemd サービスセクションを参照してください。

アップグレード後に GUI が表示されない

以下は 12.1.0 以前のバージョンの VMware Workstation や Player に影響します。カーネルを 4.2 にアップグレードした後、VMware で GUI アプリケーションが起動しなくなることがあります。これは LD ライブラリのパスが原因です。修正するには VMware を実行するターミナルで LD_LIBRARY_PATH を設定してください:

$ export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1/:$LD_LIBRARY_PATH

VMware Workstation を実行するときだけ永続的に変更したい場合、実行ファイルの一番最初に以下の行を追加してください:

/usr/bin/vmware
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libglibmm-2.4.so.1

VMware Player の場合は /usr/bin/vmplayer を変更してください。

アンインストール

VMware をアンインストールするには製品名が必要です (vmware-workstation または vmware-player)。インストールされている製品を全て表示するには:

$ vmware-installer -l

次のコマンドでアンインストールしてください (--required で確認をスキップできます):

# vmware-installer -u <product> --required

vmware サービスを無効にして削除するのも忘れないで下さい:

# rm /etc/systemd/system/vmware.service
# rm /etc/systemd/system/vmware-usbarbitrator.service

/usr/lib/modules/<kernel name>/misc/ のモジュールディレクトリにも何か残っていないか確認すると良いでしょう。