Windows 11 23H2の展開メディアにKB5120240を組み込んだあと、USBメモリやISO、PXEから起動すると「0xc0430001」で停止する場合は、最初に展開メディア内のboot.stlを確認してください。
この問題は、更新済みのインストールメディアにboot.stlが含まれていない、またはWindowsのバージョン・CPUアーキテクチャと一致しないファイルが配置されている場合に発生します。Microsoftが案内している対処は、Microsoft LearnのWinPE更新スクリプトでメディア全体を更新する方法と、一致するboot.stlを展開メディアへ手動コピーする方法の2つです。 (マイクロソフトサポート)
ただし、通常のWindows Updateで稼働中のパソコンにKB5120240をインストールしただけの場合は、本記事の対象ではありません。対象となるのは、KB5120240などの更新プログラムを組み込んで作成したWindows 11 23H2の展開メディアです。
KB5120240環境で0xc0430001が出る場合のboot.stl対処
最初に結論を整理すると、次の順番で対応するのが安全です。
| 優先度 | 対処方法 | 適しているケース |
|---|---|---|
| 推奨 | Microsoft LearnのWinPE更新スクリプトを使用する | 組織展開用メディア、毎月更新するメディア、PXE・Configuration Manager・MDTなど |
| 応急処置 | 更新済みboot.wimからboot.stlを取り出してコピーする | すでに作成済みのメディアを早急に修正したい場合 |
| 条件付き | 同じWindows 11 23H2端末からコピーする | 同じバージョン、アーキテクチャ、更新レベルの端末を用意できる場合 |
本番環境へ複数台を展開する場合は、手動コピーだけで済ませず、WinPE更新スクリプトによるメディアの再作成を推奨します。
0xc0430001がboot.stl不足によるものか確認する
今回の問題に該当する可能性が高いのは、次の条件がそろっている場合です。
- Windows 11 23H2のカスタム展開メディアを使用している
- KB5120240または同時期のDynamic Updateをメディアへ組み込んだ
- USB、ISO、ネットワークブートなどから起動している
- Windowsセットアップ画面が表示される前に停止する
- エラーコードとして
0xc0430001が表示される - 展開メディアの
EFI\Microsoft\Bootにboot.stlが存在しない
PowerShellで展開メディアを確認する場合は、次のように実行します。以下では、展開メディアをD:\Win11-23H2へ展開しているものとします。
$Media = "D:\Win11-23H2"
Test-Path "$Media\EFI\Microsoft\Boot\boot.stl"
結果がFalseであれば、指定した場所にboot.stlが存在しません。
ファイルが存在する場合は、詳細も確認します。
Get-Item "$Media\EFI\Microsoft\Boot\boot.stl" |
Select-Object FullName, Length, LastWriteTime
ただし、ファイルが存在しても、別バージョンや別アーキテクチャのboot.stlをコピーしている場合は正常に起動できない可能性があります。
KB5120240を通常インストールした端末の問題ではない
KB5120240のMicrosoftサポートページでは、「既知の問題」はないとされています。一方で、「展開」の注意事項として、既存のWindowsイメージへDynamic Updateを適用する場合は、インストールメディアにboot.stlを含める必要があると案内されています。
つまり、これは通常のWindows Updateクライアントで発生する一般的な更新失敗ではなく、主に更新済み展開メディアの作成工程に関係する問題です。 (マイクロソフトサポート)
次のような対処は、今回の原因に対して基本的に効果がありません。
- Windows Updateのトラブルシューティングツールを実行する
SoftwareDistributionフォルダーを削除する- 稼働中の端末からKB5120240をアンインストールする
- BCDだけを再作成する
- Secure Bootを恒久的に無効化する
既存Windowsの通常起動時に0xc0430001が出ている場合は、ブート構成、ストレージ、ファームウェア、システムファイルなど別の原因を調査してください。
boot.stlとは何か
boot.stlは、Windowsの起動時にSecure Bootの検証で使用されるファイルです。Microsoftは、展開メディアへ含めるboot.stlについて、更新対象イメージのWindowsバージョンとCPUアーキテクチャに一致させる必要があると説明しています。 (マイクロソフトサポート)
たとえば、次のような組み合わせは避けてください。
- Windows 11 24H2から取得したファイルを23H2メディアへ配置する
- x64用のファイルをArm64メディアへ配置する
- 更新前の古いメディアから取得したファイルを、更新後のメディアへ流用する
- インターネット上で入手した出所不明のファイルを使用する
少なくともWindowsのリリースとアーキテクチャを一致させます。実務上は、同じビルドと更新レベルのboot.wimから取り出す方法が最も確実です。
コピー元とコピー先のパスを間違えない
boot.stlの対処では、Windowsイメージ内のパスと、展開メディア上のパスが異なります。
| 用途 | パス |
|---|---|
| 稼働中のWindows端末 | C:\Windows\Boot\EFI\boot.stl |
| マウントしたboot.wim内 | <マウント先>\Windows\Boot\EFI\boot.stl |
| 展開メディアの配置先 | <メディアルート>\EFI\Microsoft\Boot\boot.stl |
「Windows\Boot\EFIへコピーする」と理解すると、配置先を間違えやすいため注意してください。
Windows\Boot\EFIは主にコピー元となるWindowsイメージ内の場所です。起動用メディアとして最終的に配置する場所は、通常、メディアルートのEFI\Microsoft\Bootです。
Microsoft Learnのサンプルスクリプトでも、マウントしたWinPE内のWindows\Boot\EFI\boot.stlを取り出し、最終的に展開メディアのefi\microsoft\boot\boot.stlへコピーしています。 (Microsoft Learn)
対処法1:Microsoft LearnのWinPE更新スクリプトを使用する
組織で継続的に利用する展開メディアでは、Microsoft Learnに掲載されている「WinPEの更新」処理を使用する方法が推奨されます。
公式の処理では、単にboot.stlをコピーするだけでなく、次の作業がまとめて行われます。
boot.wim内のWinPEイメージをマウントする- 累積更新プログラムをWinPEへ適用する
- 必要に応じて言語パックやWinPEコンポーネントを更新する
setup.exeを更新後のWinPEと一致させる- EFIブートマネージャーファイルを更新する
boot.stlをWinPEから取り出す- 展開メディアの
EFI\Microsoft\Bootへ配置する - 更新済み
boot.wimを再構築する
公式サンプルでは、boot.wim内の各イメージを処理したうえで、Windowsセットアップに使われるイメージからsetup.exe、EFIブートマネージャー、boot.stlを取得しています。 (Microsoft Learn)
WinPE更新スクリプトが適している環境
次のような環境では、手動コピーよりスクリプト方式が適しています。
- Microsoft Configuration ManagerでOSを配布している
- MDTや独自のタスクシーケンスを使用している
- PXEブート用のWinPEイメージを管理している
- 毎月、最新の累積更新プログラムをメディアへ統合している
- 複数のエディションや言語を含むメディアを管理している
- 監査のため、再現可能な更新手順が必要である
実行時の注意点
スクリプトを実行する前に、次の点を確認してください。
- 元のISOやメディアを直接編集せず、書き込み可能な作業フォルダーへコピーする
- Windows 11 23H2用の更新プログラムを使用する
- x64とArm64を混在させない
- PowerShellを管理者として実行する
- 処理中にエラーが出たイメージをそのまま配布しない
- 元メディアを削除せず、問題発生時に戻せるよう保管する
Microsoft Learnのサンプルは、元メディアをoldMedia、更新後のメディアをnewMediaへ分けて処理する構成です。直接上書きせず、作業用コピーを更新する運用にすると、失敗時の復旧が容易になります。 (Microsoft Learn)
対処法2:更新済みboot.wimからboot.stlをコピーする
すでにboot.wimへの更新が完了しており、展開メディア側にboot.stlだけがコピーされていない場合は、更新済みboot.wimからファイルを取り出せます。
この方法は、別のパソコンからファイルを持ってくるより、対象メディアとの不一致が起きにくいのが利点です。
作業前の準備
ISOをエクスプローラーでマウントしただけの状態では、ISO内へファイルを書き込めません。ISOの内容を、次のような書き込み可能なフォルダーへコピーしてください。
D:\Win11-23H2
また、マウント作業用として次のフォルダーを使用します。
C:\Mount\WinPE
boot.wimのインデックスを確認する
最初に、boot.wimに含まれるイメージを確認します。
$Media = "D:\Win11-23H2"
Get-WindowsImage -ImagePath "$Media\sources\boot.wim" |
Format-Table ImageIndex, ImageName, Architecture, Version
標準的なWindowsインストールメディアでは複数のイメージが含まれ、Windowsセットアップ用イメージがインデックス2になっていることがあります。ただし、カスタムメディアでは構成が異なる可能性があるため、表示結果を必ず確認してください。
boot.stlを取り出してコピーする
Windowsセットアップ用イメージがインデックス2である場合は、管理者権限のPowerShellで次を実行します。
$Media = "D:\Win11-23H2"
$Mount = "C:\Mount\WinPE"
$WinPEIndex = 2
New-Item -ItemType Directory -Path $Mount -Force | Out-Null
Mount-WindowsImage `
-ImagePath "$Media\sources\boot.wim" `
-Index $WinPEIndex `
-Path $Mount
try {
$Source = Join-Path $Mount "Windows\Boot\EFI\boot.stl"
$DestinationDir = Join-Path $Media "EFI\Microsoft\Boot"
$Destination = Join-Path $DestinationDir "boot.stl"
if (-not (Test-Path $Source)) {
throw "boot.wim内にboot.stlが見つかりません。WinPEの更新処理を見直してください。"
}
New-Item -ItemType Directory -Path $DestinationDir -Force | Out-Null
Copy-Item -Path $Source -Destination $Destination -Force
$SourceHash = (Get-FileHash $Source -Algorithm SHA256).Hash
$DestinationHash = (Get-FileHash $Destination -Algorithm SHA256).Hash
Write-Host "コピー元とコピー先が一致: $($SourceHash -eq $DestinationHash)"
}
finally {
Dismount-WindowsImage -Path $Mount -Discard
}
次のように表示されれば、コピー元とコピー先の内容は一致しています。
コピー元とコピー先が一致: True
boot.wim内にboot.stlが存在しない場合は、単純なコピーでは解決できません。WinPEへのKB5120240適用方法を見直し、Microsoft Learnの更新手順でメディアを作り直してください。
対処法3:同じWindows 11 23H2端末からコピーする
Microsoftは、対象イメージと一致するWindows端末のWindows\Boot\EFIフォルダーから、展開メディアへboot.stlをコピーする方法も案内しています。 (マイクロソフトサポート)
コピー元の端末が、展開メディアと次の条件で一致していることを確認してください。
- Windows 11 23H2である
- x64またはArm64のアーキテクチャが一致している
- 可能な限り同じOSビルドである
- 同じ累積更新プログラムが適用されている
- 正規の管理下にある信頼できる端末である
条件が一致する場合は、次のようにコピーできます。
$Media = "D:\Win11-23H2"
$Source = "$env:SystemRoot\Boot\EFI\boot.stl"
$DestinationDir = "$Media\EFI\Microsoft\Boot"
$Destination = "$DestinationDir\boot.stl"
if (-not (Test-Path $Source)) {
throw "コピー元のboot.stlが見つかりません。"
}
New-Item -ItemType Directory -Path $DestinationDir -Force | Out-Null
Copy-Item -Path $Source -Destination $Destination -Force
Get-FileHash -Path $Source, $Destination -Algorithm SHA256
表示された2つのSHA-256ハッシュが同じであることを確認します。
この方法は応急処置としては有効ですが、コピー元端末の更新状態を正確に管理できない場合は避けてください。対象の更新済みboot.wimから取得するか、WinPE更新スクリプトでメディアを再作成する方が確実です。
修正後に確認する項目
boot.stlを配置しただけで作業を終了せず、配布前に次の確認を行います。
ファイルの存在を確認する
$Media = "D:\Win11-23H2"
Get-Item "$Media\EFI\Microsoft\Boot\boot.stl" |
Select-Object FullName, Length, LastWriteTime
Windowsイメージのバージョンを確認する
Get-WindowsImage -ImagePath "$Media\sources\boot.wim" |
Format-Table ImageIndex, ImageName, Architecture, Version
Get-WindowsImage -ImagePath "$Media\sources\install.wim" |
Format-Table ImageIndex, ImageName, Architecture, Version
install.wimではなくinstall.esdを使用しているメディアでは、実際のファイル名に読み替えてください。
Secure Bootを有効にした状態でテストする
修正後は、次の条件で起動試験を行います。
- UEFIモード
- Secure Boot有効
- 展開対象と同じCPUアーキテクチャ
- 実機または第2世代仮想マシン
- 実際に配布するUSB、ISO、PXEイメージ
Secure Bootを無効化した状態だけで起動確認をすると、boot.stlに関する問題を見逃す可能性があります。
診断目的で一時的にSecure Bootを無効化することはできますが、恒久的な回避策にはしないでください。Microsoftが案内している解決方法は、適切なboot.stlをメディアへ含めることです。
ISO・USB・PXEごとの反映方法
修正したファイルが実際の起動元に反映されていなければ、同じエラーが続きます。
ISOファイルの場合
マウント中のISOへ直接コピーすることはできません。ISOの内容を作業フォルダーへ展開し、修正後に起動可能なISOとして再作成します。
再作成後は、新しいISO内に次のファイルが存在することを確認してください。
\EFI\Microsoft\Boot\boot.stl
古いISOと新しいISOのファイル名が同じ場合は、配布サーバーや管理端末に古いファイルが残らないよう注意してください。
USBメモリの場合
USBメモリへ展開済みで、ファイルシステムへ書き込み可能であれば、対象フォルダーへ直接コピーできます。
ただし、元のISOを修正せずUSBメモリだけを修正すると、USBを作り直した際に問題が再発します。マスターとなる展開メディアも同時に修正してください。
PXE・ネットワーク展開の場合
PXEや管理製品を使用している場合は、修正後に次の作業が必要です。
- 更新済みブートイメージを再登録する
- 配布ポイントへ再配布する
- PXEサービスが参照しているイメージを確認する
- 古いブートイメージのキャッシュを削除する
- クライアントが新しいイメージを取得したことを確認する
ローカルの作業フォルダーだけを直しても、配布ポイント上のイメージが古ければ改善しません。
0xc0430001が直らないときの確認ポイント
boot.stlを配置しても起動できない場合は、次の順番で確認してください。
| 確認項目 | よくある問題 |
|---|---|
| 実際の起動元 | 修正前のUSB、ISO、PXEイメージを起動している |
| 配置場所 | Windows\Boot\EFIだけに置き、メディアのEFI\Microsoft\Bootへ配置していない |
| Windowsバージョン | 24H2や25H2のファイルを23H2へコピーしている |
| アーキテクチャ | x64とArm64が一致していない |
| boot.wim | WinPE自体にKB5120240が正しく適用されていない |
| setup.exe | WinPE内とメディアのバージョンが不一致になっている |
| EFIファイル | bootmgfw.efiなど、関連するブートファイルの更新が不完全 |
| 配布処理 | 修正後のイメージを配布ポイントへ再配布していない |
特に注意したいのが、boot.stlだけを別環境からコピーし、boot.wimやEFIブートマネージャーが古いままになっているケースです。
Microsoft Learnのスクリプトは、boot.stlに加えてsetup.exeやEFIブートマネージャーファイルも更新後のWinPEからコピーします。手動修正で改善しない場合は、メディア内の関連ファイルが混在している可能性があるため、元のWindows 11 23H2メディアから作り直してください。 (Microsoft Learn)
よくある失敗と避ける方法
boot.stlをインターネットからダウンロードする
出所不明のシステムファイルは使用しないでください。改ざんリスクがあるだけでなく、Windowsバージョンやアーキテクチャが一致しているか確認できません。
更新済みboot.wimまたは管理下の同一構成端末から取得します。
24H2の正常な端末からコピーする
新しいWindowsのファイルだから23H2でも使えるとは限りません。Microsoftは、対象イメージのWindowsバージョンとアーキテクチャに一致させるよう案内しています。
Windows 11 23H2メディアには、Windows 11 23H2用のboot.stlを使用してください。
ISOをマウントしたドライブへ直接コピーする
ISOをマウントしたドライブは通常読み取り専用です。ISOの内容を作業フォルダーへ展開してから修正し、起動可能なISOとして再作成します。
install.wimだけを更新する
展開対象となるWindows本体はinstall.wimに含まれますが、インストールメディアから最初に起動する環境はboot.wimです。
install.wimだけに累積更新プログラムを適用し、boot.wimやメディア直下のEFIファイルを更新しない運用では、ファイルの不整合が発生しやすくなります。
Secure Bootを無効にしたまま運用する
Secure Bootを無効化して起動できたとしても、根本原因が解決したことにはなりません。展開後に戻し忘れるリスクもあります。
boot.stlを正しく配置し、Secure Bootを有効にした状態で起動できることを確認してください。
まとめ
KB5120240を組み込んだWindows 11 23H2の展開メディアが0xc0430001で起動できない場合は、メディア内のboot.stl不足または不一致を確認します。
最初に実施する作業は、次のとおりです。
- 展開メディアの
EFI\Microsoft\Boot\boot.stlを確認する - Windows 11 23H2とアーキテクチャが一致するファイルを用意する
- 本番用メディアではMicrosoft LearnのWinPE更新スクリプトを使用する
- 応急処置では更新済み
boot.wimのWindows\Boot\EFIからファイルを取得する - メディア側の
EFI\Microsoft\Bootへコピーする - Secure Bootを有効にした状態で起動試験を行う
- PXEや配布ポイントを使用している場合は、更新済みイメージを再配布する
手動コピーで直らない場合は、別バージョンのファイルを流用せず、元のWindows 11 23H2メディアからWinPEを含めて再更新するのが確実です。

コメント