Windowsはなぜ再起動が必要になるのか?
ASCII.jp / 2024年6月30日 10時0分
Windowsでは、Windows Updateの直後やアプリケーションなどのインストール後に再起動が要求されることがある。以前に比べると、再起動にかかる時間は短縮されたものの、開いているプログラムを閉じてファイルを保存する必要があるなど、ちょっと面倒ではある。
なお、システムの再起動は、何もWindowsだけでなく、Linuxなど他のプラットフォームでも必要になることはある。とはいえ、ちょっとしたアプリケーションのインストールやアップデートの後に再起動が要求されるなど、頻度が高い気がしないでもない。今回は、この再起動について調べる。
Windows Updateが再起動を要求するとき
Windows Updateの場合、再起動が必要になるのは大きく2つの理由がある。1つはWindows自体の更新で、このときにWindowsのインストールイメージが作られて再起動。Windowsの再インストールが実行される。Windows 10の初期には、再インストール作業は、Windowsのインストーラー(setup.exe)同様、インストールイメージの作成などをWindowsの停止状態でしていた。
最近のWindowsでは、ほとんどの処理をWindowsが起動している間に済ませてしまう。具体的にはWindowsを停止している間に以下のことをする。まず、インストールイメージからWindows自体を更新する。そして、デバイスを探索して、ドライバ環境を構築する、などだ。そのためWindowsを停止している時間が短縮され、数分でWindowsを起動できるようになった。
Windows Updateによる再起動のあとに「デバイスのセットアップを完了しましょう」といったウェルカム画面が表示されるのは、Windowsが更新され、再インストールがされたことを示す。なお、このウェルカム画面は「設定」→「システム」→「通知ページ」の一番下にある「追加の設定」にある、「更新後およびサインイン時にWindowsのウェルカム エクスペリエンスを表示して新機能と提案を表示する」をオフにすると、表示されなくなる。
もう1つは、Windowsが起動している間は止めることができないプログラムの実行ファイルや、利用しているファイルなどを差し替える場合だ。こちらは、インストールイメージを作成することはなく、Windowsをシャットダウンして、目的のファイルを差し替えたら、すぐにWindowsを起動する。こうした理由で再起動をするものに.NET/.NET Framework関連のアップデートがある。
.NETや.NET Frameworkのアップデートでは、プログラム実行に利用するCLR(Common Language Runtime)や、標準のクラスなどが差し替わる。このとき、Windows側に.NETや.NET Frameworkで動作するプログラムがあれば止めることができない。そこでWindowsを再起動してファイルを差し替える。
Windowsには、こうした場合に利用するMoveFileEx APIやレジストリキーが用意されている。これらで可能な作業は、ファイルの削除もしくは移動(単純なリネームを含む)である。
Windowsは実行ファイルをロックする
実行ファイルの更新に、再起動して削除などの面倒な作業が必要になるのは、Windowsでは、起動中の実行ファイルがロックされるからである。以下の画面は、作成したプログラム(testProg.exe)起動しているときに実行ファイルを削除しようとしたもの。アクセスが拒否され、削除できない。
しかし、プログラムを終了させると、実行ファイルの削除ができる。
Windows 2.xは、8086 CPUでも動作するため、仮想記憶を利用できないが、メモリ中のコードブロックを廃棄可能とすることで、メモリ領域を空けることができた。廃棄されたコードブロックは、必要になったときに実行ファイルから読み直される。このため、プログラムの実行中は実行ファイルを残しておかねばならない。
Windows 11での明確なドキュメントを見つけることはできなかったが、こうした仕組みが今でも残っている可能性はある。仮想記憶が使える現在でも、コードブロックをスワップアウトする時間を短縮でき、スワップ領域の利用率を下げることができる。Windowsには実行ファイルをロックしなければならない何らかの事情があることだけは確かだ。
なおLinuxでは、実行ファイルはプログラムを起動してもロックされず、実行ファイルを削除することができる。これは偶然の産物ではない。そのための仕組みがあり、削除されるのはファイル自体ではなく、ディレクトリ内のファイルエントリだけのようだ。この機能のおかげで、カーネルやシステム側のファイルを起動中に差し替えることが可能になる。
とはいえ、まったく再起動が不要というわけでもない。ファイルを差し替えることができても、該当のプログラムを実行させるには、既存のプロセスを停止して、新しい実行ファイルを起動する必要がある。たとえば、カーネルはプロセスとして常に動いている。これを差し替えるには、一回停止する必要がある。Linuxカーネルを停止することは、システムの停止を意味する。通常、カーネルを差し替えたあとは、再起動処理をする。
Linuxカーネルを使うChromebookも稼働中にシステムファイルを書き換えることはできるが、更新されたOSを有効にするためには、再起動する必要がある。
それぞれ事情は異なるが、OSに属するファイルの更新、特にカーネルの更新では、何らかの再起動はつきものである、と言えるだろう。
そのほかのWindowsを再起動を求める理由 ただ“用心のため”に再起動を促すアプリも多い
Windowsの機能の中には、起動時にデータを読み込んだら、データの更新に対応しないものがある。たとえば、ユーザーの所属グループは、ログオン時に読み込まれて、その後、所属グループが更新されても、ログオンしているユーザーの状態は元のままになる。このため、ユーザーをグループに追加した場合には、その設定を有効にするには再ログオンが必要になる。
このほかにも、こうした構造のプログラムが存在する可能性がある。ただし、必ずしも情報がすべての公開されてはいないので、システム状態を最新にしておくためには、再起動あるいは再ログインをするくらいしかユーザーの対策はない。こうした理由から、インストール時に、“安全”のために再起動を促すアプリケーションもあるのだろう。
昔は、Windowsでは「何かあったら再起動」と言われていた。Windowsが一番調子がいいのは、再起動直後であり、長時間使い続けると発見されていないバグのために、実行中のWindowsがおかしな状態になっている可能性があった。少なくとも再起動すれば、キレイな状態に戻せるというわけだ。
アプリケーションのアップデートは、旧版のアンインストール、新版のインストールという手順でされるものがある。この場合、テンポラリファイルなどが残って、悪影響などを及ぼす可能性がある。このときに確実なのは、アンインストール後にWindowsを再起動することだ。再起動することで、次のインストールは比較的「クリーン」な状態で作業できる。
長い間バージョンアップが続けられてきたアプリケーションほど、インストールやアップデートでのエラーを経験しており、そのための知見も少なくない。そう考えると、“用心のため”に再起動する気持ちも理解できなくもない。
Linuxでも、個人用のマシンなら、再起動すべきプロセスがわかっていてもいちいち手動で作業するのが面倒なので、設定やシステムの更新のあと、再起動させてしまうことはままある。
何かの設定作業などを説明する文書を作成するとき、「自分で必要なプロセス判断して停止して起動しろ」と書いてしまうのは無責任だ。しかし、コマンドを使って再起動が必要なプロセスを調べ、適切な方法でそれらを再起動させる手順を書き始めると、ページがいくらあっても足りなくなってしまい、逆に文書自体が読まれなくなる可能性も高まる。となると、そもそも説明すべきことではないというのが結論だ。このときの最善の記述は「システムを再起動しろ」である。
アプリケーションのインストールや更新で再起動を要求されるものがまだある。単に開発時期が古く、以前から更新されていないケースもあるが、最近のプログラムでもインストール後に再起動を要求するものがある。しかし、本当に再起動が必要なのかは不明だ。再起動しなくてもアップデートしたバージョンを起動できることもある。そろそろ“用心のため”の再起動はやめ、再起動が必要ならば、明確に理由を示してほしいものだ。
この記事に関連するニュース
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
-
特定のハードウェアでWindows 11 24H2アップデート後に問題発生
マイナビニュース / 2024年10月30日 8時40分
-
Windows 11 向け更新プログラム「KB5044384」リリース、sfcコマンドの不具合解消
マイナビニュース / 2024年10月29日 8時48分
-
Windows11バージョン24H2以降、更新プログラムのインストール時間短縮
マイナビニュース / 2024年10月24日 8時54分
-
パッケージ情報を表示する"cargo info"が追加されたプログラミング言語「Rust」
マイナビニュース / 2024年10月18日 16時1分
ランキング
-
1Amazonブラックフライデーで出品されたら即ポチ必至「PC&スマホ・タブレット」5選【ネット通販傑作遊びモノ】
&GP / 2024年11月16日 20時0分
-
2歴史的名作『Half-Life 2』20周年!期間限定無料配布、拡張パック同梱するアプデ、資金不足やハッキング被害にも触れるドキュメンタリー映像などでお祝い
Game*Spark / 2024年11月16日 13時52分
-
3Amazon「ブラックフライデー」は11月29日から8日間。27日から先行セールも
マイナビニュース / 2024年11月17日 0時2分
-
4極薄な折りたたみスマホ「Galaxy Z Fold Special Edition」が登場 日本投入はある?
ITmedia Mobile / 2024年11月16日 10時5分
-
5不具合続いた『Wizardry Variants Daphne』実装予定機能を時期未定に―開発・運用体制の大幅増強を宣言
Game*Spark / 2024年11月16日 14時57分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください