Windows10 Anniversary Updateで画面が真っ黒

投稿 2016年10月06日 12時35分29秒 | パソコン | hotall

スマホもパソコンも、最近のOSは自動で更新されるようになりました。巷ではOSが自動更新されることを新バージョンが降ってくるなどと表現されています。
予期せず訪れる災難は降って湧くと言いますが、私の場合、今回のWindowsのアップデートはまさにそんな災難でした。

妻のパソコンが急に遅くなり、通信ができないと不満を漏らしていたその直後、OSの自動更新が始まりました。まるで、OSインストールの時のように長時間の更新処理で、調べてみるとこれが「Windows10 Anniversary Update」であることを知りました。
私のパソコンもそのうち始まるだろうと覚悟していましたが、しばらくは何も起きず、そのうちアップデートのことは忘れてしまいました。

昨日、私がパソコンでスカイプをしていると、突然、音声が出なくなり、設定を確認したり、色々対処をしましたが、手に負えず再起動をすることに。
電源オプションを表示したところ、表示が「更新して再起動」になっているのに気づき、その時、Anniversary Updateが降ってきたのだと悟りました。


再起動すると、長々と更新処理が続き、ようやくログイン画面。
パスワードを入力して、ログインすると、「ようこそ」表示の後に本来ならデスクトップが表示されるのですが、画面が真っ黒になり、いつまで経っても画面が表示されません。
ただマウスカーソルだけが空しく表示されています。



自動アップデートで動作が不調になることは、珍しくありません。
そんなときの対処方法は「セーフモードで起動して、回復処理で以前の復元ポイントにもどす。」です。

今回は、デスクトップ画面が表示されませんが、キー操作(Ctrl+Alt+Delete)である程度の操作はでき、不具合の程度としては軽症であると感じたので、元に戻すのではなく、このまま色々対策してみることにしました。

マイクロソフトのサイトに現象が全く同じ不具合についての記事:「Windows 10 にアップグレード後、黒い画面が表示される場合の対処法」を見つけました。
まずは、これらの対処方法を試してみることにしました。

(1) 周辺機器を取り外す
USBの接続機器と、PCI-Expressカードを外しましたが、現象は変わりません。

(2) グラフィック カード ドライバーを再インストールする

イベントログを調べてみると、igfxHK.exeとExplorer.EXEの2つのディスプレー関連のエラーが見つかりました。

エラーを見る限り、最新ドライバーの再インストールは有効な感じはしましたが、これも変化はありませんでした。

(3) レジストリを確認する
UIのプログラムが置き換わっているか調べましたが、これもありませんでした。

(4) ユーザー アカウントが破損していないかを確認する
これも試しましたが効果はありませんでした。

(5) ハイ コントラスト モードの確認を行う
ハイコントラスモードは「なし」になっていました。

対策も行き詰まり、渋々、いつものように回復処理を行うことにしました。

セーフモードで立ち上げ、[コントロールパネル]-[システムとセキュリティ]-[セキュリティとメンテナンス]-[回復]で[システムの復元を開く]を表示させます。

ところが復元ポイントには何も表示されません。
今回の更新は従来のサービスパックと同様のアップグレード扱いだったのです。

更に調べてみると設定画面には、[設定]-[更新とセキュリティ]-[回復]に「以前のビルドに戻す」メニューがあったので、これを試してみることにしました。
ところが、ボタンを押しても何も起こりません。

いよいよ手詰まりの状態となり、Windows10をインストールした時点の回復ディスクを使わなければならないと思い始めていたところ、再起動オプションを設定する過程のトラブルシューティング画面に「以前のビルドに戻す」メニューがあることに気づき、ダメ元で試してみることにしました。

すると、復元処理は正常に行われ、更新前の状態に戻すことができました。

OSの更新は必要なことだとは理解していますが、心の準備もなく突然これが実行され、作業を中断されるだけでなく、強制的に更新のリスクを負わされるのは如何なものかと思います。

今回の更新は丸一日を費やした、とんだ災難でした。


[追記]

復元処理の後、再度、Anniversary Updateが自動実行され、再び、画面が真っ黒になる現象が発生しました。
同様に「以前のビルドに戻す」を行いましたが、これ以上この問題で悩まされたくないので、次の設定を行いました。

[設定]-[更新とセキュリティ]-[WindowsUpdate]-[詳細オプション]で「アップグレードを延期する」にチェックを入れました。


[追記:問題解決]

「アップグレードを延期する」にしてから、しばらく経って、ふと、以前、システムのレンダリング処理をgdippに変更したことを思い出しました。

WindowsのTrueTypeフォントの描画がアンチエイリアスされず、MACと比較して字が汚いという問題は、OSのバージョンアップが頻繁に行われるのにもかからわず、一向に改善されません。これに待ちきれない多くのユーザーが、有志により作成された代替描画処理プログラムを使うようになりました。

私も、以前はWindowsの文字表示について、それほど意識することはありませんでしたが、スマホなど高解像のきれいな文字を日頃から目にするようになると、Windowsの文字が洗練されていないと感じるようになり、このプログラムをインストールしました。

インストール直後、文字が綺麗になったことに満足していましたが、これが時間とともに当たり前になり、このプログラムを意識しなくなりました。そして、存在自体すっかり忘れてしまいました。

先日のOSの更新問題をどうしようかと悩んでいる中、突然、これらことを思い出したのです。
もし、gdippが関係するのであれば、イベントログに記録されているエラーがディスプレイ関係であることとも符合します。

ネットで検索を掛けてみると、案の定、Windows10 Anniversary Update上でgdippが正常に動作しない不具合が報告されていました。
その内容を整理してみると、gdippがシステムの描画処理をフックするのに使用しているEasyHookというライブラリがWindows10 Anniversary Updateに対応していないということです。

既にEasyHookにはこの対策が行われて、新しいバージョンが公開されています。
その後、gdippの兄弟プログラムであるMacTypeは、これを同梱した新しいインストーラを提供しました。

これに対し、gdippはメンテナンス活動を停止しているので、インストーラーはバージョンアップされず、ユーザは自力でEasyHookを更新しなければなりません。

しかしながら作業自体は簡単で、github.ioから最新版のEasyHook(現時点:v2.7.6035.0 (July 10, 2016))をダウンロードして、この中のバイナリファイル(NetFX4.0フォルダ上のEasyHook32.dll及びEasyHook64.dll)をgdippのインストールフォルダ(通常:C:\Program Files (x86)\gdipp)に上書きコピーするだけです。

この作業を行った結果、私のパソコンのWindows10 Anniversary Updateは正常に動作するようになりました。

紆余曲折ありましたが、この問題が解決できて本当に良かったです。
なぜなら、一度、綺麗な文字表示に慣れてしまうと、なかなか元には戻れませんから。