Windows Update エラー0x8000ffffを解決|KB5065426/KB5064401が失敗する原因はEFIパーティション容量不足―安全な応急処置と恒久対策

Windows 11 の累積更新プログラム「KB5065426」「KB5064401」が何度試しても失敗し、エラー 0x8000ffff が表示される場合、原因の多くは EFI(システム)パーティションの空き容量不足です。本記事では、更新を通すための応急処置から、再発を防ぐ恒久対策まで、実際に効果のある具体的な手順を安全面の注意点とともに詳しく解説します。

目次

症状の概要と結論(最短で知りたい人向け)

  • 環境:Windows 11 Home。更新プログラム KB5065426 / KB5064401 のインストールに失敗。
  • エラー:0x8000ffff(E_UNEXPECTED)。「致命的な障害」と表示されるが、実態は「EFI パーティションに空きがないため、ブート関連のファイル展開に失敗」しているケースが多い。
  • 結論:EFI を一時的にマウントして大きな不要ファイルを移動/削除すると更新が通る。恒久対策としてEFI を 200MB 以上(推奨 500MB 目安)に拡張すると再発しにくい。

なぜ発生するのか:EFI(システム)パーティションの構造と容量の落とし穴

メーカー製 PC では、出荷時に 約 100MB 前後の EFI パーティションが作成されることが少なくありません。通常は十分に見えますが、次の要因が重なると 空き容量が逼迫します。

  • BIOS/UEFI の更新が繰り返され、リカバリファイル(例:Dell の BIOS_PRE.rcv)が蓄積。
  • Windows の更新でブート関連ファイル(言語フォントやブートローダー)の一時展開が必要になる。
  • BitLocker、マルチブート、言語パックの追加などでブート領域のファイルが増加。

この結果、Windows Update がブート領域に書き込み・検証を行う段階で失敗し、0x8000ffff の総称的エラーとして表面化します。

安全のための準備(必読)

  • 管理者権限のコマンド プロンプト(または PowerShell)を使用してください。
  • BitLocker を有効にしている場合は、回復キーを事前に控える(Microsoft アカウント/紙/USB など)。EFI 操作やパーティション変更で再起動後に回復キーの入力が求められる場合があります。
  • パーティション操作は「データ非破壊方式」でも、万一に備えてバックアップ(システムイメージや重要データのコピー)を強く推奨します。
  • ベンダー固有のファイル(例:Y:\EFI\Dell\...)はメーカーによってパスが異なります。必ず容量の大きいファイルを確認してから対象を移動/削除してください。

まずはこれで通す:EFI に一時的な空きを作って更新を完了させる

以下の表は、「空き容量を作る → どれが重いか確認 → 必要なら恒久対策へ」という流れをまとめたものです。
コマンドは 管理者権限のコマンド プロンプトで実行してください。

目的手順補足
一時的に空き容量を作って更新を通すEFI パーティションを仮想ドライブ Y: に割り当てる mountvol Y: /s サイズの大きい BIOS リカバリファイルなどを システムドライブ(C:)へ移動 move Y:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv C:\ (必要に応じて)フォント等の不要ファイルを移動または削除 del /q Y:\EFI\Microsoft\Boot\Fonts\*.ttf一般的なメーカー製 PC は EFI ≒100MB が既定。繰り返しの BIOS アップデートでリカバリファイルが蓄積し、容量逼迫→更新失敗が起きやすい。 より安全な代替:削除ではなく一旦 C:\EFI_Backup\ 等に移動して更新後に様子を見る方法も可。 更新が完了したら mountvol Y: /d でドライブ文字の割り当てを解除可。
空き容量の確認どのファイルが容量を消費しているか上位から確認: powershell -command "gci Y:\ -File -Recurse | sort Length -desc | select FullName,Length -first 10" EFI の中身を一覧: dir Y:移動・削除候補を把握し、容量が十分に確保できたら Windows Update を再実行。
恒久対策(推奨)サードパーティ製パーティションツール(例:AOMEI Partition Assistant 無料版 など)で、EFI を 200MB 以上(目安 500MB)に拡張。操作は通常「データ非破壊」だが、念のため事前バックアップを。 容量を十分に確保すると、将来の機能更新や BIOS アップデートでも余裕が生まれ、再発確率が大幅に低下。

詳細手順(スクリーン実行に慣れていない方向けの丁寧版)

Step 1:EFI を Y: にマウント

  1. スタートメニューで「cmd」と入力 → 右クリック → 管理者として実行。
  2. 以下を実行して EFI を Y: に割り当てます。
mountvol Y: /s

成功するとエクスプローラーに Y: が現れ、Y:\EFI\Microsoft\Boot などが見えるようになります。

Step 2:サイズの大きいファイルを退避

まずは占有の大きいファイルを調べます。

powershell -command "gci Y:\ -File -Recurse | sort Length -desc | select FullName,Length -first 10"

出力の上位に ...EFI\Dell\Bios\Recovery\BIOS_PRE.rcv など数十 MB のファイルが並ぶ場合は、以下で C:\ へ移動します(Dell 例)。

move Y:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv C:\

HP/Lenovo/ASUS 等も似た位置にベンダー独自の復旧ファイルを保有することがあります。ベンダー名のフォルダを探してサイズ順に確認し、OS ブートに必須でない復旧ファイルのみを移動/削除します。

Step 3:Fonts の整理(必要時)

Y:\EFI\Microsoft\Boot\Fonts 配下のフォントは多言語ブート画面の表示に用いられます。容量が逼迫している場合に限り、リスクを理解したうえで以下を実行します。

  • 安全寄りの案:まずは退避(推奨)
mkdir C:\EFI_Backup\Fonts
move Y:\EFI\Microsoft\Boot\Fonts\*.ttf C:\EFI_Backup\Fonts\
  • 割り切って空ける案:削除(復元できないので慎重に)
del /q Y:\EFI\Microsoft\Boot\Fonts\*.ttf

再起動後のブートメニューの多言語表示に影響する可能性はありますが、通常の起動自体に致命的影響は出ないことが多いです。心配なら退避案を選び、更新完了後に必要に応じて戻しましょう。

Step 4:更新を実行 → 完了後に割り当て解除

  1. 空きが作れたら「設定 → Windows Update → 更新プログラムのチェック」から再実行します。
  2. 完了後、割り当てたドライブ文字を解除します。
mountvol Y: /d

再発防止の恒久対策:EFI を 200MB~500MB に拡張する

更新が通っても EFI の空きが少ないままでは再発しがちです。信頼できるパーティションツール(例:AOMEI Partition Assistant 無料版等)を使い、EFI を 200MB 以上(目安 500MB)へ拡張しましょう。一般的な流れは以下です。

  1. バックアップを取得(システムイメージ推奨)。BitLocker の回復キーも再確認。
  2. C: の後方を数百 MB 縮小し、未割り当て領域を作成(ツール上の操作)。
  3. EFI と C: の間に別パーティション(MSR/回復など)が挟まっている場合、必要に応じて順序を入れ替え、EFI の直後に未割り当て領域が来る形に調整。
  4. EFI パーティションを拡張し、合計 200~500MB に設定。
  5. 再起動して Windows が正常に起動することを確認。必要なら mountvol Y: /s で中身を確認し、空きが十分あるかチェック。

ツールの画面遷移や用語は製品によって異なりますが、「EFI と同一ディスク上で、EFI の直後に未割り当て領域を用意し、そこへ拡張する」という原理は共通です。

それでも失敗する場合の併用策(システム整合性の回復)

EFI の空きを確保しても不整合が残る場合は、次の一般的な修復手順を併用してください。

DISM / SFC

DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

Windows Update コンポーネントの初期化

net stop wuauserv
net stop bits
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
net start bits
net start wuauserv

実行後に再起動し、更新を再試行します。

原因切り分けのためのチェックポイント

観点確認方法目安 / 期待結果
EFI のサイズディスクの管理(diskmgmt.msc)や PowerShell で確認: powershell -command "Get-Partition | ? GptType -eq '{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}' | ft DiskNumber,PartitionNumber,Size"100MB 台なら逼迫しやすい。200~500MB に拡張すると安定。
EFI の空き容量Y: をマウント後、サイズ上位を確認: powershell -command "gci Y:\ -File -Recurse | sort Length -desc | select FullName,Length -first 10"BIOS リカバリや Fonts 配下が占有していれば移動/削除で改善可。
ログの兆候C:\Windows\Logs\CBS\CBS.log、C:\Windows\Logs\DISM\dism.log、必要に応じて Get-WindowsUpdateLog で生成。ブート関連のコピー/検証で失敗している記述が見つかることがある。
ウイルス対策ソフト一時停止しても改善なしなら原因ではない可能性が高い。本件はEFI 容量不足が主因で、サードパーティ AV(例:Malwarebytes)は通常無関係。

ベンダー別にありがちな EFI 内の大容量ファイル例

以下はあくまで一例です。削除前に必ず退避し、自己責任で実施してください。

メーカー例備考
DellY:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv数十 MB 規模のことがある。移動で即効性。
HPY:\EFI\HP\SystemDiags\*.bin など診断・復旧関連で肥大化することあり。
LenovoY:\EFI\Lenovo\...機種別に構成が異なるため要確認。
ASUS / Acer 他Y:\EFI\ASUS\...、Y:\EFI\ACER\...BIOS 更新履歴やツールが残る場合あり。

EFI で「絶対に消してはいけない」代表例

  • Y:\EFI\Microsoft\Boot\BCD / BCD.LOG*
  • Y:\EFI\Microsoft\Boot\bootmgfw.efi、bootmgr.efi、memtest.efi など起動関連
  • 他 OS(デュアルブート)を使っている場合のブートローダー(例:Y:\EFI\ubuntu\grubx64.efi)

誤って削除すると起動不能に陥る恐れがあります。必ず「サイズ上位の復旧ファイル」や「言語フォント」など起動に致命的でない項目から対処してください。

一時対処を自動化:Dell 環境の具体例(応用)

以下は Dell 環境を想定した一時対処のサンプルです。必ず自分の環境に合わせてパスを確認してから実行してください。

@echo off
setlocal
echo === Mount EFI to Y: ===
mountvol Y: /s

echo === List top 10 large files in EFI ===
powershell -command "gci Y:\ -File -Recurse | sort Length -desc | select FullName,Length -first 10"

echo === Create backup folder if not exists ===
if not exist C:\EFI_Backup mkdir C:\EFI_Backup

echo === Move Dell BIOS recovery if exists ===
if exist "Y:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv" move "Y:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv" C:\EFI_Backup\

echo === (Optional) Move Fonts to backup ===
if not exist C:\EFI_Backup\Fonts mkdir C:\EFI_Backup\Fonts
move Y:\EFI\Microsoft\Boot\Fonts*.ttf C:\EFI_Backup\Fonts\

echo === Unmount Y: ===
mountvol Y: /d

echo Done. Please retry Windows Update.
endlocal

よくある質問(FAQ)

Q. 0x8000ffff はウイルス対策ソフト(Malwarebytes 等)が原因?

A. 今回のパターンでは無関係です。0x8000ffff は総称的な「想定外の失敗」を示すコードで、実体は「EFI 空き不足」によるブート領域の書き込み失敗が主因でした。

Q. EFI を拡張したのに再発します。

A. ベンダーの BIOS 更新で再び大きなファイルが置かれることがあります。mountvol Y: /s → 容量確認 → 不要ファイル退避で再度解消できるケースが大半です。恒久的には 500MB 程度まで余裕を確保するのがおすすめです。

Q. フォントを削除しても大丈夫?

A. ブート画面の多言語表示に影響する可能性があります。まずは 移動(退避)で様子を見るのが安全です。更新完了後に必要なものだけ戻す運用が現実的です。

Q. ほかに何を試すべき?

A. DISM / SFC による整合性修復、SoftwareDistribution/catroot2 のリセットを併用。改善がない場合は インプレース アップグレード(上書き修復)も有効です(ISO からセットアップ実行→個人用ファイルとアプリを引き継ぐ)。

トラブル発生時の復旧ヒント

  • 起動できない:回復環境(WinRE)から「スタートアップ修復」や「システムの復元」を試す。BitLocker 回復キーを用意。
  • EFI を誤って編集:退避しておいたバックアップから戻す。最悪はインストールメディアで「ブートの再構築」(bootrec /fixboot など)を検討。
  • ベンダー固有のフォルダを消しすぎた:BIOS/UEFI ユーティリティで再生成されることもあるが、基本は削除より「退避」優先。

最終チェックリスト(この順でやれば通りやすい)

  1. 管理者権限でコンソール起動。回復キーとバックアップを確認。
  2. mountvol Y: /s で EFI をマウント。
  3. サイズ上位を確認し、ベンダー復旧ファイルや Fonts を 退避 or 削除。
  4. 空きが確保できたら Windows Update を再実行(KB5065426 / KB5064401)。
  5. 必要に応じて DISM / SFC と コンポーネント初期化も併用。
  6. 更新が完了したら mountvol Y: /d でアンマウント。
  7. 時間のあるタイミングで EFI を 200~500MB に拡張して再発を予防。

まとめ

0x8000ffff は「致命的な障害」を示す汎用コードですが、Windows 11 の KB5065426 / KB5064401 失敗の多くは EFI パーティションの空き不足が実際のボトルネックです。
応急処置として mountvol Y: /s → 容量の大きい復旧ファイルやフォントの退避/削除で更新を通し、恒久対策として EFI を 200MB 以上(推奨 500MB)に拡張すれば、今後の更新・BIOS アップデート時にも安定して運用できます。

付録:参考コマンド集(コピー用)

:: 管理者権限のコマンド プロンプトで

:: EFI を Y: にマウント
mountvol Y: /s

:: EFI のサイズ上位 10 ファイルを確認
powershell -command "gci Y:\ -File -Recurse | sort Length -desc | select FullName,Length -first 10"

:: Dell の BIOS リカバリファイルを退避(例)
move Y:\EFI\Dell\Bios\Recovery\BIOS_PRE.rcv C:\

:: Fonts を退避(安全策)
mkdir C:\EFI_Backup\Fonts
move Y:\EFI\Microsoft\Boot\Fonts*.ttf C:\EFI_Backup\Fonts\

:: (割り切る場合)Fonts を削除(自己責任)
del /q Y:\EFI\Microsoft\Boot\Fonts*.ttf

:: EFI のドライブ文字割り当て解除
mountvol Y: /d

:: DISM / SFC
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow

:: Windows Update コンポーネントの初期化
net stop wuauserv
net stop bits
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren %windir%\System32\catroot2 catroot2.old
net start bits
net start wuauserv

この記事で解決できること

  • Windows Update エラー 0x8000ffff の実体と対処の理解
  • KB5065426 / KB5064401 の更新失敗を短時間で抜けるための実践的手順
  • 将来の更新や BIOS アップデートでも困らない再発防止策

同様の症状が再発した場合は、本記事の「一時的に空きを作る」手順を繰り返すだけで解決できるケースが大半です。とはいえ、根本解決は EFI の拡張。時間の確保ができ次第、恒久対策に踏み切りましょう。

この記事を書いた人

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

コメント

コメントする

目次