既にこのウワサを見聞きした人は多いと思います。MicrosoftはSSE2非サポートのプロセッサを搭載したWindows 7コンピュータへのセキュリティ更新の提供を諦めたというウワサ話や一部報道があります。実際はどうなのでしょうか。本当なら、該当する古いコンピュータをお持ちの方は、まだ何かやれることはあるのでしょうか。
2018年3月にWindows 7向けにリリースされた「セキュリティマンスリー品質ロールアップ(KB4088875)」(以下、品質ロールアップ)と「セキュリティのみの品質更新プログラム(KB4088878)」(以下、品質更新プログラム)には、「SSE2(Streaming SIMD Extensions 2)」をサポートしていないプロセッサを搭載するコンピュータでSTOPエラーが発生するという既知の問題がありました。
この問題に対する当初の回避策は、以下のようなものでした。影響を受けたWindows 7コンピュータでは「システムの復元」や更新プログラムのアンインストールで2018年2月までの更新状態に戻し、問題の更新プログラムがインストールされないようにする必要がありました。
Microsoft is working on a resolution and will provide an update in an upcoming release.(Microsoftは解決に取り組んでおり、今後のリリースで更新プログラムを提供します)
品質ロールアップと品質更新プログラムは、累積更新プログラム(以前の更新プログラムを含む)であるため、この問題が修正された、より新しい品質ロールアップと品質更新プログラムの提供を待つしかありませんでした。しかし、この既知の問題は2018年4月、5月、6月の累積更新プログラムで修正されることはありませんでした。
その後、少なくとも6月中旬までに、3月以降の累積更新プログラムの回避策に関する説明が、次のように変更されました。また、6月の累積更新プログラムのリリース情報では、この問題が削除されました。
Upgrade your machines with a processor that supports SSE2 or virtualize those machines.(SSE2をサポートするプロセッサが搭載されたコンピュータをアップグレードするか、そのコンピュータを仮想化します)
この回避策が意味するところは、新しいコンピュータに買い替えるか、Windows 7環境を仮想マシンに移行するかということです。後者は、全く一般ユーザー向けではありません。利用できるのがSSE2非サポートの古いコンピュータただ1台だけという場合、事実上、買い替えしか選択肢はありません。また、仮想化する知識があったとしても、仮想マシンをホストするコンピュータがなければどうにもなりませんし、OSライセンスの問題もあります。
最初に「MicrosoftはSSE2非サポートのプロセッサを搭載したWindows 7コンピュータに対するセキュリティ更新の提供を諦めた」と書きましたが、「SSE2非サポートプロセッサで発生する既知の問題の修正を取りやめた」とした方がより正確でしょう。
2018年6月時点では、影響を受けるSSE2非サポートのWindows 7コンピュータに、新しい品質ロールアップがWindows Updateで配布されないように、Microsoftが何らかの配布停止措置を行っているわけではありません。Windows Updateを実行すれば、問題を含む累積更新プログラムが「重要な更新」として自動選択されます。そのため、このままWindows 7コンピュータを使い続ける場合は、自動更新をオフにして、検出された更新プログラムを毎回確認し、新しい品質ロールアップがインストールされないように対処する必要があるでしょう。
しかし、このままWindows 7コンピュータを使い続けることは、セキュリティ上、大いに問題があります。2018年3月以降に提供されたセキュリティ問題の修正を、一切受け取れないので、安全性を確保できないからです。例えば、以下の記事で書いた「CredSSPの脆弱(ぜいじゃく)性」は、放置されたままということになります。Windows 7のサポートは2020年1月まで続きますが、SSE2非サポートプロセッサを搭載したコンピュータは、事実上サポートされないのと同様です。
SSE2が利用可能になったのはIntel Pentium 4(2001年)が最初で、その後、数年内にほとんどのプロセッサでSSE2がサポートされるようになりました。そのため、この問題の影響を受けるコンピュータのほとんどは既に廃棄されたか、電源がオンにされることなく放置されていると思います。しかしながら、知らずに現役で利用しているユーザーも少なからずいるはずです。
この件を聞いて、わが家にも数年間電源をオンにしていない、壊れかけのノートPCが1台あり、これがSSE2非サポートのプロセッサ(Mobile AMD Athlon XP)であったことを思い出しました。
電源をオンにしてみると、BIOS設定を保持する内蔵電池は既に切れており、時計をセット後、OSが見つからない(Operating System Not Found)というメッセージが表示されて、起動できない状態でした。Windows XPがインストールされていたのですが、SSE2非サポートがダメなことを確認したく、ダメ元でWindows 7をクリーンインストールしてみることにしました。
内蔵HDDは障害を報告しているらしく、Windowsセットアップはインストール先として使用させたくないようでしたが、何とかWindows 7をクリーンインストールし、2017年12月までの状態に更新することができました(長時間動かすために保冷剤で冷やし続ける必要がありました)。
これからWindows 7をクリーンインストールしなければならない場面に遭遇する人もいるかもしれないので、せっかくなので手順を紹介しておきましょう。
Windows 7 Service Pack 1(SP1)のインストールメディアがあり、ハードウェア的な問題(SSE2非サポートなど)がなければ、以下の手順で比較的簡単に最新状態のWindows 7環境をセットアップできます。Windows 7 SP1向けには、2016年4月までにリリースされた更新プログラムの便利なロールアップ「KB3125574」がありますし、2016年10月からは現在の累積更新プログラムのリリースモデルに移行しています。
(1)Windows 7 SP1をクリーンインストールする
(2)Microsoft UpdateカタログからKB3020369(KB3125574の前提)をダウンロードしてインストールする
(3)Microsoft UpdateカタログからKB3125574(Windows 7 SP1向けの便利なロールアップ)をダウンロードしてインストールし、再起動する
(4)マルウェア対策ソフトがインストールされていない場合は、コマンドプロンプトを管理者として開き、以下のコマンドラインを実行する。これは、2018年1月以降の累積更新プログラムの取得に必要(マルウェア対策ソフトがインストール済みで最新の状態に更新されていればこのレジストリは自動作成される)。今回は意図的にこの手順を省略。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat" /v cadca5fe-87d3-4b96-b7fb-a231484277cc /t REG_DWORD /d 0 /f
(5)Windows Updateを実行して、重要な更新プログラムをダウンロードしてインストールし、再起動する(一部の更新が失敗しても、重要な更新プログラムが0になるまで数回繰り返す)
Windows 7 SP1の既定の「Internet Explorer(IE)8」では何かと不便なので、最初にインストールする2つの更新プログラムは別のコンピュータで「Microsoft Updateカタログ」からダウンロードしておくと便利です。
数百個の更新プログラムがインストール対象として選択されていた以前とは違って、初回のWindows Updateは一部の更新プログラムのインストールに失敗すると思いますが、最小限の更新プログラムのダウンロードとインストール、そして再起動(最小2回の再起動)で完了するのでびっくりするかもしれません。
2018年1月から数カ月間、累積更新プログラムの検出には、マルウェア対策ソフトとの互換性を確認するレジストリ設定(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat)がチェックされていました。
今回のクリーンインストールはマルウェア対策ソフトを導入していない状態であり、上記の手順(4)を省略したため、レジストリ設定がチェックされない2017年12月と、チェックが外れて以降、最新(2018年6月)の2つの累積更新プログラムが重要な更新プログラムとして検出されました。
今回はSSE2非サポートのコンピュータなので、2018年3月以降の累積更新プログラムをインストールしないように6月の累積更新プログラムのチェックを外して更新し、その後、Microsoft Updateカタログから入手した2018年2月の更新状態(KB4074598)を手動でインストールしようとしました(画面1)。
しかし、ここからが厄介でした。2月の累積更新プログラム(KB4074598)をインストールすると、コンピュータが起動しなくなったのです。画面が真っ黒のまま、ディスクのアクセスランプも消えたままで、最初はHDDがとうとう壊れたかと思いました。
しかし、2018年1月の累積更新プログラムのリリース情報に「一部の古いAMDプロセッサのシステムが起動不能になる」という既知の問題があることを忘れていました。起動不能になった原因としては、こちらの問題の影響も考えられます。
起動不能問題に対する修正プログラム(KB4073578)は2018年1月半ばにリリースされていますが、これは一部のシステムで必要な修正プログラムであり、Microsoft Updateカタログでのみ提供されています。そのため、2月以降の累積更新プログラムには累積されていません。そのことは(別の更新に置き換えられていないことは)、Microsoft Updateカタログで修正プログラム(KB4073578)の詳細を開き、「パッケージの詳細」で確認できます。
起動不能問題に対処するために、Windows 7のインストールメディアから起動して「コンピュータを修復する」を選択し、「システム回復オプション」の「システムの復元」で直前の復元ポイントに戻しました(写真1)。すると、正常に起動するようになりました。この状態で、2017年12月までの累積更新プログラムは問題なくインストールできました。
しかし、AMDプロセッサの起動不能問題の修正プログラム(KB4073578)をインストールして再起動すると、今度はこの修正プログラム(KB4073578)で正常に起動しない(画面が真っ黒のまま)、「システムの復元」で起動できるようになるという同じ問題が再現しました(画面2)。
2018年6月の累積更新プログラムのインストールや、BIOS設定の変更(PAE:Disable/Enableなど)を含め、更新プログラムの順番をいろいろと試してみましたが、結局、それ以上の進展はありませんでした。単にメモリ不足だったのかもしれません。この壊れかけのノートPCは512MBのメモリしか搭載していませんし、ビデオメモリを差し引くとOSには448MBしか残っていません。壊れかけのノートPCのためにメモリを増設するなんてことはもちろん考えていませんし、いろいろ試しているうちにたびたびHDDを認識しないようになってしまいました。
AMDプロセッサ搭載のコンピュータのユーザーさんは、SSE2対応に関係なく、2018年になってからのWindows Updateでひどく苦労しているかもしれません。起動不能問題の修正プログラムは提供されましたが、それをどうすればよいのか、そもそも起動不能になったコンピュータにどう対処すればよいのか、全く説明が不足していることが、実際に問題に遭遇してみると分かりましたし、結局、解決できませんでした。
本当は、SSE2非サポートのシステムで発生するというSTOPエラーを見たかったのと(常に発生するのか、不定期に発生するのか、エラーコードは何か)、2018年6月の累積更新プログラムで修正されていないことを確認したかったのですが、2018年1月の累積更新プログラムにさえたどり着けずに終わりました。
Copyright © ITmedia, Inc. All Rights Reserved.