Windows 10で秋の大型アップデートが始まったのに、春のアップデートも落ちてこないマシンがあるのはなぜ?

文●塩田紳二 編集● ASCII

2020年11月08日 10時00分

Windows 10 Ver.20H2の一般向け配信が開始されたのに
いまだにVer.2004が落ちてこないマシンがある

 仕事柄、筆者宅には、Windows 10が動作しているPCが複数ある。Windows Insider Previewをインストールしているマシンもあるが、何台かは最新のWindows 10を入れている。その中には、Windows 10 Ver.2004がいまだに“落ちてこない”機種がある。すでに「October 2020 Update」ことWindows 10 Ver.20H2の一般向け配布が開始されているのに、Windows 10 Ver.1909のままなのだ。

 機種によって配布が遅れている原因は「Safeguard Holds」と呼ばれる措置が原因だ。これは機能アップデートを実行した結果、障害が発生することをMicrosoft側で検出した場合に、同じ条件を持つマシンへの配布を止めるための機能だ。

 Safeguard Holdsがかかっているマシンには、下の画面のようなメッセージが、「設定」の更新や「セキュリティ」→「Windows Update」に表示されることがある。ただし、これは必ず表示されるわけではない。

Safeguard Holdsによって機能アップデートが止められていると、「設定」→「更新とセキュリティ」→「Windows Update」にこんなメッセージが表示される。なんらかの障害が発生していて、該当マシンへの機能アップデートは停止させられている状態だ

 確実な事実は、Safeguard Holdsがかかっている間、Windows 10の機能アップデートはなされないということだ。しかし、毎月のセキュリティや品質アップデートはそのまま来る。今回問題なのは、秋の機能アップデートが開始されたのに、いまだ春の機能アップデートが落ちてこない機種が出ている点だ。いくつか条件はあるが、Modern Standbyのマシンが10月まではSafeguard Holdsされており、さらに一部のWANデバイス(LTEモデム)を装備した機種も最近まで同様だった。筆者のマシンはこれに引っかかっていたらしい。ちなみに、この状況はx86/x64だけでなく、ARM64のマシンでも同じのようだ。

 このSafeguard Holdsという仕組みは昨年導入されている。Windows 10 Ver.1903以降の障害報告には、Safeguardという用語がときどき出現するが、Windows 10 Ver.1809以前の障害報告には出てこない。これは昨年のWindows Updateへの機械学習の導入と関係があるようだ。

2018年秋のアップデートで大型障害が発生し
Windows Updateに導入された機械学習機能

 2018年10月の「October 2018 Update」(RS5)では、機能アップデートによりユーザーファイルが消失するという問題が発生し、配布が一時中断された。これまでのところWindows 10最大の障害と言ってもいいだろう。この障害では発生に条件があって、必ずしもすべてのマシンで起きなかったことから、原因究明や対応に時間がかかった。

 機能アップデートは一般向け配布が始まったあと、Microsoft側で制御しつつ配布範囲を拡大していく。このため、個々のPCがアップデートされるまでには、数日から1ヵ月以上と差ができる。しかし、「設定」→「更新とセキュリティ」→「Windows Update」→「更新プログラムのチェック」ボタンを押した場合には、一定の確率で実行されやすくなる。

 また機能アップデートに関しては、原則としてPCメーカー側の検証もあり、メーカーや機種を限定しての配布の可否を決定できると説明されていた。しかし世の中には、すでに存在しないメーカーの製品や自作PCなどもあり、そうしたマシンでは機能アップデートを止めることはなかったと思われる。

 この問題に対応するため、Microsoftは昨年5月にWindows Updateに機械学習技術を導入することを発表している。Windows Updateでの機械学習は2つの領域で用いられている。1つはユーザーからのフィードバックなどを自然言語処理し、重大な障害を早期に発見して、対応の優先度を決定したり、実際に対策するというものだ。これにより、事例としては少数でも検出が可能になった。

 もちろん実際の障害を直すのは人間の手でするほかないが、その優先順位を機械学習で決定しようということだ。Microsoftによれば、「重大度の高い問題の検出に要する時間を数日から数時間に短縮」したという。

 もう1つは、Windows Updateの配布(Roll out)に関して、機械学習を使って、障害と対象システム(ハードウェア、ソフトウェア)の関係を細かく分析するという領域だ。

 PCの世界では、同一機種であっても、アプリケーションや接続されているハードウェア、システムの設定などに違いがあり、ソフトウェア側から見ると、必ずしも「同一」とはならないことがある。実際に2018年秋の障害は、ユーザーがドキュメントなどの「Known Folder」を移動させていたかが発生要因に含まれていた。これは、PCの機種名などからは判定できない。障害における原因は千差万別。人手で分析することは困難だ。

実際に機能アップデートを止めるSafeguard Holdsとはなんなのか

 Microsoftによれば、Windows Updateにおいて、障害が起こったマシンの「診断データ」をもとに「Safeguard Holds」を作成する。同じ条件を持つPCは、このSafeguard Holdsにより、機能アップデートが延期された状態になる。

 おそらくSafeguard Holdsに対して設定されている条件には、機械学習などで推定、予測された情報を含んでいると思われる。そして、障害ごとにSafeguard IDが割り当てられ、Safeguardの条件を適合する可能性の高いPCへの機能アップデートが停止されることになる。PC内部では、自身にSafeguard Holdsがかかっているかどうかはわかっていると思われる(なので表示が可能)。

 だったら、もう少し「生」の情報を出してほしいところだが、Microsoftはこういうとき、大抵は「ユーザーを混乱させる」として、情報をオブラートに包んだような形式にすることが多い。記事冒頭のメッセージも、どこにも「アップデートを止めている」といった表現はなく、「提供準備が整うと、このページに更新プログラムが表示されます」としか書いてない。

 Safegurd Holdsは、Microsoftが認識している障害と関連づけられ、その問題が解決すると解除される。ただし、1つのPCが複数のSafeguard Holdsを抱えている可能性もある。該当マシンのすべてのSafeguard Holdsが解除された段階で、ようやく機能アップデートが実行される。

 このことからわかるのは、機能アップデートの配布開始直後には“運悪く”障害が発生してしまうマシンがいくばくかあるということだ。しかし、そのおかげで同じ条件を持つ他のPCのアップデートが延期され、多くのユーザーが救われるわけだ。

 もっとも、大抵のケースはWindows Insider Previewに参加しているユーザーのPCで発生しているのだろう。これはプログラム参加時にわかっているリスクである。ただし、時にはRS5のケースのように、一般向け配布が開始されてから判明する問題もある。これに対して、Microsoftは以前よりはスピードを落とし、一定時間内に実行されるアップデートの数を抑えて様子を観察しながら、段階的に増やしているようだ。

 ただ、Safeguard Holdsは、Windows Update経由のアップデートだけしか阻止することができない。ユーザーはMedia Creation Toolを使って強制的にアップデートすることもできるが、このときにはSafeguard Holdsが効かない。つまり、アップデートにともなう障害が発生するかどうかは運次第。どうしても実行したいのであれば、後述のWindows 10リリース情報のページを見て、そこに報告されている障害が自分のPCに当てはまらないことぐらいは確認したほうがいいだろう。

 また、障害内容によっては、Windows 10の再インストールは効果がないことがある。たとえば、特定のハードウェアに起因するものである場合などだ。なので、Safeguard Holdsが有効になっているからって、いろいろと設定をいじってみるのは特に意味は無いかもしれない。筆者も夏になっても20H1が来ないのはおかしいと、「このPCを初期状態に戻す」を実行してみたが何の効果もなかった。

Safeguard Holdsに関する情報を知るには?

 特定の障害に対してSafeguard Holdsが発生しているかどうかは、Windows 10のリリース状況ページで調べることは可能だ。

●Windows 10 - リリース情報
https://docs.microsoft.com/ja-jp/windows/release-information/

 このページを開くと、左側にバージョンごとのページへのリンクがある。これで各アップデートで発生していて、Microsoftが認識している障害を表示できる。上記ページは日本語だが、各バージョンのページは英語のままだ。たとえば、Windows 10 Ver.2004で発生した問題の1つに「Certain WWAN LTE modems might not be able to connect after waking from sleep」というものがある(すでに解決済み)。

Windows 10のリリース情報のページから各バージョンのページ(英語のみ)を開き、Safeguardという用語があれば、該当の障害でSafeguard Holdsが実施されている

 その説明文には以下のような記述がある。

To safeguard your update experience, we have applied a compatibility hold on Windows 10 devices with affected WWAN LTE modems drivers installed from being offered Windows 10, version 2004 until the issue has been resolved. If your organization is using Update Compliance, the safeguard ID is 28428232.
~中略~
Resolution: This issue was resolved in KB4577063 and the safeguard hold has been removed as of October 15, 2020. Please note, if there are no other safeguards that affect your device, it can take up to 48 hours before the update to Windows 10, version 2004 is offered.

お客様のアップデート体験を保護するため、問題が解決されるまで、影響を受ける WWAN LTE モデムのドライバがインストールされた Windows 10 デバイスの互換性を保持し、Windows 10, バージョン 2004 の提供を停止しました。組織で Update Compliance を使用している場合、Safeguard ID は 28428232 です。
~中略~
解決:この問題はKB4577063で解決され、2020年10月15日現在、Safeguardのホールドは解除されています。お使いのデバイスに影響を与える他のセーフガードがない場合、Windows 10, バージョン2004へのアップデートが提供されるまでに最大48時間かかる場合がありますのでご注意ください。

 LTEモデムでのこの障害には「28428232」というSafeguard IDが割り当てられたが、今年10月15日に「KB4577063」(OS Build 19041.546)によってようやく解決され、Safeguard holdsは解除された。

 このように説明文に「safeguard」の文字があれば、該当の障害ではsafeguardが働いている。Safeguardには個別に番号が割り当てられている(Safeguard ID)が、今のところ、そこから適合条件などを調べることはできないようだ。また、現在Safeguard Holdsが有効な障害をすべて知ることも難しい。

 Microsoftが把握した障害に関しては、前記URLからたどれる各Windows 10バージョンのページで「Known issues and notifications」として表示される。しかし、いくらAIが障害を検出したからといっても、それがこのページに表示されるまでには数日程度の時間はかかるだろう。あるいは、なんらかの基準があって、それを満たさないとKnown issuesにならない可能性もある。

 Windows Updateのページに記事冒頭のメッセージが表示されていたら、該当のマシンにはSafeguard Holdsがかかっており、無理矢理アップデートしてもロクな結果にならない可能性が高い。そのまま放置しておくというのが、今のところ最も安全で効率がいいようである。

■関連記事