IE8をTLS1.2対応して、WindowsXPのWindows UPDATE対応を実施した。
サポート切れのOSを推奨しているわけではないけど、WindowXPのパッチを上げるためにものすごく苦労したので備忘録みたいなものである。もともとの物理マシンは、2つのアップデートエラーが続いており、Windows UPDATEがまともに動いていなかったので、アップデートの修正はあきらめていた。しかし、今回仮想空間に持ってきたので、重い腰をあげてこの修正をしようと思ったけど、そもそもWindows UPDATEのページが開けなくなっていた。これを直すために、XPを素から入れなおす記事があったので参考にさせてもらったけど、修正する情報が古く現在の状況に対応できていなかったので、最初は情報が足りていないことに気が付かず相当はまった。
現状を列記すると、
1.Windows UPDATEのページは、TLS1.2に対応しないと見ることができない。IE8はTLS1.0までなので、そもそも表示できない。
2.余談だけどWindows XP Embedded POSReady 2009が10年サポートなので、この関連の記事で2019年までパッチが出ているが安易に変更しない。
3.IE8をTLS1.2にしても、Windows Argentが対応しきれないのか、Windows UPDATEのカスタムの画面は依然表示できない。それ以外は動くので状況の確認ができる。自動更新の機能を使ってアップデートする。
この点は、抑えておいて、関連の情報を検討すること。まず、下記のようである。
1. IE8のTLS1.2のサポート
2. XPのWindows UPDATE対応
3. PATCHを当てる
ネットで関連記事をみるとWindows XP Embedded POSReady 2009の情報を見るが安易に上げないこと。上げるとXPに戻れないし、XPに関する対応をしても無意味になる。やるにはバックアップを取って、いつでもXPに戻れる体制にしてから実施すること。私の場合は、VHD化しているのでこれをコピーしておいたので簡単に戻れるようにしていた。POSREADY化は簡単に移行できるので、セーフモードで関連設定を消せばよいかと思うけど、起動時にキーが使われているのかエラーで消せなくなってしまうので一方通行だし、あのパッチはXPの全部のパッチが当たっていることが前提との話があるので、中途半端な状態で変更するとパッチを当てていくとクラッシュしてしまうことがあるようなので、移行は十分に配慮すること。
IE8をTLS1.2にする。
Windows UPDATEはIE上でしか動かないけど、現状のIE8でWindows UPDATEに行っても下記の表示が出るはずである。これはMSがhttpsに移行してしまったからである。うちのページもそうだけどWeb趨勢が暗号化へ行ってしまっていて、MSはさらに厳しくTLS1.0を切り捨てているので見れなくなっている。うちのサイトは1.0を許しているだけどねえ。もう切らないといけないのかも。
このため、IE8をTLS1.2に対応させるのが前提となる。Windows XP Embedded POSReady 2009では、TLS1.2にIE8を対応させるパッチがあるので、それを流用するのが手っ取り早い。Windows XP Embedded POSReady 2009化するのではなく、KB4019276パッチをXPでも当てられるようなパッチを作成しているサイトがある。
http://trekkerworld.blog.fc2.com/blog-entry-249.html
ここを参考に、パッチを当てると、TLS1.2対応できる。これをやるとメールのLINKからヤクオクがそのまま見えたのは驚いた。YAHOOのトップページは崩れるけど、ヤフオクは問題なかった。
2. Windows Updateを実行させる方法
素から入れるときにやることを参考にさせてもらった。当初こっちを参考にしていたので相当はまったけどねえ。ただ、上のサイトのパッチにWindows UPDATEの入り口があるので、新規インストールでない限り必要ないかもしれないけど、FIXITのリンクもあったりするので、コメント欄も含めてWindowsUPDATEがまともに動いていなかったときに参考にさせてもらうとよい。
https://www.ikt-s.com/xp-windows-update-2016/
3.パッチ当て
P2V化したオリジナルの物理マシンは.net framework1.1のセキュリティパッチが更新できないことと、KB2686509のエラーが発生していた。.netは、入れ直しを推薦されていたが、1.1だけでなく、4.0までのすべてのFrameworkを削除のあと入れ直しをしなくてはならず面倒なので、やっていなかった。KB2686509は、エラーが出たときに調べたときに、KEYMAPがあるとだめとのことだったけど、私の環境ではなかったので消せなかったけど、新たにWindowsMEの残骸が残っているとエラーになると調査が出ており、自分もXPにあげる前はMEを使っていたので、これがエラーの元のようだった。下記の問題で、その手順でKDBのレジストリーを消してアップデートできた。
また、嵌ったのは、http://www.update.microsoft.com/microsoftupdate/v6/default.aspx
を選ぶとようこその画面がでるが、カスタムを選んで検索が終わった後にカスタムの詳細がでないこと。これの回避策は不明。ただ、Windows XPは、自動更新の機能があるので、これを利用する。コンパネで自動更新を有効にしないで、ダウンロードのみとしておく。準備が整うと下のある黄色い盾がでるので、それを選ぶとパッチを選択できる。
これで、ひとまず安心と思ったけど、伏兵が発生した。
全部のOFFICE2010のパッチを当てるとすべてのOFFICEがKERNEL.DLLで立ち上がらなくなった。GetFinalPathNameByHandleWをKERNELへ呼ぼうとして無いから落ちているようだ。これはWindows7からサポートされているようでXPにはない機能だ。
KERNELL.DLLが落ちるのは、令和アップデートでMSがやらかしたので、いっぱいそれが引っ掛かった。最初は令和アップデート関連のKBを外していったが、全然解消されない。どうやらXPは令和アップデートが原因ではないと判断した。これで何が問題かというと、KB4484373が原因だった。コンパネから、このパッチをアンインストールすると、Word,EXCEL,Outlookなどが起動するようになった。
チックを外して、通知しないようにして問題は完了。
これで、XPでの一通りの対応が終了。これでしばらく使ってみる。
‘2020/09/09追加
最近KB4484126がWindowsUpdateで当たったけど、これもGetFinalPathNameByHandleWで落ちるねえ。アップデート対象から外した。ほかにも困っている人いないのかなあと思ったら、面白いサイトを見つけた。
https://retrosystemsrevival.blogspot.com/p/final-versions-of-working-software-on.html
ここでも、KB4484126はダメと言っている。KB4461522も言っているけど、これはWindowsUpdateから降ってこないので経験ないねえ。
2021 年でもSHA-2非対応のXPのWindowsUpdateはできるのでしょうか?
上記のやり方ではIEはTLS1.2対応にはなりますが、SHA-2に対応したサイトにつながることができるのでしょうか?
前に試したけれどXPやVistaではWindowsUpdateが2020年8月以降できなくなってしまいましたので…
私は全部当ててしまったので検証していないですが、パッチは、WindowsUpdateで対話型でやるものと、自動更新をONにして裏でバッチをやる方法があると思います。対話型でやるほうはふさがれてしまいましたが、自動更新で裏でバッチを充てるのは降ってきていたので、この記事を書いたがのが2020年8月だったので、その時もOFFICE2003のパッチは降ってきていて、WindowsUpdateで当たっている状況は確認できたので、できていましたよ。XPの自動更新機能とWindowsUpdateをうまく利用して、最終的なパッチが当たるか見てくれないでしょうか?