[CentOS] Could not open /dev/vmmon のエラー対処 | PCマニアときどきアウトドア

PCマニアときどきアウトドア

忘れっぽいので備忘録として記録することにしました

 linuxを使っていると、Windowsって良くできてるなぁとつくづく感じる。アップデートで今までのソフトが動かない!ってほとんどないからね。しかしLinuxでしかできない事もあるから、やめられない止まらない

 先日のカーネルアップデート(2.6.32.504)でモニタ認識、表示がおかしくなったので、グラフィックドライバ再インストールを行なった。VMwareも起動しなくなったので、その時の対処メモ。



 vmmonが見つからないから起動できない旨のメッセージ。
 とりあえず既存のVMをアンインストール。

$ sh ./VMware-Player-* --uninstall-component=vmware-player
  もしくは、
$ vmware-installer -u vmware-player

 最新版のbundleをDL、rootディレクトリに置いてshコマンドで実行、インストール。

$ sh VMware-Player-6.*

 ここからが対処の本番。

$ tar -xvf /usr/lib/vmware/modules/source/vmmon.tar

*gzではないので「z」オプションはつけない。解凍に少しつまづいた・・・

vmmon-only/
vmmon-only/COPYING
vmmon-only/common/
vmmon-only/common/cpuid.h
vmmon-only/common/hostif.h
vmmon-only/common/vmx86.c
vmmon-only/common/apic.c
vmmon-only/common/apic.h
~以下略~

$ cd vmmon-only
$ make

Using 2.6.x kernel build system.
make -C /lib/modules/2.6.32-504.el6.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.32-504.el6.x86_64' に入ります
  CC [M]  /root/vmmon-only/linux/driver.o
  CC [M]  /root/vmmon-only/linux/driverLog.o
  CC [M]  /root/vmmon-only/linux/hostif.o
  CC [M]  /root/vmmon-only/common/apic.o
  CC [M]  /root/vmmon-only/common/comport.o
  CC [M]  /root/vmmon-only/common/cpuid.o
  CC [M]  /root/vmmon-only/common/hashFunc.o
  CC [M]  /root/vmmon-only/common/memtrack.o
  CC [M]  /root/vmmon-only/common/phystrack.o
  CC [M]  /root/vmmon-only/common/task.o
  CC [M]  /root/vmmon-only/common/vmx86.o
  CC [M]  /root/vmmon-only/vmcore/moduleloop.o
  LD [M]  /root/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/vmmon-only/vmmon.mod.o
  LD [M]  /root/vmmon-only/vmmon.ko.unsigned
  NO SIGN [M] /root/vmmon-only/vmmon.ko
make[1]: ディレクトリ `/usr/src/kernels/2.6.32-504.el6.x86_64' から出ます
make -C $PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= postbuild
make[1]: ディレクトリ `/root/vmmon-only' に入ります
make[1]: `postbuild' は更新済みです
make[1]: ディレクトリ `/root/vmmon-only' から出ます
cp -f vmmon.ko ./../vmmon.o

 できあがったvmmon.koをカーネルモジュールライブラリへコピー。

$ cp vmmon.ko /lib/modules/2.6.32-504.el6.x86_64/misc/vmmon.ko
cp: `/lib/modules/2.6.32-504.el6.x86_64/misc/vmmon.ko' を上書きしてもよろしいですか(yes/no)? y ←y応答

 modprobeで認識させる。

$ modprobe vmmon

以上でVM起動成功