「VMware」の版間の差分
(→設定) |
(同期) |
||
11行目: | 11行目: | ||
{{Related|QEMU}} |
{{Related|QEMU}} |
||
{{Related|Xen}} |
{{Related|Xen}} |
||
− | {{ |
+ | {{Related|既存環境を仮想マシンに (から) 移動}} |
{{Related articles end}} |
{{Related articles end}} |
||
この記事は Arch Linux における VMware のインストールについての記事です。[[VMware に Arch Linux をインストール]]するのは別の記事になっています。 |
この記事は Arch Linux における VMware のインストールについての記事です。[[VMware に Arch Linux をインストール]]するのは別の記事になっています。 |
||
{{Note| |
{{Note| |
||
− | *この記事では最新バージョンの VMware である VMware Workstation |
+ | *この記事では最新バージョンの 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}} - インストーラーを動かすのに必要 |
||
− | 最新の [ |
+ | 最新の [https://www.vmware.com/go/tryworkstation VMware Workstation Pro] または [https://www.vmware.com/go/downloadplayer Player] をダウンロードしてください (若しくは、可能であれば [https://communities.vmware.com/community/vmtn/beta ベータ] バージョン)。 |
− | インストールを開始してください |
+ | インストールを開始してください: |
− | # sh VMware-''<edition>''-''<version>''.''<release>''.''<architecture>''.bundle |
+ | # 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 は [[ |
+ | {{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}} ({{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- |
+ | Requires=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- |
+ | {{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=/ |
+ | ExecStart=/usr/bin/vmware-usbarbitrator |
− | ExecStop=/ |
+ | 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 |
+ | 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| |
+ | {{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 |
||
− | + | === インストーラーを抽出する === |
|
+ | インストーラー {{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}} によりモジュールをコンパイル・インストールします。その後モジュールはカーネルツリーから削除されます。 |
==== 準備 ==== |
==== 準備 ==== |
||
168行目: | 168行目: | ||
それから {{ic|Makefile}} と {{ic|dkms.conf}} のソースディレクトリを作成してください: |
それから {{ic|Makefile}} と {{ic|dkms.conf}} のソースディレクトリを作成してください: |
||
− | # mkdir /usr/src/vmware-modules- |
+ | # 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/ |
+ | $ sed -i 's/9/12/' dkms-workstation/dkms.conf |
− | # cp dkms-workstation/Makefile dkms-workstation/dkms.conf /usr/src/vmware-modules- |
+ | # 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- |
+ | {{hc|/usr/src/vmware-modules-12/dkms.conf|2= |
PACKAGE_NAME="vmware-modules" |
PACKAGE_NAME="vmware-modules" |
||
− | PACKAGE_VERSION=" |
+ | PACKAGE_VERSION="12" |
MAKE[0]="make all" |
MAKE[0]="make all" |
||
218行目: | 218行目: | ||
そして {{ic|Makefile}}: |
そして {{ic|Makefile}}: |
||
− | {{hc|/usr/src/vmware-modules- |
+ | {{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/ |
+ | # 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 |
+ | === 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/ |
||
− | # |
+ | # 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 |
+ | 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}} の [[ |
+ | {{ic|vmware}} の [[systemd]] サービスを再起動してください。 |
これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。 |
これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。 |
||
302行目: | 333行目: | ||
=== ALSA 出力の問題 === |
=== ALSA 出力の問題 === |
||
− | 以下 |
+ | 音質や 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 |
||
− | + | {{ic|/usr/lib/modules/''<kernel name>''/misc/}} のモジュールディレクトリにも何か残っていないか確認すると良いでしょう。 |
2016年2月19日 (金) 00:16時点における版
この記事は Arch Linux における VMware のインストールについての記事です。VMware に Arch Linux をインストールするのは別の記事になっています。
目次
- 1 インストール
- 2 設定
- 3 アプリケーションを起動する
- 4 Tips and tricks
- 5 トラブルシューティング
- 5.1 /dev/vmmon not found
- 5.2 Kernel headers for version 4.x-xxxx were not found. If you installed them[...]
- 5.3 USB デバイスが認識されない
- 5.4 インストーラーが起動しない
- 5.5 ゲストで VMware Tools がダウンロードできない
- 5.6 VMware にリモートでアクセスしようとすると Incorrect login/password エラー
- 5.7 ALSA 出力の問題
- 5.8 Kernel-based Virtual Machine (KVM) is running
- 5.9 Intel のマイクロコードが古いせいで起動時にセグメンテーション違反が発生する
- 5.10 時刻がおかしくなったり "[...]timeTracker_user.c:234 bugNr=148722" というエラーで VMware が起動しない
- 5.11 システムを再起動した後にゲストのネットワークが使えなくなる
- 5.12 アップグレード後に GUI が表示されない
- 6 アンインストール
インストール
適切な依存パッケージをインストールしてください:
- fuse -
vmware-vmblock-fuse
サービスがvmblock
モジュールよりも 優先される ので、カーネルで fuse を無効にしない限りビルドされません - gtkmm - GUI 用
- linux-headers - モジュールコンパイル用
- ncurses5-compat-libsAUR - インストーラーを動かすのに必要
最新の VMware Workstation Pro または Player をダウンロードしてください (若しくは、可能であれば ベータ バージョン)。
インストールを開始してください:
# sh VMware-<edition>-<version>.<release>.<architecture>.bundle
System service scripts directory
には、 /etc/init.d
を使って下さい (デフォルト)。
設定
カーネルモジュール
VMware Workstation 12 はバージョン 4.2 までのカーネルをサポートしています。
systemd サービス
(任意) /etc/init.d/vmware
(start|stop|status|restart
) と /usr/bin/vmware-usbarbitrator
を使って直接サービスを管理するのではなく、.service
ファイルを使用することもできます (AUR の vmware-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
はあなたのライセンスキーに置き換えてください。
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 をインストールしてください。
それから Makefile
と dkms.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 デバイスが認識されない
systemd サービスを使ってサービスを自動的に管理しない場合、毎回手動で root を使って vmware-usbarbitrator
バイナリを起動する必要があります。
起動するには:
# vmware-usbarbitrator
停止するには:
# vmware-usbarbitrator --kill
インストーラーが起動しない
.bundle
を開くとプロンプトに戻ってしまう場合、おそらく VMware インストーラーの古いバージョンまたは壊れたバージョンが存在しています。削除してください (この記事のアンインストールセクションも参照してください):
# rm -r /etc/vmware-installer/
ゲストで VMware Tools がダウンロードできない
root で vmware
や vmplayer
を実行してみるか、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
vmware
の systemd サービスを再起動してください。
これでインストールで作られた証明書を使ってサーバーにアクセスできるはずです。
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 SpeedStep や AMD 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.
システムを再起動した後にゲストのネットワークが使えなくなる
おそらく 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/
のモジュールディレクトリにも何か残っていないか確認すると良いでしょう。