KB5121003を組み込んだWindows 11 24H2/25H2のインストールメディアが、エラーコード「0xc0430001」で起動しない場合は、まずメディア内のboot.stlを確認してください。
今回Microsoftが案内しているのは、通常のWindows Updateを実行したすべてのPCで発生する起動障害ではありません。KB5121003や動的更新プログラムを既存のWindowsイメージへ統合し、カスタムISO、USBメモリ、PXE用コンテンツなどを作成した環境が主な対象です。
インストールメディアの\efi\microsoft\boot\boot.stlが欠落している、またはWindowsのバージョンやCPUアーキテクチャと一致していないと、セキュアブートの検証に失敗し、メディアから起動できない可能性があります。
Microsoftが推奨する対処は、Update WinPEスクリプトを利用してインストールメディア全体を更新し直すことです。緊急の回避策として、一致するWindows環境のWindows\Boot\EFI\boot.stlを、インストールメディアの対応するフォルダーへコピーする方法も案内されています。(マイクロソフトサポート)
KB5121003後に0xc0430001で起動失敗する原因
KB5121003は、2026年8月11日に公開されたWindows 11 24H2/25H2向けのセキュリティ更新プログラムです。適用後のOSビルドは、Windows 11 24H2が26100.9168、Windows 11 25H2が26200.9168です。(マイクロソフトサポート)
MicrosoftのKBページでは、0xc0430001の問題は一般的な「既知の問題」ではなく、インストールメディアを更新・展開する際の注意事項として掲載されています。
| 項目 | 内容 |
|---|---|
| 対象 | Windows 11 24H2/25H2の更新済みインストールメディア |
| 発生場面 | カスタムISO、USB、PXEなどから起動するとき |
| エラー | 0xc0430001 |
| 主な原因 | boot.stlの欠落または不一致 |
| 必要な配置先 | \efi\microsoft\boot\boot.stl |
| 推奨対処 | Update WinPEスクリプトでメディアを更新 |
| 手動回避策 | 一致するWindows\Boot\EFI\boot.stlをコピー |
boot.stlは、セキュアブートの検証で使用されるファイルです。単に同名のファイルを配置すればよいわけではなく、更新対象イメージのWindowsバージョンとアーキテクチャに一致していなければなりません。(マイクロソフトサポート)
インストールメディアでは、次の位置にファイルが必要です。
<インストールメディアのルート>
├─ sources
│ └─ boot.wim
└─ efi
└─ microsoft
└─ boot
└─ boot.stl
オフライン更新でinstall.wimやboot.wimだけを更新し、メディア外側のEFIフォルダーを更新しなかった場合、boot.stlが配置されないままメディアが完成してしまうことがあります。
Microsoftの更新スクリプトも、更新済みのWinPEからboot.stlを取り出し、最終的にメディアの\efi\microsoft\boot\boot.stlへコピーする構成になっています。(Microsoft Learn)
この問題に該当するかを切り分ける
0xc0430001というエラーコードだけでは、必ずしもboot.stlが原因とは限りません。エラーが発生した状況と、使用しているメディアをセットで確認する必要があります。
| 状況 | boot.stl問題の可能性 |
|---|---|
| KB5121003を統合したカスタムメディアから起動できない | 高い |
| Windowsセットアップ画面が表示される前に停止する | 高い |
メディア内にboot.stlが存在しない | 非常に高い |
| 24H2と25H2のファイルを混在させている | 高い |
| x64メディアにArm64用ファイルをコピーした | 高い |
| 通常のWindows Update後、内蔵SSDから起動できない | 別原因の可能性が高い |
| Windowsセットアップ開始後に別のエラーが出る | Setupファイルやイメージ更新手順も要確認 |
通常のPCで「設定」からWindows Updateを実行した後、内蔵SSD上のWindowsそのものが起動しなくなった場合は、今回のインストールメディア向け回避策が当てはまらない可能性があります。
インストールメディアのboot.stlを確認する
ISOの内容を展開したフォルダー、USBメモリ、PXE配布用フォルダーなど、書き込み可能なインストールメディアのルートを指定します。
管理者権限のWindows PowerShellで、次のコマンドを実行してください。
$MediaRoot = 'C:\Win11Media'
$BootWim = Join-Path $MediaRoot 'sources\boot.wim'
$BootStl = Join-Path $MediaRoot 'efi\microsoft\boot\boot.stl'
[pscustomobject]@{
BootWimExists = (Test-Path -LiteralPath $BootWim)
BootStlExists = (Test-Path -LiteralPath $BootStl)
}
正常なWindowsインストールメディアのルートを指定できていれば、BootWimExistsはTrueになります。
BootWimExistsがTrueで、BootStlExistsがFalseの場合は、今回の問題に該当する可能性が高いと判断できます。
ただし、BootStlExistsがTrueでも安心はできません。別のWindowsバージョンやアーキテクチャからコピーしたファイルであれば、セキュアブート検証に失敗する可能性があります。
Windowsのバージョンとアーキテクチャを照合する
コピー元として利用するWindows PCの情報は、次のPowerShellで確認できます。
$CurrentVersion = Get-ItemProperty `
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
[pscustomobject]@{
DisplayVersion = $CurrentVersion.DisplayVersion
Build = "$($CurrentVersion.CurrentBuild).$($CurrentVersion.UBR)"
Architecture = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
}
インストールメディア内のboot.wimは、次のコマンドで確認します。
$MediaRoot = 'C:\Win11Media'
Get-WindowsImage `
-ImagePath "$MediaRoot\sources\boot.wim" |
Select-Object ImageIndex, ImageName, Architecture, Version
KB5121003の対象ビルドは、次のとおりです。
| Windowsバージョン | ビルド系列 |
|---|---|
| Windows 11 24H2 | 26100 |
| Windows 11 25H2 | 26200 |
少なくとも、次の組み合わせは避けてください。
- Windows 11 24H2のメディアに、25H2の
boot.stlをコピーする - Windows 11 25H2のメディアに、24H2の
boot.stlをコピーする - x64メディアに、Arm64環境の
boot.stlをコピーする - Arm64メディアに、x64環境の
boot.stlをコピーする
MicrosoftはWindowsバージョンとアーキテクチャの一致を必須としています。実務上は、可能であれば同じ月の更新プログラムを適用した、同一ビルドの環境から取得するのが安全です。(マイクロソフトサポート)
対処法1:Update WinPEスクリプトでメディアを更新する
Microsoftが推奨しているのは、動的更新プログラムを使用してWindowsインストールメディア全体を更新する方法です。
ここでいう「Update WinPE」は、Update-WinPEという名前のPowerShellコマンドレットではありません。Microsoft Learnで公開されている、WinPEやインストールメディアを更新するためのPowerShellサンプルスクリプトを指します。
Update WinPEスクリプトが推奨される理由
Windowsインストールメディアは、単一のWIMファイルだけで構成されているわけではありません。
更新対象には、主に次のものがあります。
- WinREを格納する
winre.wim - Windows本体を格納する
install.wim - Windowsセットアップ環境を格納する
boot.wim setup.exeやsetuphost.exe- UEFI用のブートマネージャーファイル
boot.stl- Setup Dynamic Update
- Safe OS Dynamic Update
Microsoftのドキュメントでは、WinRE、Windows本体、WinPE、メディア上のファイルを一定の順序で更新する必要があると説明されています。途中で更新処理が失敗したイメージは、そのまま配布しないよう注意されています。(Microsoft Learn)
Update WinPEを含むメディア更新スクリプトでは、更新済みboot.wimのWindows Setupイメージから、次のファイルを保存してメディア側へ反映します。
setup.exesetuphost.exebootmgfw.efibootmgr.efiboot.stl
このため、boot.stlだけでなく、WindowsセットアップやUEFIブートに関係するファイルの整合性も保ちやすくなります。(Microsoft Learn)
推奨される作業の流れ
- 元のWindowsインストールメディアをバックアップする
- 元メディアを作業用フォルダーへコピーする
- KB5121003と必要なチェックポイント累積更新プログラムを準備する
- Setup Dynamic UpdateとSafe OS Dynamic Updateを準備する
- WinRE、
install.wim、boot.wimの順に更新する - 更新済みWinPEからセットアップファイルとEFI関連ファイルを取り出す
boot.stlを\efi\microsoft\boot\boot.stlへ配置する- UEFIおよびセキュアブート有効環境で起動テストを行う
動的更新プログラムは、原則として累積更新プログラムと同じ月のパッケージを使用します。同じ月のSetup Dynamic UpdateやSafe OS Dynamic Updateが公開されていない場合は、それぞれ最新の公開版を使用するようMicrosoftが案内しています。(マイクロソフトサポート)
サンプルスクリプトをそのまま実行しない
Microsoft Learnのサンプルでは、次のようなフォルダー構成が前提になっています。
C:\mediaRefresh
├─ oldMedia
├─ newMedia
├─ packages
└─ temp
ただし、公開されているスクリプトは構成例を示す目的のもので、完全なエラー処理は実装されていません。また、日本語パック、オンデマンド機能、.NETなどを追加する例も含まれています。
自社環境で不要な言語パックや機能を追加しない場合は、関連する処理と変数を整理したうえで、検証環境から実行してください。(Microsoft Learn)
チェックポイント累積更新プログラムにも注意する
Windows 11 24H2以降では、最新の累積更新プログラムを適用する前に、チェックポイント累積更新プログラムが必要になることがあります。
Add-WindowsPackageへフォルダーを指定すると、必要なチェックポイントを検出して適用できます。ただし、そのフォルダーには、対象の累積更新プログラムと必要なチェックポイント累積更新プログラムだけを配置するのが原則です。(Microsoft Learn)
boot.stlを修復しても、boot.wimやinstall.wimの更新が途中で失敗していれば、別の場所でセットアップが停止する可能性があります。更新処理でエラーが発生した場合は、部分的に完成したメディアを修復し続けるのではなく、元のメディアから作り直す方が確実です。
対処法2:boot.stlを手動でコピーする
メディア全体を作り直す時間がない場合は、一致するWindows環境からboot.stlをコピーできます。
Microsoftが示しているコピー元とコピー先は、次のとおりです。
| 種別 | パス |
|---|---|
| コピー元 | C:\Windows\Boot\EFI\boot.stl |
| コピー先 | <メディアルート>\efi\microsoft\boot\boot.stl |
コピー元PCは、対象メディアとWindowsバージョンおよびアーキテクチャが一致している必要があります。(マイクロソフトサポート)
PowerShellでboot.stlをコピーする
次のスクリプトでは、コピー元とコピー先の存在確認を行い、コピー後にSHA-256ハッシュを比較します。
# 管理者権限のWindows PowerShellで実行
$ErrorActionPreference = 'Stop'
# ISOを展開したフォルダー、USB、PXE用共有フォルダーなどを指定
$MediaRoot = 'C:\Win11Media'
$BootWim = Join-Path $MediaRoot 'sources\boot.wim'
$Source = Join-Path $env:SystemRoot 'Boot\EFI\boot.stl'
$Destination = Join-Path $MediaRoot 'efi\microsoft\boot\boot.stl'
if (-not (Test-Path -LiteralPath $BootWim)) {
throw 'MediaRootがWindowsインストールメディアのルートではありません。'
}
if (-not (Test-Path -LiteralPath $Source)) {
throw 'コピー元のWindows環境にboot.stlが見つかりません。'
}
$DestinationDirectory = Split-Path -Parent $Destination
New-Item `
-ItemType Directory `
-Path $DestinationDirectory `
-Force |
Out-Null
Copy-Item `
-LiteralPath $Source `
-Destination $Destination `
-Force
$SourceHash = (
Get-FileHash `
-LiteralPath $Source `
-Algorithm SHA256
).Hash
$DestinationHash = (
Get-FileHash `
-LiteralPath $Destination `
-Algorithm SHA256
).Hash
if ($SourceHash -ne $DestinationHash) {
throw 'コピー元とコピー先のSHA-256ハッシュが一致しません。'
}
Get-Item -LiteralPath $Destination |
Select-Object FullName, Length, LastWriteTime
ハッシュの一致で確認できるのは、コピーが正常に完了したことだけです。Windowsバージョンやアーキテクチャが一致しているかは、コピー前に別途確認してください。
ISOファイルは直接編集できない
WindowsでマウントしたISOは、通常は読み取り専用です。マウントしたISOのドライブへ直接boot.stlをコピーすることはできません。
ISOを利用している場合は、次の流れで作業します。
- ISOの全内容を書き込み可能な作業フォルダーへコピーする
- 作業フォルダーへ
boot.stlを配置する - Windows ADKのOscdimgなどでブート可能なISOを再作成する
- 新しく作成したISOから起動テストを行う
既存のUSBインストールメディアが書き込み可能であれば、USBのルートを$MediaRootとして直接修復できます。
コピー元PCがない場合はboot.wimから取り出す
すでにKB5121003を適用したboot.wimがあり、その内部に正しいboot.stlが含まれている場合は、boot.wimをマウントしてファイルを取り出すこともできます。
Microsoftのメディア更新スクリプトも、通常はboot.wimのインデックス2にあるWindows Setupイメージから、Windows\Boot\EFI\boot.stlを取得しています。(Microsoft Learn)
最初にboot.wimのインデックスを確認します。
$MediaRoot = 'C:\Win11Media'
$BootWim = Join-Path $MediaRoot 'sources\boot.wim'
Get-WindowsImage -ImagePath $BootWim |
Select-Object ImageIndex, ImageName, Architecture, Version
一般的なWindows 11メディアでは、インデックス2がWindows Setupです。ただし、カスタムメディアでは構成が異なることがあるため、ImageNameを必ず確認してください。
$ErrorActionPreference = 'Stop'
$MediaRoot = 'C:\Win11Media'
$BootWim = Join-Path $MediaRoot 'sources\boot.wim'
$MountPath = 'C:\Mount\WinPE-KB5121003'
$Destination = Join-Path $MediaRoot 'efi\microsoft\boot\boot.stl'
# 事前のGet-WindowsImage結果に合わせて変更
$SetupIndex = 2
New-Item `
-ItemType Directory `
-Path $MountPath `
-Force |
Out-Null
Mount-WindowsImage `
-ImagePath $BootWim `
-Index $SetupIndex `
-Path $MountPath `
-ReadOnly
try {
$Source = Join-Path $MountPath 'Windows\Boot\EFI\boot.stl'
if (-not (Test-Path -LiteralPath $Source)) {
throw '選択したboot.wimのイメージ内にboot.stlがありません。'
}
New-Item `
-ItemType Directory `
-Path (Split-Path -Parent $Destination) `
-Force |
Out-Null
Copy-Item `
-LiteralPath $Source `
-Destination $Destination `
-Force
}
finally {
Dismount-WindowsImage `
-Path $MountPath `
-Discard
}
この方法は、boot.wim自体が正しく更新されていることが前提です。boot.wimへのKB5121003適用が失敗している場合や、古いWinPEのままの場合は、Update WinPEの手順でメディア全体を作り直してください。
メディア種別ごとの反映ポイント
| メディア | 作業時の注意 |
|---|---|
| USBメモリ | USBのルートにあるefi\microsoft\bootへコピーする |
| 展開済みISOフォルダー | ファイル追加後にブート可能なISOを再作成する |
| PXE共有フォルダー | 実際に端末が参照する配布元へコピーする |
| 展開サーバー | コンテンツ更新後に配布先やキャッシュを更新する |
| 仮想マシン用ISO | 古いISOが接続されたままになっていないか確認する |
PXEや展開管理製品を利用している場合、ファイルを元フォルダーへ追加しただけでは、配布ポイントやキャッシュへ反映されないことがあります。
修復後も同じエラーが出る場合は、端末が古いブートイメージや古いISOを参照していないか確認してください。
修復後に必ず行う確認
boot.stlを配置しただけで本番展開を再開するのは危険です。少なくとも、次の項目を確認してください。
ファイルの存在を確認する
$MediaRoot = 'C:\Win11Media'
Get-Item `
-LiteralPath "$MediaRoot\efi\microsoft\boot\boot.stl" |
Select-Object FullName, Length, LastWriteTime
コピー元とコピー先のハッシュを比較する
Get-FileHash `
-LiteralPath 'C:\Windows\Boot\EFI\boot.stl' `
-Algorithm SHA256
Get-FileHash `
-LiteralPath 'C:\Win11Media\efi\microsoft\boot\boot.stl' `
-Algorithm SHA256
セキュアブートを有効にして起動する
今回の問題はセキュアブート検証に関係しています。セキュアブートを無効にした状態だけで起動できても、正常に修復できたことの確認にはなりません。
本番環境と同じ条件で、次の順にテストします。
- UEFIモードを有効にする
- セキュアブートを有効にする
- 修復したメディアから起動する
- Windowsセットアップ画面が表示されることを確認する
- ディスク選択画面またはタスクシーケンス開始地点まで進める
- 検証用端末へ実際にインストールする
可能であれば、仮想マシンだけでなく、実際に展開する機種でも確認してください。
boot.stl修復で失敗しやすいポイント
boot.stlをsourcesフォルダーへコピーしている
必要な配置先は、通常次のパスです。
\efi\microsoft\boot\boot.stl
次のような場所へコピーしても、今回の問題は解決しません。
\sources\boot.stl
\boot\boot.stl
\efi\boot.stl
ファイル名だけを見て流用している
boot.stlというファイル名は同じでも、Windowsバージョンやアーキテクチャが異なれば互換性があるとは限りません。
ファイル名や容量だけで判断せず、どのWindows環境から取得したものかを記録してください。
24H2と25H2を混在させている
Windows 11 24H2と25H2は、KB5121003適用後のビルド系列が異なります。
複数バージョンのメディアを管理している場合は、コピー元フォルダーを明確に分離します。
C:\BootStlSources
├─ 24H2
│ ├─ x64
│ └─ arm64
└─ 25H2
├─ x64
└─ arm64
セキュアブートを無効化して終わらせている
セキュアブートの無効化は、正しい修復方法ではありません。展開要件やセキュリティ基準を変更してしまうため、恒久対策として採用すべきではありません。
正しいboot.stlを配置し、セキュアブートを有効にした状態で起動できることを確認してください。
boot.wimだけを更新している
boot.wimの内部にboot.stlが存在していても、インストールメディア側の\efi\microsoft\bootへコピーされていなければ不足します。
WIMファイルの更新と、メディア外側のEFIファイル更新は別工程として扱ってください。
boot.stlだけ直して本番展開している
boot.stlの手動コピーは、0xc0430001に対する限定的な回避策です。
同じ更新処理でsetup.exe、setuphost.exe、EFIブートマネージャーなども不整合になっている場合は、起動後のWindowsセットアップで別の問題が発生する可能性があります。Microsoftのスクリプトがこれらのファイルも更新する構成になっているのは、メディア全体の整合性を保つためです。(Microsoft Learn)
boot.stlを配置しても0xc0430001が直らない場合
最初に、端末が本当に修復後のメディアを参照しているか確認してください。USB、ISO、PXEの切り替えが不完全で、古いメディアから起動しているケースがあります。
次に、以下を確認します。
boot.stlのコピー元がWindows 11 24H2/25H2のどちらなのか- x64とArm64を取り違えていないか
- コピー先が
\efi\microsoft\boot\boot.stlになっているか boot.wimへのKB5121003適用が正常終了しているか- Setup Dynamic UpdateとSafe OS Dynamic Updateが適切か
- 必要なチェックポイント累積更新プログラムを適用したか
- EFIブートマネージャーファイルも更新済みか
- ISOを修正後に再作成したか
- PXEや配布ポイントのキャッシュが更新されたか
ファイルが存在し、バージョンとアーキテクチャも正しいにもかかわらず起動できない場合は、手動修復を繰り返すより、元のWindowsインストールメディアからUpdate WinPEの手順で作り直す方が安全です。
また、カスタムメディアではなく、通常のWindows Update適用後に内蔵SSD上のWindowsが起動できなくなった場合は、この問題とは分けて調査してください。その場合は、WinRE、BitLocker、BCD、ストレージ、ドライバー、更新プログラムのロールバックなど、通常のWindows起動障害として切り分ける必要があります。
まとめ
KB5121003後の0xc0430001は、Windows 11 24H2/25H2の更新済みインストールメディアで、boot.stlが不足または不一致になっている場合に発生する可能性があります。
最初に確認する場所は、次のパスです。
<メディアルート>\efi\microsoft\boot\boot.stl
Microsoftが推奨しているのは、Update WinPEを含むスクリプトでWinPEとインストールメディア全体を更新し直す方法です。
緊急対応では、一致するWindows環境の次のファイルをコピーします。
C:\Windows\Boot\EFI\boot.stl
ただし、Windows 11 24H2と25H2、x64とArm64を混在させてはいけません。修復後はセキュアブートを有効にした状態で起動テストを行い、Windowsセットアップまで正常に進めることを確認してから、本番展開を再開してください。

コメント