「何かインストールしてからPCの調子が悪い、でもどれが犯人かわからない」。工房に持ち込まれるこの手のトラブルで一番使ったのが、クリーンブートだった。セーフモードほど極端じゃないのに、サードパーティのサービスやスタートアップだけを止めて原因を絞り込める。自分の工房でも、新しいソフトを入れた後に挙動がおかしくなったときはまずこれを試している。

クリーンブートの手順自体はシンプルなんだけど、「半分ずつ戻して犯人を特定する」ところまでやっている人は意外と少ない。msconfigの操作から犯人サービスの特定、通常起動に戻すところまで、手順を残しておく。

セーフモードとクリーンブートは何が違うのか

結局のところ、この2つは「何を止めるか」が違う。

セーフモードはWindowsの標準ドライバやサービスも含めて最小限の状態で起動する。画面の解像度が低くなったり、ネットに繋がらなかったりするのはそのためなんですよね。GPUドライバの問題やBSoD(ブルースクリーン)の切り分けに向いている。

一方クリーンブートは、Microsoftのサービスは全部残したまま、サードパーティ(自分で入れたソフトやメーカー製ユーティリティ)のサービスとスタートアップだけを無効にして起動する。画面の解像度もネット接続も通常通り使える。「特定のアプリが起動しない」「動作が遅い」「原因不明のフリーズが起きる」みたいな、ソフト同士の競合を疑うケースではクリーンブートのほうが的確に絞り込めるんです。

PCショップ時代にセキュリティソフトの体験版が2種類同時に入っていて、それが原因でBSoDが出ていた持ち込みを何台も見た。あの手のトラブルはまさにクリーンブートで一発で切り分けられる。

セーフモードクリーンブート
止まるものMicrosoft含む大半のサービス・ドライバサードパーティのサービス・スタートアップのみ
画面表示低解像度(基本ドライバ)通常どおり
ネット接続なし(ネットワーク有りは別モード)通常どおり
向いている症状画面異常・BSoD・ドライバ起因ソフト競合・フリーズ・動作遅延

msconfigでクリーンブートする手順

Windows 11 24H2でも手順は基本的に変わっていない。管理者アカウントでサインインしていることを確認してから始める。

  1. キーボードで Windowsキー + R を押して「ファイル名を指定して実行」を開く
  2. msconfig と入力してEnter。「システム構成」ウィンドウが開く
  3. サービス」タブをクリック
  4. 左下の「Microsoftのサービスをすべて隠す」にチェックを入れる(ここを忘れるとWindowsの基本サービスまで止めてしまうので注意)
  5. すべて無効」をクリック。サードパーティのサービスが全部チェックオフになる
  6. スタートアップ」タブをクリック →「タスク マネージャーを開く」をクリック
  7. タスクマネージャーの「スタートアップ アプリ」で、「有効」になっている項目をすべて右クリック →「無効化」に変更
  8. タスクマネージャーを閉じて、システム構成に戻り「OK」→「再起動

再起動後、Windows 11が最小構成のサービスとスタートアップで立ち上がる。

クリーンブートで不具合が消えた場合:サードパーティのサービスかスタートアップアプリが原因。次のステップで犯人を特定する。

クリーンブートでも不具合が残る場合:Windows自体の問題(ドライバ、システムファイル破損など)が疑われるので、セーフモードやSFC/DISMなど別方向の切り分けに進む。

「半分ずつ有効化」で犯人サービスを絞り込む

クリーンブートで不具合が消えたら、次は犯人探しになる。サービスを1個ずつ有効にして再起動していたら日が暮れるので、Microsoftの公式サポートページでも推奨されている「半分ずつ有効化」のテクニックを使う。

  1. msconfigの「サービス」タブで「Microsoftのサービスをすべて隠す」にチェックを入れた状態にする
  2. 表示されたサービスの上半分だけにチェックを入れる
  3. 「OK」→ 再起動 → 不具合が再現するか確認

再現した場合:犯人はいま有効にした上半分の中にいる。その上半分をさらに半分に分けて同じことを繰り返す。

再現しなかった場合:犯人は下半分にいる。上半分はそのまま有効にして、下半分を半分ずつ有効にしていく。

サービスが20個あっても、この方法なら4〜5回の再起動で犯人が特定できる。正直めんどくさいんだけど、「何が悪いかわからない」状態からピンポイントで原因を突き止められるのはこの手法だけだったりする。

なお、サービスとスタートアップのどちらに犯人がいるか先に判別したい場合は、サービスだけ全有効・スタートアップ全無効の状態で1回再起動すると効率がいい。これで再現すればスタートアップ側は無罪確定。

犯人が見つかったら:よくある原因と通常起動に戻す手順

犯人が特定できたら、そのサービスやアプリが何なのかを確認する。自分の経験上、犯人になりやすいのは以下のパターン。

  • セキュリティソフトの競合:体験版が重複しているなら片方をアンインストールする。Windows Defenderだけで十分なケースも多い
  • メーカー製ユーティリティ:なくても困らないものはアンインストールするか、services.mscからサービスの種類を「手動」に変更する
  • クラウド同期ツール:最新版にアップデートして改善するか確認。ダメなら代替ツールを検討する
  • 直近でインストールしたソフト:そのソフトのアンインストールか再インストールを試す

犯人の対処が済んだら、忘れずに通常起動に戻す

  1. msconfigを開く(Windows + R →「msconfig」)
  2. 全般」タブで「通常スタートアップ」を選択
  3. サービス」タブで「Microsoftのサービスをすべて隠す」のチェックを外してから「すべて有効」をクリック
  4. 「OK」→ 再起動
  5. タスクマネージャーの「スタートアップ アプリ」で、無効にした項目を「有効」に戻す

(ちなみに自分も一度、クリーンブートのまま1週間使い続けて「なんか印刷できない」と焦ったことがある。プリンターのサービスが止まっていただけだった。戻し忘れは結構やる)

FAQ

「Microsoftのサービスをすべて隠す」を忘れてサービスを全部止めてしまったら?

Windowsの基本サービスまで止まって正常に動作しなくなる可能性がある。再起動後にログインできるなら、msconfigを開き直して「全般」タブの「通常スタートアップ」を選択して再起動する。ログインできない場合はセーフモードから同じ手順で復旧できる。

クリーンブートの状態で普段の作業をしても問題ない?

一時的な切り分け作業としてなら問題ないが、常用は非推奨。サードパーティのサービスが止まっているため、ウイルス対策ソフトやクラウド同期、プリンタードライバーなどが動作しない状態になっている。犯人の特定が終わったら必ず通常起動に戻すこと。

半分ずつ有効化する作業が面倒。もっと早く犯人を見つけるには?

直近でインストールしたソフトに心当たりがあるなら、そのソフトだけをアンインストールして様子を見るのが最速。信頼性モニター(perfmon /rel)でエラーが増えた日付とソフトのインストール日を照合するのも有効。どのソフトが原因かまったく見当がつかない場合は、半分ずつ有効化が結局のところ最も確実な方法になる。

参考文献