Windows Update などをかけて、画面を見ていると、ダウンロードしてインストールが完了すると、「今すぐ再起動」なんていうボタンが表示されるケース多々あるかと思います。
一方で、Update したからと言って、すべてのプログラムが、完了後に「今すぐ再起動」が出てくるわけでもありません。
更新をかけると、最初はあんなにたくさんあったのに、インストールが終わって次々に消えて、「今すぐ再起動」が表示されているものは、わずか数個... なんてこともたくさんあります。
さらに Windows Update 以外でも、アプリを起動するといきなり更新を要求されるものもあったりしますが、この場合、逆に多くのケースでは PC の再起動までは求められません。
ではこの違いは何なのか? 今回は基本知識としてこの違いについて取り上げてみました。
【更新後に再起動を求められるケース】
Microsoft 関連ツールでいえば、Windows といった OS の他にも、Microsoft Office などの様々なアプリがあります。これらのアプリの更新方法も、Office 製品のような C2R(Click-to-Run)テクノロジーを利用したものから、Windows のようなインストーラーを利用するものなどさまざま。その更新方法も様々なわけです。Microsoft Store 経由で配布される UWA アプリなどもまたその動作は異なります。
-- プログラムに関連した機能が動作中では更新できない:
「Windowsベースのコンピューターにセキュリティ更新プログラムをインストールすると、コンピューターの再起動を促されることがある理由」の中では、Windows 10 のすべてのエディションを対象に紹介しています。ちょっと機械翻訳なので日本語訳がお粗末なので英語版を見ながら確認しなおしてみました。
この中でセキュリティ更新プログラムを例に紹介していますが、「セキュリティ更新プログラムをインストールした後、次の条件のいずれかに該当する場合、コンピュータの再起動を求めるメッセージが表示されることがあります」とあります。
- セキュリティ更新プログラムは、Windows が必要とする 1 つまたは複数のプロセスで読み込まれる DLL(ライブラリと呼ばれるプログラム群)も更新します。DLL がメモリ上にロードされている間は、セキュリティ更新を完了することができません。したがって、セキュリティ更新プログラムは、DLLをロードさせるプロセスを停止する必要があります。プロセスを停止することで、更新を完了するために必要なDLLがアンロードされます。しかし、Windowsが動作している間は、DLLがロードされるプロセスを停止することはできません。たとえば、セキュリティ情報 MS04-011 に記載されているセキュリティ更新プログラムは、Windows をシャットダウンせずに停止することができないオペレーティング システムのコア プロセスにロードされている多くの DLL を更新します。
- セキュリティ更新プログラムは、Windows が必要とするプロセスとして現在実行されている .exe ファイルを更新します。このプロセスが実行されている間は、やはり更新を完了することはできません。しかし、Windowsをシャットダウンしない限り、このプロセスを強制的に停止させることはできません。例えば、Csrss.exeはWindowsで必要なプロセスです。
- セキュリティ更新プログラムは、現在使用されている、Windowsが必要とするデバイスドライバを更新します。このデバイスドライバが使用されている間は、やはり更新を完了させることができません。Windowsをシャットダウンしない限り、このデバイスドライバーをアンロードすることもできません。例えば、Disk.sysは、Windowsが必要とするデバイスドライバです。
- セキュリティ更新プログラムは、レジストリを変更します。この変更には、やはりコンピュータを再起動する必要があります。
- セキュリティ更新プログラムでは、コンピュータの起動時に読み取り専用となるレジストリエントリが変更されます。
いろいろありますが簡単に言ってしまえば、更新しようとしているプログラムやその関連機能がメモリ上に読み込まれていて起動中のため、これをいったん終了させないと更新ができないからです。インストールした更新を反映させるためには、いったんメモリ上などに読み込まれているプログラムを終了して更新し、その後更新したものを再び読み込ませる必要があるわけです。
Windows 自身の更新とはちょっと異なりますが、他にも以下の更新プログラムのように、更新後再起動を求められるケースがあります。
こちらも、「影響を受けるファイルが使用されている場合、この更新プログラムの適用後、コンピューターを再起動する必要があります」とあるように、やはり影響を受けるファイルが動作しているため更新適用後に、PCの再起動を求められるわけです。
-- 更新時にアプリの終了を求められるケース:
おなじみの Microsoft 365 の Word、Excel、PowerPoint などの各アプリを起動して、更新を手動で実行する場合には、ファイル > アカウント と開いて、「更新オプション」をクリックして、「今すぐ更新」とすると更新がスタートします。
もちろんわざわざ手動でやらなくても、自動でもやってくれるのですべてお任せでもいいわけです。
この場合実際に更新がスタートした時に各アプリが起動中の場合にはやはり更新ができないので、Word や Excel を開いて作業をしていたりするものなら、作業中のプログラムの終了を求めるメッセージが表示されます。そしてプログラムを終了すると改めて更新が続行されます。
Microsoft Edge のようなブラウザも同様で、ブラウザが起動していない状態で更新されている場合には問題ありませんが、ブラウザを起動してたりすると、更新を反映させるために更新後には、一度ブラウザの再起動が要求されます。
このようにOffice の各アプリや、その他のプログラムの場合には、更新内容にもよると思いますが、基本的には Windows 自体の更新とは異なり、プログラムが起動中であれば一旦再起動を求められますが、PC 自体の再起動まで求められることはほとんどありません。
同様に Microsoft Store 経由で配信されてくるアプリについても、Microsoft Store 自身の更新以外では、アプリを起動さえしていなければ終了や再起動は求められません。
Microsoft 関連製品に限らず、セキュリティソフトだったりするとこうしたものはPC自体起動時に常に常駐して監視することになるんで更新内容によっては、プログラムを再起動して情報を反映させるだけではなく、PC自体を再起動して、更新した新しい状態でプログラム自体を読み込み直させる必要があったりします。
再起動が必要なケース、不要なケース様々ですが、自動更新してくれて再起動が必要なかったりすると、まさに気が付かないうちにやってくれるので、あとから Windows Update の更新履歴や、Microsoft Store アプリなどを開いて更新状況を確認してみたら、どおりで PC の動きが重たいと思ったら、バックグラウンドでこれだけのものが更新されてたんだぁ.... なんてこともあるわけですね。
<参照>