昨日の記事(VMware Player→Portable VirtualBox)を書くまで、VMware Playerを一応残してありました。書き終わって、もう使わないからとVMware Playerをアンインストールしようとしたら、思いがけずエラい目に…何とか復旧したけど、際どいところでした。以下Windows 7 32bit + VMware Player 6での経緯。
昨日、問題発生まで
まず、VMware Playerを普通にアンイストールできません。コントロールパネルの「プログラムと機能」でアンインストールを選んでも、MSI「」が失敗しました。というダイログが出て終了。Googleで検索すると、vmware playerアンインストールmsi「」が失敗しましたのキーワードで3000件近くもヒットし、周知の問題らしいです。
それならと、Googleでヒットしたページのいくつかを参考に、VMware Playerのサービス、ネットワークアダプタ、プログラムフォルダ、レジストリ等を手動でホイホイ削除して、だいたい消し終わったかな~とPCを再起動すると、外付キーボードが反応しません。じゃ、とりあえずノートPC本体のキーボードを使ってドライバ入れ直すか…あれ、反応がない。ついでにタッチパッドも駄目。外付マウスだけは普通に動いてる。これは初めての経験で、焦り始めました。
↓ その時のデバイスマネージャ。HIDキーボードデバイスが外付、その下がノートPC(NEC)のキーボード。いま見ると、本体キーボードなのにUSB Keyboardなのは変で、別の種類に替えたらすぐ直ったかもしれませんが、この時は焦っていて考えが及ばず、まずデバイスドライバの更新を試しました。
ところが、デバイスドライバの更新や、いったんデバイスを削除して再認識させようとしても、
- 「レジストリ内の構成情報が不完全であるか、または壊れているためこのハードウェア デバイスを開始できません。 (コード19)」
- 「このハードウェアのデバイス ドライバを正常に読み込みましたが、ハードウェア デバイスが見つかりません。 (コード41)」
駄目ですorz これは初めて遭遇するケース。もう最終バスの時刻になったので諦め、明日は再インストールか…まぁデータは無事だからいいか…いつもレジストリいじっても問題起きないので油断があったかな…と落胆して帰り、寝る前に一応ネットで調べたらmemo : windows8から8.1アップデート レジストリ内の構成情報が不完全であるか、または壊れているためこのハードウェア デバイスを開始できません。 (コード19)キーボードが認識しない今回の場合の対応
Upperfiltersの中の、vmkbdを削除
※VMwareのドライバが邪魔していた?
コレか( ゚д゚)
さらに調べたら、入力デバイス関連で似た事例 ↓ があり、いずれも当該デバイスのレジストリのUpperfiltersあたりを修正して直ってました。これらのサイトのおかげで、何とかなりそうな予感。
»KINGYO-ASSIST :マウスが認識されない» 今は無きあの星: 2012年11月30日 - 奮闘記:マウスとキーボードが動かなくなった
今日、復旧
さっそくレジストリのHKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Control→Classの下にあるキーボードのキーを探したら ↓ ありました。vmkbdお前か!!
UpperFiltersのvmkbdを削除!!
再起動したら、外付キーボードが復旧^o^
これで一安心し、よく見ると内蔵キーボードがUSBって変かもと気付き、デバイスドライバの更新 → コンピュータを参照してドライバを検索 → コンピュータ上のデバイスドライバの一覧から選択、と進んで「日本語PS/2キーボード(106/109キー)」に変えて再起動したら、タッチパッドも含めて完全復旧しました ↓
もしかしたら、前からキーボードのデバイスドライバに変なのが当たっていて潜在的な問題があり、たまたまvmkbdが残っているのと合わさって顕在化したのかもしれません。だからVMwareが主因とは言い切れませんが、とにかくレジストリからvmkbdを消して復旧したのは事実です。また今回(も)Windows 7のセーフモード、スタートアップ修復、sfcコマンドなど一切役に立ちませんでした。消したフォントが勝手に復活してるし…
直ってよかったけど、もし外付マウスも駄目だったら一切操作できないので、システムの再インストールしか手段がなかったです。危ないところでした。教訓①こういう場合に備え、リモートログインできるようにしておく。②VMware Player自体を仮想環境で使うww