5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

この不親切な手順に救援を

Last updated at Posted at 2017-10-16

KB4041691 および KB4041676 の被害に遭われた方が多いと思います。
WSUS のブログで対処方法が出ていましたが
一番対応がしづらいシナリオ3をバッチ化してみました。
実際の被害に遭っていないのでテストはしていませんが
今後、起動不可能になるパッチが出た場合、
これを仕込んで置けば、復旧が楽になるかと思いアップしました。
起動しないとリモート不可能なので大変です。

※ インストールメディア や セーフモード での起動に対応しました。

再起動後、OSが起動できない状態の場合にインストールの保留中を削除.cmd
@echo off
SetLocal EnableDelayedExpansion

rem /;
rem /; 2017 年 10 月にリリースされた Windows 10 1607 / 1703 向け更新プログラム適用後に OS 起動不可になる問題について (WSUS)
rem /; https://blogs.technet.microsoft.com/jpwsus/2017/10/12/nobootissue_wsus/
rem /;
rem /; シナリオ 3. 再起動し、起動できない状態になった場合
rem /;
rem /;   1. 何度か起動に失敗すると、青い自動修復画面が表示されますので、[詳細オプション] をクリックします。
rem /;   2. [トラブルシューティング] ? [詳細オプション] - [コマンド プロンプト] をクリックします。
rem /; →3. コマンドプロンプトで以下のコマンドを実行し、Software ハイブをマウントします。
rem /; →4. 以下のコマンドを実行し、レジストリ キーを削除します。
rem /;      なお、環境によってはキーは存在しない場合がございますので、その際は次の手順に進んでください。
rem /; →5. 以下のコマンドを実行し、パッケージ情報を取得します。
rem /; →6. インストール済みのパッケージの一覧が表示されますので、状態が [保留中] となっているパッケージ ID を確認します。
rem /; →7. 手順 6 のパッケージ ID を使用して、以下のコマンドを実行し、削除します。
rem /; ⇒8. 保留中のパッケージをすべて削除しましたら、コマンドプロンプトを終了し、[続行] をクリックして再起動します。
rem /;                                                             ここまで ↑    ⇒ ここから手動
rem /;
rem /; -------------------------------------------------------------------------------------------------------------------
rem /; インストールメディア または WindowsPE    で起動した場合、パッケージの削除後に「シャットダウン」
rem /; -------------------------------------------------------------------------------------------------------------------
rem /; 自動修復             または セーフモード で起動した場合、パッケージの削除後に「Exit」
rem /; -------------------------------------------------------------------------------------------------------------------
rem /;

rem /;
rem /; OS があるドライブを選択したい場合
rem /;
rem /; set        OSドライブ= CDEFGHIJKL
rem /; choice /c %OSドライブ% /M "OS のドライブを指定して下さい ※ 通常は 「C」 その場合 「C」 キーを押す ⇒ "
rem /; call  set  OSドライブ=%%OSドライブ:~!errorlevel!,1%%
rem /;
rem /; REM /;Set        OSドライブ=C
rem /;

rem /;
rem /; フルオート(ドライブ選択無し)の場合
rem /;
rem /; REM /; set        OSドライブ= CDEFGHIJKL
rem /; REM /; choice /c %OSドライブ% /M "OS のドライブを指定して下さい ※ 通常は 「C」 その場合 「C」 キーを押す ⇒ "
rem /; REM /; call  set  OSドライブ=%%OSドライブ:~!errorlevel!,1%%
rem /;
rem /; Set        OSドライブ=C

REM /; set        OSドライブ= CDEFGHIJKL
REM /; choice /c %OSドライブ% /M "OS のドライブを指定して下さい ※ 通常は 「C」 その場合 「C」 キーを押す ⇒ "
REM /; call  set  OSドライブ=%%OSドライブ:~!errorlevel!,1%%

Set        OSドライブ=C


reg   load "HKLM\temp"   "%OSドライブ%:\Windows\System32\config\software"
reg delete "HKLM\temp\Microsoft\Windows\CurrentVersion\Component Based Servicing\SessionsPending" /f /v "Exclusive"
reg unload "HKLM\temp"
                                                          Set Image=/Online
if      "%WINDIR:~0,2%"=="X:"                             Set Image=/Image:%OSドライブ%:\

for /f "delims=" %%0 in                               ('Dism %Image% /ScratchDir:"%OSドライブ%:\Windows\temp" /Get-Packages') do (
        set  Msg=%%0
   if      "!Msg:~0,11!"=="パッケージ ID : "                                                                                            set "PackageID=!Msg:パッケージ ID : =!"
   if      "!Msg:~0,15!"=="状態 : インストールの保留中" Dism %Image% /ScratchDir:"%OSドライブ%:\Windows\temp" /Remove-Package /PackageName:"!PackageID!"
)

if      "%WINDIR:~0,2%"=="X:" Wpeutil Shutdown

exit
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?