[macOS Catalina] VMware Fusion で黒画面
macOS Catalina にアップグレードした後、VMware Fusion で問題が起きた。ゲスト OS の画面が真っ黒になってしまうのだ(Virtual Machine Library 上のプレビューでは正しく表示されている)。これでは操作が全くできない。
環境:macOS Catalina Version 10.15(Hackintosh)、VMware Fusion 10.0.1
これは VMware Fusion 11 にアップグレードすることで解決するが、できれば 10 を使い続けたいので解決方法を探してみた。
参考にしたのは以下のフォーラムだ。
Solved: macOS Catalina issue [beta] |VMware Communities
https://communities.vmware.com/thread/611933
結論から先に書くと、「リンゴアイコン>System Preferences>Security & Privacy>Privacy>Screen Recording」の VMware Fusion.app にチェックを入れると解決するんだけど、ここに至るまで結構苦労した。
【試したこと1】
「ヴァーチャルマシンの設定ボタン>Processors & Memory>Advanced options>Enable hypervisor application in this virtual machine」にチェックを入れて起動すること。これでも黒い画面のままだった。
【試したこと2】
「リンゴアイコン>System Preferences>Security & Privacy>Privacy>Screen Recording」の VMware Fusion.app にチェックを入れようにも、VMware Fusion.app が表示されていない。「+」ボタンで追加しようにも「+」ボタンがない。ドラッグ・アンド・ドロップもできない。「+」ボタンが表示されていないのはおそらくバグだと思われる(macOS Catalina のプレビュー版だと表示されていたらしい)。
【試したこと3】
一旦 VMware Fusion 10 をアンインストール。11 を評価版でインストール。
Download VMware Fusion | VMware
https://www.vmware.com/products/fusion/fusion-evaluation.html
11 を使おうとすると、Screen Recording に VMware Fusion.app を登録するようダイアログが出るらしいんだけど、なぜかダイアログが出てこない。
もしここでダイアログが出たら VMware Fusion.app にチェックを入れ、11 をアンインストール。そして 10 を再インストールすればチェックが残っているので、黒画面が直るらしい。
【試したこと4】
ターミナルで以下のコマンドを実行。
$ tccutil reset All com.vmware.fusion
再度 VMware Fusion を開くと Security & Privacy に VMware Fusion.app を追加するようダイアログが出るが、ここでも Screen Recording には追加されなかった(10 でも 11 でも)。
【解決策】
まずは Mac の SIP を解除する。通常の Mac ならリカバリーモードに入って SIP を無効にする方法があるが、私の Mac は Hackintosh なので限定解除をすることにした。
Clover メニューで「Options>System Parameters>System Integrity Protection>Allow Unrestricted FS」にチェックを入れた状態で起動。これで次の再起動まで SIP が無効になる。
参考:
CatalinaにしたらCloverがインストールできない – Boot macOS
https://bootmacos.com/entry/2019/10/12/121413
ターミナルで以下を実行
$ tccutil reset All com.vmware.fusion
$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceListenEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
$ sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServicePostEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
これで「リンゴアイコン>System Preferences>Security & Privacy>Privacy>Screen Recording」を見ると VMware Fusion.app が追加されている!
これで VMware Fusion 10 でも黒画面になることなくゲスト OS が使えるようになった。