人気ブログランキング |

Fedora 30にVMWare-Player v. 15.1.0をインストール

今日は、母親の高齢者住宅への入所面談のためにまた千葉市のはずれまでいかなければなりません。
千葉市のはずれと云っても、実家のある場所よりは中央寄りで、しかもバス路線があるので、それでも便利です。
その高齢者住宅は、現在入院している病院の関連施設で、病院に紹介してもらったのですが、車椅子はダメとか認知性があるとダメとかいろいろと制限があり、これからどんどん健康状態が悪くなる可能性があると入所を断られるかもしれないし、後で追い出されるのかもしれません。
こうなる前に調べておかなかったことが悔やまれます。

昨日は、台風の影響で首都圏の表層を走る列車の多くが運休してしまい仕事にも行くことができなくなってしまいました。
折角なので、課題となっていた、LinuxノートPCへのへのVMWare Workstation Playerの導入とVMWare上にWindows10のインストールに再チャレンジしました。
ノートPCは、HPの15-ba000というもので約2年前に購入したものです。
Windows10Homeがプリインストールされていたもので、CPUはAMD E2-7110 4-Core 1.8GHz 2MB L2 cache、RAMは8GB、購入後遅さに耐えかねてHDDをSSDに換装したものです。
スペックとしては悪くありませんが、自分にとってはWindows10が使い勝手が悪く、それでもWindowsで使わなければならない状況がほんの少しあったので、マシンそのものをLinuxにして、その中のアプリケーションとしてWindows10を使えるようにすることを目指しました。
選定したLinuxディストリビューションは、Fedora Core 30(FC30)です。
別なCeleronのノートPCにFC28を導入して使い始め、その良さに慣れたので最近はずっとFC系にしていました。

VMWareが公式にサポートしているFedora30にVMWare Workstation Playerをインストールするのは大変でしたが、何とかインストールでき、そこにWindows10をインストールできました。

いままでは、ダウンロードしたVMWareのインストールスクリプト

VMware-Player-15.1.0-13591040.x86_64.bundle


# sh VMware-Player-15.1.0-13591040.x86_64.bundle
としてコマンドラインターミナルからインストールし、起動時に失敗していました。
起動時には、必要なコンポーネントコンパイルする必要がある、というメッセージが出るものの、コンパイルに失敗する、という問題がありました。

これまでに収集した情報をまとめます。

VMWareが提供する open-vm-toolsとディストリビューションが提供するツールが違っており、相性問題が発生している。
Fedora30は、最初からopen-vm-toolが提供されているがそのままではWMWare Workstation Playerは使えない。

何度も調べては断念していましたが、下記ページを再び読んでみました。

https://wesley.sh/solved-vmware-workstation-15-fails-to-compile-kernel-modules-with-failed-to-build-vmmon-and-failed-to-build-vmnet/

このサイトの筆者は、参考リンクを示していて、そこで最終的に成功した方法を書いています。
ただし、バージョンの違いやタイプミスもあったので、修正したものを再掲します。
そこでは下記の内容のファイルを作成するよう指示されています。
スクリプトのファイルの内容のようですので、これをホームディレクトリに"vm.sh"という名称で保存しました(上記のページに記載されていたもののタイプミスを修正し、VMWareのバージョンを使用するものに合わせたものです)。

!/bin/bash
VMWARE_VERSION=workstation-15.1.0 #This needs to be the actual name of the appropriate branch in mkubecek's GitHub repo for your purposes
TMP_FOLDER=/tmp/patch-vmware
rm -fdr $TMP_FOLDER
mkdir -p $TMP_FOLDER
cd $TMP_FOLDER
git clone https://github.com/mkubecek/vmware-host-modules.git #Use `git branch -a` to find all available branches and find the one that's appropriate for you
cd $TMP_FOLDER/vmware-host-modules
git checkout $VMWARE_VERSION
git fetch
make
sudo make install
sudo rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1


このスクリプトを実行します。

$ sudo sh ./vm.sh

するとスクリプトが始まります。

$ sudo sh ./vm.sh
[sudo] user のパスワード:
./vm.sh: 行 1: !/bin/bash: そのようなファイルやディレクトリはありません
Cloning into 'vmware-host-modules'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 1405 (delta 41), reused 26 (delta 19), pack-reused 1346
Receiving objects: 100% (1405/1405), 835.63 KiB | 1.14 MiB/s, done.
Resolving deltas: 100% (1119/1119), done.
Branch 'workstation-15.1.0' set up to track remote branch 'workstation-15.1.0' from 'origin'.
Switched to a new branch 'workstation-15.1.0'
make -C vmmon-only
make[1]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmmon-only' に入ります
Using kernel build system.
make -C /lib/modules/5.2.11-200.fc30.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[2]: ディレクトリ '/usr/src/kernels/5.2.11-200.fc30.x86_64' に入ります
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/driverLog.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/driver.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/linux/hostif.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/memtrack.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/apic.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/vmx86.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/cpuid.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/task.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/comport.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/common/phystrack.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmcore/moduleloop.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/monLoaderVmmon.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/monLoader.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/vmmblob.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/bootstrap/bootstrap.o
LD [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.mod.o
LD [M] /tmp/patch-vmware/vmware-host-modules/vmmon-only/vmmon.ko
make[2]: ディレクトリ '/usr/src/kernels/5.2.11-200.fc30.x86_64' から出ます
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[2]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmmon-only' に入ります
make[2]: 'postbuild' は更新済みです.
make[2]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmmon-only' から出ます
cp -f vmmon.ko ./../vmmon.o
make[1]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmmon-only' から出ます
make -C vmnet-only
make[1]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmnet-only' に入ります
Using kernel build system.
make -C /lib/modules/5.2.11-200.fc30.x86_64/build/include/.. M=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[2]: ディレクトリ '/usr/src/kernels/5.2.11-200.fc30.x86_64' に入ります
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/driver.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/hub.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/userif.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/netif.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/bridge.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/procfs.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/smac_compat.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/smac.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vnetEvent.o
CC [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vnetUserListener.o
LD [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.mod.o
LD [M] /tmp/patch-vmware/vmware-host-modules/vmnet-only/vmnet.ko
make[2]: ディレクトリ '/usr/src/kernels/5.2.11-200.fc30.x86_64' から出ます
make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[2]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmnet-only' に入ります
make[2]: 'postbuild' は更新済みです.
make[2]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmnet-only' から出ます
cp -f vmnet.ko ./../vmnet.o
make[1]: ディレクトリ '/tmp/patch-vmware/vmware-host-modules/vmnet-only' から出ます
install -D -t /lib/modules/5.2.11-200.fc30.x86_64/misc vmmon-only/vmmon.ko vmnet-only/vmnet.ko
strip --strip-debug /lib/modules/5.2.11-200.fc30.x86_64/misc/vmmon.ko /lib/modules/5.2.11-200.fc30.x86_64/misc/vmnet.ko
if test -z ""; then /sbin/depmod -a 5.2.11-200.fc30.x86_64; fi

この後で、VMWare Workstation Playerを起動すると、いままでの問題が嘘のようにふつうに立ち上がりました。

ここで、Windows10のインストールを実施するもののさらなる問題がありました。
VMWareを起動して、Windowsマシンのインストールを試みます。
ダウンロードしたisoファイルを開き、Windowsライセンス番号を入力。
実行するとエラーが発生しました。

Could not open /dev/
vmmon: ?????????????????.
Please make sure that the kernel module 'vmmon' is loaded.


vmmon(Virtual Machine Monitor)がロードされていないようです。

そこで調べてみると同じ問題を解決したサイトが見つかりました。

https://communities.vmware.com/thread/611974

そこからリンクされているサイトに飛んでパッチファイルをダウンロードしました。

https://github.com/mkubecek/vmware-host-modules/tree/98008ff6adec118962df8ac26f814b55c3861efb

ここでファイルをダウンロードして解凍。
ダウンロードフォルダの中にある解凍してできたフォルダに移動し
$ make
$ sudo make install

ここまでで、vmmonが無事更新できました。

この状態でも問題なくVMWare Workstation Playerが起動しました!

Windows10のisoファイルを読み込みライセンスを入れるとWindowsセットアッププログラムが起動しました。
セットアップにはそこそこ時間がかかります。
Linuxのインストールより時間が長い気がします。
Linuxのようにインストール中の進捗を示す画面はありません。
セットアッププログラムがマシンを再起動しました。

HPのマシンにインストールしたのですが、起動時にはHPのマークが出ません。
ということは、やはりOEM版のライセンスは使えないようです(リテール版のライセンスを入れたせいかもしれません)。
Windows10は、ハードウェアをVMWare Workstation Playerの仮想マシンとして認識しているのでしょう。
ハードウェアベンダーにはOSなしとかWindowsのライセンスをリテール版とするモデルを販売してほしいと思います。
同時に所有するWindowsマシンの数だけリテール版のライセンスを買えばいいですが、ちょっともったいないような気がします。

Windowsの起動画面を見ながらこの文章を書いているのですが、ちょっと長過ぎる感じがします。
ずっと『準備しています』のままです。

Windowsがセットアップ完了して再起動したようです。
これも長い...

とうとうWindows10が起動しました。

でもこれでうまくいけば、もうWindowsにいろいろなソフトをインストールする必要はありません。
ハードウェア関連のソフトと、Windowsでしか使えないいくつかのソフトをインストールするだけで十分です。
あとはホストOSのFedora 30を使えば事足ります。

とりあえずWindows10が仮想マシン上で起動して使えるようになりました。
ふうっ。

トラックバックURL : https://mcap.exblog.jp/tb/239552464
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by mcap-cr | 2019-09-10 06:34 | Linux | Trackback | Comments(0)

音楽は生演奏が最高ですが、レコード音楽は、工学オーディオによってリーゾナブルなコストで楽しみましょう。


by MCAP-CR
プロフィールを見る
画像一覧
更新通知を受け取る