Scribble at 2022-02-28 09:44:10 Last modified: unmodified

とりわけ Windows の環境について「パソコンの起動が遅い」というフレーズは頻繁に見聞きするが、正確なところは個々の状況を尋ねてみないと分からない。「パソコンの起動」が、アプリケーションを起動して使えるようになった状態のことだとすると、そこまでに「遅い」とユーザに感じさせる少なくとも3つのプロセスがある。

(1) 電源を入れてからログイン画面が表示されるまでの真っ暗な画面

(2) ログインしてからデスクトップが表示されるまでの「グルグル」なインジケータ画面

(3) デスクトップが表示されてから常駐プログラムが出揃うまでのあいだ

Windows に関して、俗に「スタートアップ」(英語では "start-up" と表記されるため、中黒は使わない)と呼ばれる過程は以上のように大別され、それぞれの過程について「対策」なるものが多くの素人サイトに掲載されている。

それらが「素人サイト」である理由は明白だ。Windows なりコンピュータのスタートアップとして何が起きていて時間を要しているのか、まったく理由が書かれていないからである。対処療法として素人考えでわかる範囲のことを書いているだけなのだ。よって、そういうページに掲載されている「対策」とやらを実行しても、実は殆ど意味がない。書いている当人が妄想や思い込みで書いているだけならもちろんだが、経験にもとづいていたとしても、せいぜい当人が使っている特殊な環境で起きただけの事実にもとづいているだけのことだったりする。原因を理解していなければ、自分の直面した状況や実施した対策が特殊なのかどうか、判断できない。

そういう思い込みで「対策」を書き並べているようなページは、たいていにおいて何らかの「異常」が起きているという思い込みで書かれている。しかし、コンピュータのスタートアップというものは、必ずしもハードウェアに異常があるから遅くなるわけでもないし、必ずしもソフトウェアとして異常な処理をしているから遅くなるとも限らない。レジストリの肥大化などで知られているように、Windows というソフトウェアの設計から言っても不可避的としか言いようがない原因でスタートアップに時間がかかってしまう場合もある。これも、結局はそうした「ライター」がスタートアップで何が起きているのかを理解していないからこそ、由々しきことが起きる原因は異常が起きているからだという思い込みだけで記事を書いてしまうわけである。うちの会社でも、この手の文章を書く人々を原稿制作オペレータとして「ライター」と呼んでいるが、実質は何の素養もない、日本語の文章がそこそこ書けるというだけの素人だ。大学受験の小論文だけは東大に入れる才能があるとか、僕のように元編集者だったとか、日本語学で学位をとったとか、あるいはエディトリアル・デザインの会社でプロとして原稿作成に従事しているとか、そんな人は「ライター」として1,000人に1人もいない。つまるところは WELQ で法律スレスレのコピペ医療記事をばら撒いていたバイト学生と同じだ。

改めて整理すると、(1) はブート・ローダーが起動してデバイス・ドライバをメモリに格納した後に、ログオンのプログラムである winlogon を起動してログイン画面を表示するところまでを指している。(2) はログインした後にグループ・ポリシーを適用したり、レジストリやスタートアップのフォルダに登録された常駐アプリケーションを起動する。同じ常駐プログラムでも「Windows サービス」として登録されているものは、これよりも先に (1) の時点で起動している(でないと、たとえばリモート・デスクトップで自宅からログインなどできないし、セキュリティソフトが常駐ソフトの起動を監視することもできない)。そして (3) は、GUI としての explorer.exe のデスクトップ環境を準備しているプロセスなので、常駐アプリケーションの中でも通知領域(Windows 11 では「タスクバーコーナー」と呼ぶようになったらしい)にアイコンを表示させるものは (2) と別の処理をやっている。また、アプリケーションの更新情報をスタートアップの処理として含んでいる場合は、サーバとの通信を (3) でアイコンを表示する際に実行し、更新情報があればアイコンに特別なインジケータを出すといった処理をする。

したがって、パソコンの起動が遅くなると言っても、その原因は自分のパソコンのハードウェアやソフトウェアだけとは限らず、こうした更新情報をサーバとやりとりする所要時間が長くなっているからかもしれないし、あれこれとソフトウェアをインストールしたせいでレジストリの管理情報が肥大化しているせいかもしれない。これらは全て不可避的に起きることだし、僕らが簡単に対処できることではない。

レジストリの肥大化は Windows の「伝統芸能」みたいなものなので、アプリケーションをインストールするたびに不可逆的にレジストリのサイズが増えてゆく。よって、これを縮小することができないのだから、対策としては別のローカル・アカウントを新しく作って移行することでレジストリの肥大化を初期状態に「戻す」ことはできる。だが、元のアカウントと作業環境を完全に共有したり引き継げるとは限らないので注意したい。

それから、常駐するアプリケーションが増えると更新情報の取得というチャンスは増えるため、素人ページであろうとなかろうと常駐アプリケーションを減らせと書かれているわけだが、大昔から気楽に書かれている割には、取捨選択の基準として参考になるような方針なりアイデアを一緒に書く人間は殆どいないので、従う人は勧めている人々が想像するほどには多くないし、従うとしても気分や主観的な要不要とか利用頻度だけで削除するアプリケーションを選ぶという実情になっている。

そして、こうした議論でいつも気になるのは「遅い」とか「時間がかかる」などと感じたり書いているスケールがどのていどなのか、人によって違う筈なのに疑問視する人があまりいないという点だ。スタートアップでアプリケーションの更新情報をリモートのサーバとやりとりしている場合、その所要時間(レイテンシ)が一定していない場合もあって、起動に要する所要時間の全体が何十秒の単位で早くなったり遅くなったりすることは、いつでもありえる。ブラウザでウェブサイトへアクセスするときでも、即座にページが表示されることもあれば、何秒か待たされてタイムアウトしてしまうことすらあろう。それと同じことだ。しょせん、民生サービスの乱雑な組み合わせにすぎないインターネット通信網に依存するプロセスにおいて、安定した処理とか決まった所要時間が見込める処理などというものは、原理的にありえないのである。よって、そういう常駐アプリケーションがいくつあるのかは知らないが、1個の通信でも数秒から数十秒のスパンでレスポンスを待つという可能性があるため、デスクトップでの操作ができるようになるまでの所要時間全体が数十秒のスパンで早くなったり遅くなることは、避けられないと考えた方がいい。そして、その原因だけが問題であるとして、それを「絶対に」避けようとするなら、皮肉にも全てのアプリケーションを削除する他には方法がないわけである。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook