Windows 11 24H2 アップグレードが BSOD 0xC1900101 / 0x40017 でロールバックする原因と解決策

Windows 11 24H2 へのアップグレード中にブルースクリーンが出て元のバージョンへ戻ってしまう……という相談が急増しています。本記事では、エラーコード 0xC1900101 / 0x40017 を中心に、原因となるドライバーの見つけ方と、実際に成功した復旧手順を「再現しやすい形」で詳しく解説します。

目次

Windows 11 24H2 へのアップグレードで起きる症状の整理

まずは、今回の代表的な症状を整理しておきます。

  • Windows Update または 24H2 の ISO からセットアップを実行
  • ファイルのコピーや互換性チェックは問題なく進む
  • 再起動後のフェーズで 2~3 回ブルースクリーンが発生
  • 「更新プログラムを元に戻しています」と表示され、元のバージョンへ自動ロールバック
  • C:\$Windows.~BT\Sources\Rollback\setupact.log に 0xC1900101, 0x40017 が記録される
  • Panther フォルダーを眺めても「これだ!」というエラーが見つからない

さらに、次のような対処を行っても改善しないケースが多く見られます。

  • 市販ウイルス対策ソフトのアンインストール
  • クリーン ブート状態でのアップグレード再試行
  • メーカー製ユーティリティや BIOS の更新
  • 外付けデバイスを外しての再試行

ここまでやっても 0xC1900101 / 0x40017 でコケる場合、多くは「見えないところに残った古いドライバー」が原因になっています。

エラー 0xC1900101 / 0x40017 の意味と典型的な原因

この組み合わせのエラーコードは、ほぼ確実にドライバー関連の問題を示唆しています。

区分内容典型例 / 備考
0xC1900101アップグレード中にドライバーが原因で停止 (BSOD) し、ロールバックが実行された一般に「ドライバー不整合」系のエラーコードとして知られる
0x40017再起動後のフェーズ (SAFE_OS / BOOT フェーズ) 中に失敗したインストールの後半・再起動フェーズでクラッシュしていることを示す

より具体的には、次の 2 パターンに分類できます。

区分内容典型例 / 備考
① 古い・互換性のないドライバー新しいカーネルやセキュリティ機能と合わず、起動途中でクラッシュするBluetooth、ストレージ (RST・RAID)、セキュリティ・VPN ドライバーで頻発
② ドライバー ストアの「残骸」過去の周辺機器用 INF が残っており、セットアップ中に誤って読み込まれる旧プリンター、USB-LAN、古い USB デバイスなど

見えているデバイス マネージャー上のドライバーが問題とは限らず、「もう使っていないハードの INF が DriverStore に眠っている」というケースが非常に多いのがポイントです。

なぜ再起動 2~3 回目で BSOD → ロールバックになるのか

Windows 11 24H2 へのアップグレードは、ざっくり次のようなフェーズで進みます。

  • 既存 OS 上でのダウンレベル処理 (互換性チェック / ファイルコピー)
  • 再起動後の SAFE_OS / BOOT フェーズ (新 OS のカーネルとドライバー読み込み)
  • ドライバーやサービスの最終構成 / UWP アプリの登録

0xC1900101 / 0x40017 は、この「SAFE_OS / BOOT フェーズ」でドライバーがクラッシュし、起動に失敗したことを示しています。一定回数のブート失敗を検知すると、Windows セットアップは「元の OS に戻す」ロールバック動作に切り替わるため、ユーザー側から見ると「ブルースクリーンが数回 → 自動的に元のバージョンに戻る」という挙動になります。

逆に言えば、このフェーズで読み込まれるドライバーをいかにクリーンにするかが解決の鍵です。

原因ドライバーをあぶり出すための全体方針

0xC1900101 系エラーを潰していく際の基本戦略は次の通りです。

  • 不要なドライバーを「まとめて掃除」する(FRST+fixlist を活用)
  • 常駐ソフトやサービスを極力止めたクリーン ブートでアップグレードを行う
  • 失敗時は ログとダンプから候補ドライバーを絞り込む
  • 必要に応じて Driver Verifier や Memory Integrity で怪しいドライバーを洗い出す

本記事では、実際に効果のあった次の流れをベースに解説します。

  1. アップグレード前の共通準備
  2. FRST + fixlist による不要ドライバーの一括除去
  3. クリーン ブート状態で Windows 11 24H2 アップグレードを再試行
  4. 成功後に通常起動へ戻す
  5. それでもダメな場合の、より深いトラブルシューティング

アップグレード前に必ずやっておきたい共通準備

バックアップと復元ポイントの作成

ドライバー削除やレジストリ修正を伴うため、まずは「戻れる状態」を作っておくことが重要です。

  • 重要なデータは必ず外部ストレージやクラウドにバックアップ
  • システムの復元ポイントを作成しておく
  • 可能であればシステム ドライブのイメージバックアップも取得

特に FRST の fix 機能はレジストリを含めて広範囲に変更することができるため、作業前のバックアップは必須と考えておきましょう。

ストレージ空き容量と BIOS / チップセットの確認

  • システムドライブ (通常は C:) に最低 25GB 以上の空き容量を確保
  • PC メーカーまたはマザーボード ベンダーのサイトで BIOS の最新版を確認
  • チップセット ドライバー (Intel / AMD) も可能な範囲で最新に更新

ストレージに余裕がない場合、セットアップ中に一時ファイルやドライバー キャッシュが正常に展開できず、結果的にドライバーの読み込み異常を引き起こすこともあります。

システムファイルとディスクの簡易チェック

論理エラーや破損したシステムファイルがあると、ログ解析がややこしくなるだけでなく、ロールバックの原因となることもあります。コマンド プロンプト(管理者)から次のようなチェックを行っておくと安心です。

  • sfc /scannow でシステムファイルの整合性確認
  • DISM /Online /Cleanup-Image /RestoreHealth でコンポーネントストアの修復

これらはアップグレード専用の対処というより、「土台が崩れていないか」を確認するための下準備と考えてください。

FRST + fixlist で不要ドライバーを一括除去する

FRST とは何か

Farbar Recovery Scan Tool (FRST) は、システムの状態やレジストリ、サービス、ドライバーなどを詳細にスキャンし、テキスト レポートとして出力してくれる診断ツールです。さらに、診断結果をもとに作成された fixlist.txt と組み合わせることで、不要なエントリやドライバーを自動削除することができます。

ポイントは以下の 2 点です。

  • fixlist.txt は完全に PC 個別の内容になる(他人の fixlist を流用してはいけない)
  • 中身しだいではシステムに大きな変更を加えるため、信頼できる人・コミュニティが作成したものだけを使う

FRST を使う前の注意点

  • 念のため、直近のバックアップと復元ポイントがあることを再確認
  • FRST と fixlist.txt は同じフォルダーに置く(通常はデスクトップ上に新しいフォルダーを作成すると管理しやすい)
  • セキュリティ ソフトによっては FRST を誤検知することがあるため、一時的にリアルタイム保護をオフにすることも検討

FRST + fixlist によるドライバー掃除の流れ

  1. FRST64.exe を任意のフォルダーに保存する
  2. サポート担当者やコミュニティで自分の PC 向けに作ってもらった fixlist.txt を同じフォルダーに保存
  3. FRST64.exe を右クリックし、「管理者として実行」
  4. 画面下部の「Fix」ボタンをクリックし、処理完了まで待つ
  5. 必要に応じて PC が自動再起動され、Fixlog.txt が同じフォルダーに生成される

fixlist の内容にもよりますが、ここで狙うのは主に次のような「ドライバーの残骸」です。

  • すでに接続していない古いプリンターや複合機のドライバー
  • 数年前に使っていた USB-LAN アダプターや USB 無線 LAN 子機
  • 試しに入れて放置した VPN クライアントやセキュリティ製品のドライバー
  • 古いバージョンのストレージ/RAID ドライバーのエントリ

これらはデバイス マネージャー上からは見えなくても、DriverStore に INF として残っており、アップグレード中に「誤って組み込まれてしまう」ことで BSOD を引き起こすことがあります。FRST + fixlist でここを一気に掃除することが、今回のケースでも決定打になりました。

クリーン ブート状態でアップグレードを再試行する

不要ドライバーを掃除したら、次は余計なサービスやスタートアップを止めた状態でアップグレードをやり直します。これにより、ドライバーだけでなく常駐アプリがインストール プロセスに干渉する可能性も減らせます。

クリーン ブートの設定手順

管理者権限のアカウントでサインインし、次の手順を実行します。

  1. Win + R キーで 「ファイル名を指定して実行」を開き、msconfig と入力して Enter
  2. 「サービス」タブを開き、「Microsoft のサービスをすべて隠す」にチェックを入れる
  3. 残っているサービス一覧から「すべて無効」をクリック
  4. 「スタートアップ」タブで「タスク マネージャーを開く」をクリック
  5. タスク マネージャーの「スタートアップ」タブで、不要な項目を「無効」に変更(できればすべて無効)
  6. PC を再起動する

この状態がいわゆるクリーン ブートです。Windows 標準のサービスだけが動作し、サードパーティ製の常駐ソフトやユーティリティはほぼ停止した状態になります。

あわせて、次のような物理的な対策も行うと成功率が上がります。

  • USB メモリ、外付け HDD、カードリーダーなど、不要な外付けデバイスはすべて外す
  • 可能ならばプリンターやスキャナーも一時的にケーブルを抜く
  • Bluetooth デバイスも極力外すか、内蔵モジュールの電源を BIOS で一時的に切ることも検討

Windows Update からの再試行

クリーン ブートができたら、まずは通常通り Windows Update から 24H2 へのアップグレードを再度試してみます。

  1. 「設定」→「Windows Update」を開く
  2. 24H2 への機能更新プログラムが表示されていれば「ダウンロードしてインストール」をクリック
  3. その後の再起動やインストールは画面の指示に従う

FRST でドライバーの残骸を掃除したあと、クリーン ブート状態でこの手順を踏むことで、同じ更新プログラムでも問題なく完了した、というケースが実際に報告されています。

ISO を使ったインプレース アップグレード

Windows Update 経由で何度も失敗する場合は、24H2 の公式 ISO を使ってインプレース アップグレードを行う方法もおすすめです。

  1. 24H2 の ISO ファイルを入手し、PC に保存する
  2. ISO ファイルを右クリックして「マウント」を選択(エクスプローラーで仮想ドライブとして開く)
  3. 仮想ドライブ内の setup.exe を右クリック → 「管理者として実行」
  4. 「個人用ファイルとアプリを引き継ぐ」が選択されていることを確認して進める

ISO からのインプレース アップグレードは、Windows Update がうまく進まない環境でも成功しやすく、ロールバック時のログも比較的わかりやすい傾向があります。

アップグレード成功後に通常起動へ戻す

アップグレードが無事完了し、デスクトップまで起動できたら、クリーン ブートの設定を元に戻します。

  1. 再度 msconfig を開く
  2. 「全般」タブで「通常スタートアップ」を選択
  3. 必要に応じて、タスク マネージャーの「スタートアップ」タブで元に戻したい項目を「有効」にする
  4. PC を再起動する

クリーン ブートはあくまで「一時的なトラブルシューティング状態」です。常用することはおすすめしませんが、今回のようにアップグレード時だけ使う、と割り切れば非常に強力な武器になります。

それでも 0xC1900101 / 0x40017 で失敗する場合の追加調査

FRST + クリーン ブートでも解決しない場合は、よりピンポイントで「犯人ドライバー」を特定していく必要があります。ここからはやや上級者向けの内容になりますが、順番に試すことで多くのケースを切り分けできます。

Memory Integrity (メモリ整合性) で互換性のないドライバーを炙り出す

Windows 11 では、「コア分離」の一機能である Memory Integrity (メモリ整合性) を有効化しようとすると、互換性のないドライバーがある場合に一覧表示してくれます。

  1. 「設定」→「プライバシーとセキュリティ」→「Windows セキュリティ」を開く
  2. 「デバイス セキュリティ」→「コア分離の詳細」をクリック
  3. 「メモリ整合性」をオンにしようとした際、互換性のないドライバーがあると警告と一覧が表示される

ここに表示されたドライバーは、24H2 の新しいカーネルやセキュリティ機能と相性が悪い可能性が高いため、最新版への更新またはアンインストールを検討します。

SetupDiag でロールバックログを解析する

アップグレードがロールバックされた PC では、C:\$Windows.~BT\Sources\Rollback\ フォルダーに詳細なログが残っています。これを SetupDiag で解析すると、どのフェーズで何が起きたかをある程度自動的に教えてくれます。

  • setupact.log と setuperr.log を中心に、0xC1900101 / 0x40017 の記録がないか確認
  • 特定のドライバー名 (例: bt***.sys、iaStor***.sys など) が BSOD の原因として挙がっていないか確認

ログをすべて手作業で追うのは大変ですが、「どのドライバーが最後にロードされていたか」「どのサービスを起動しようとしたときにエラーが出たか」を意識して見ると、怪しい対象を絞り込みやすくなります。

Driver Verifier でサードパーティ ドライバーを監視する

どうしても犯人が特定できない場合の最終兵器が Driver Verifier です。Windows に標準搭載されているドライバー検証機能で、指定したドライバーに対して「わざと厳しいチェック」を行い、不正な動作があればすぐ BSOD で止めてくれます。

ただし、設定を誤るとブートループを招く危険もあるため、あくまで上級者向けの手段と考えてください。

Driver Verifier の基本的な使い方

  1. 管理者としてコマンド プロンプトを開く
  2. verifier と入力して Enter
  3. 「標準の設定を作成する」を選択
  4. 「ドライバー名の一覧から選択する」を選ぶ
  5. Microsoft 製以外のドライバー(サードパーティ ドライバー)のみにチェックを入れる
  6. PC を再起動する

再起動後、しばらく通常利用したり、簡易的な負荷テストを行うことで、問題のあるドライバーであればほぼ確実に BSOD が発生します。その際の停止コードとダンプファイルから、具体的なドライバー名を特定できます。

BSOD ループになった場合の解除方法

  • 「詳細オプション」→「トラブルシューティング」からセーフ モードで起動
  • セーフ モードで管理者のコマンド プロンプトを開き、verifier /reset を実行
  • PC を再起動して Driver Verifier の設定を解除する

この手順はあらかじめメモしておき、万が一のループに備えておくと安心です。

よく問題を起こすドライバーと対処例

0xC1900101 / 0x40017 の相談で特によく引っかかるドライバーの種類と、その対処例をまとめます。

ドライバーの種類具体例対処のポイント
Bluetooth ドライバー古い Bluetooth モジュールのドライバー、メーカー独自ユーティリティ付きのものPC メーカーまたはチップセット ベンダーの最新版に更新。最悪、一度デバイスを無効化してアップグレードを試す。
ストレージ / RAID ドライバー古い Intel RST、RAID カード用ドライバー公式サイトの 24H2 対応版が出ているか確認。不要な RAID モード設定は見直し、標準 AHCI で運用できないか検討。
セキュリティ / VPN ドライバー旧世代の法人向けウイルス対策製品、VPN クライアント、ファイアウォール ソフトアンインストール ツールを使って完全に削除。必要であれば 24H2 へアップグレード完了後に最新バージョンを再インストール。
USB-LAN / 仮想 NIC一時利用した USB-LAN アダプター、仮想マシン系ソフトが作る仮想 NIC使っていないものはアンインストール。仮想マシン ソフトは一時的に無効化するか、アップグレード後に再インストール。
古いプリンター / 複合機Windows 10 時代に使っていた旧モデルのドライバーが残っているデバイスを削除しただけでは INF が残ることが多い。FRST + fixlist で DriverStore の残骸ごと掃除するのが効果的。

トラブルを繰り返さないための予防策

今回のようなアップグレード トラブルは、一度解消しても、将来の機能更新やセキュリティ更新で再発する可能性があります。日頃から次のポイントを意識しておくと、トラブルを防ぎやすくなります。

「使わなくなったドライバー」をため込まない

  • 使っていない周辺機器のドライバーやユーティリティは早めにアンインストール
  • テスト目的で入れた VPN やセキュリティ ソフトも、そのまま放置しない
  • 古いバージョンと新しいバージョンのドライバーを「並存」させない

特に法人環境では、ポリシーや配布ツールの都合で古いドライバーが残りがちです。アップグレード前に一度クリーンアップの方針を決めておくと、後々のトラブルを減らせます。

ログを「その場で捨てない」習慣をつける

  • アップグレードが失敗したら、C:\$Windows.~BT\ や Panther フォルダーを ZIP にまとめて保存
  • SetupDiag を実行した結果もテキストとして残しておく
  • V2 Log Collector などのログ採取ツールで一式まとめたアーカイブを作っておくと、外部への相談時に非常に役立つ

「再試行していたらログが上書きされてしまい、結局何が起きていたのか分からない」というのはよくあるパターンです。1 回失敗した時点で、まずログを確保してから再チャレンジする癖をつけておくと解析が格段に楽になります。

周辺機器の「対応状況」を事前にチェックする

  • プリンターや複合機は、メーカーサイトで「Windows 11 24H2 対応ドライバー」が出ているか確認
  • 法人向け VPN / セキュリティ製品は、ベンダーのサポート情報で 24H2 対応状況をチェック
  • USB-LAN や特殊な入力デバイスなどは、できれば 24H2 対応が確認できるまで常用を避ける

周辺機器側が 24H2 に正式対応する前に OS だけ先行アップグレードすると、今回のような予期せぬ BSOD やロールバックに繋がりやすくなります。

ケーススタディ:FRST → クリーン ブートで解決した例

冒頭の相談例では、次のような手順で問題を解消できました。

  1. FRST + fixlist でドライバーの残骸を一括除去
  2. クリーン ブート状態を作成
  3. その状態で Windows Update から 24H2 へのアップグレードを再試行
  4. 同じ更新プログラムにもかかわらず、今度は BSOD なしでアップグレード完了
  5. アップグレード成功後、msconfig で「通常スタートアップ」に戻す

Panther フォルダーのログを見ても決定的なエラーが分からなかったケースでしたが、「FRST で DriverStore を含む古いドライバー群を整理したこと」が事実上の決め手となりました。つまり、根本原因は長年蓄積された古いドライバーの群れだったと考えられます。

同じように 0xC1900101 / 0x40017 で悩んでいる場合も、

  • 不要ドライバーの徹底的な掃除
  • クリーン ブート状態でのインプレース アップグレード

という 2 本柱は非常に再現性の高いアプローチです。そこから先の Memory Integrity や Driver Verifier は、「それでもダメだったとき」の奥の手として用意しておくとよいでしょう。

まとめ:0xC1900101 / 0x40017 を突破するために

Windows 11 24H2 へのアップグレード中に 0xC1900101 / 0x40017 が発生する場合、多くは「今はもう使っていないドライバー」や「古い周辺機器用 INF の残骸」が原因になっています。目に見えるデバイス マネージャーだけを頼りにしていると見落としがちですが、FRST + fixlist を活用した DriverStore のクリーンアップと、クリーン ブート状態でのアップグレードを組み合わせることで、かなりの確率で突破できるはずです。

同じエラーで悩んでいる方は、

  • まずはバックアップと環境チェック
  • FRST + fixlist で不要ドライバーを一掃
  • クリーン ブート状態で Windows 11 24H2 へ再挑戦
  • それでも NG なら、Memory Integrity・SetupDiag・Driver Verifier で犯人ドライバーを特定

というステップで順番に試してみてください。時間はかかりますが、仕組みを理解して一つずつ潰していけば、必ず突破口は見えてきます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次