本日はWindows7でWindows Update後に発生するちょっとした現象をご報告します。
Windows Update後の再起動で、「ステージ3/3」適用中のままでログオン画面が表示されない、という画面に出会ったことはありますか?
症状
Windows7でWindows Update後にPCが再起動しますよね?
アップデートによってはPC再起動後に、またWindows Updateの適用が動作します。
ステージ1/3⇒ステージ2/3⇒ステージ3/3、と進捗していくあの画面です。
通常であればこのステージ3/3までの処理ですべて完了したのち、
「ログオンするにはCtrl+Alt+Delを押してください。」
と表示され、ログオン待ち受け画面になるはずなのですが、
これがですね、たまに、
----------------------------------------------
ステージ 3/3
Windowsを構成するための準備中
コンピュータの電源を切らないでください。
----------------------------------------------
と表示されたまま画面が変わらないことがあるのです。
「終わらんのう…。」と思いつつ数時間待ってはいるがこの表示が変わらないし、HDDのインジケータを確認してもアクセスしている気配もないし…、まさかハングアップしてしまったのか?、と焦ったりがっかりしてしまったりするのですが、
安心してください。完了していますよ。
これはなんだろう?
この現象は
「正常にWindows Updateが完了していて、画面が変わらないだけ」
というケースがあります。
ドキドキしながら(そのうち数回は怒りに任せて)Ctrl+Alt+Del押下でログオン画面が表示されました。
この場合、待てども待てども終わらずしびれを切らして電源OFF、という方が多数派で、Ctrl+Alt+Delを押したら入れた!という方が過半数くらい、というところでしょうか。Ctrl+Alt+Del押下でログオンがスマートなのは言うまでもないです。
が、Ctrl+Alt+Delによるログオンはデフォルト状態のHome Editionを使っていると有効でないことがあります。ここで自分のPCの環境には当てはまらなくて電源OFFで対処してしまった方も多数派に入るのではないでしょうか?
少数派の対処方法がCtrl+Alt+Delを使わない方法で、Home Editionユーザの方に有効な方法です。
Ctrl+Alt+Del以外の手段でこの画面遷移を促すには、スリープやハイバネーションしてから再度電源投入が有効です。
ThinkPadでいえば「Fn+F4」でスリープ、「Fn+F12」でハイバネーションです。(キーはPCによって異なりますので、各々のお使いのPCでご確認ください。)
解決だけが必要なかたはここまでで問題ありません。
これ以降はサーバや重要なPCだからいきなりCtrl+Alt+Del押下は不安だ、という方向けの内容になります。
PsExecで詳しく調べてみる(裏付けを取る)
(ブームというわけではありませんが)またしてもPsExecを使って、シャットダウン中にプロセスを確認するためにプロセス一覧を表示してみました。
いきなりCtrl+Alt+Delが不安な場合、PsExecを使って他のコンピュータからプロセスの状況を確認することである程度いまの状態を知ることができます。
たまにはWindows7の起動、終了のメカニズムを知る知識としてプロセスを見てみるのはいかがでしょう。
環境
OS:Windows 7 Enterprise
Windowsインストール直後、Windows Updateを繰り返し掛けている状況
その他ソフトウェアのインストールはされていない(OSだけの)状態
この環境を別PCのPsExec接続でプロセス一覧を確認します。
※PsExecの手軽な使用法は、以前の記事をどうぞ
⇒<リモート接続操作最後の切り札=PSExec - treedown’s Report>
まずはデスクトップからWindows Update中の状態に対してプロセス一覧を表示した場合の画面です。
このときのPsExecからのプロセス一覧です。
----------------------------------------------
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 5,136 K
smss.exe 356 Services 0 60 K
csrss.exe 420 Services 0 2,208 K
wininit.exe 448 Services 0 72 K
csrss.exe 468 Console 1 7,464 K
winlogon.exe 508 Console 1 76 K
services.exe 556 Services 0 5,788 K
lsass.exe 564 Services 0 7,016 K
lsm.exe 572 Services 0 2,320 K
svchost.exe 672 Services 0 3,520 K
svchost.exe 748 Services 0 4,688 K
svchost.exe 832 Services 0 10,372 K
svchost.exe 880 Services 0 79,896 K
svchost.exe 908 Services 0 6,668 K
svchost.exe 932 Services 0 89,192 K
svchost.exe 108 Services 0 27,468 K
spoolsv.exe 1176 Services 0 1,484 K
svchost.exe 1204 Services 0 8,496 K
vmicsvc.exe 1300 Services 0 312 K
vmicsvc.exe 1320 Services 0 488 K
vmicsvc.exe 1340 Services 0 96 K
vmicsvc.exe 1360 Services 0 320 K
vmicsvc.exe 1392 Services 0 72 K
svchost.exe 1436 Services 0 6,012 K
SearchIndexer.exe 1544 Services 0 32,248 K
taskhost.exe 2536 Console 1 2,412 K
dwm.exe 1932 Console 1 2,796 K
explorer.exe 2156 Console 1 49,432 K
wmpnetwk.exe 2840 Services 0 8,840 K
svchost.exe 2168 Services 0 14,480 K
TrustedInstaller.exe 2176 Services 0 57,876 K
wuauclt.exe 1888 Console 1 2,028 K
VSSVC.exe 1984 Services 0 13,548 K
svchost.exe 2968 Services 0 5,572 K
wuauclt.exe 2896 Services 0 8,128 K
msiexec.exe 1188 Services 0 14,668 K
SearchProtocolHost.exe 2964 Services 0 9,168 K
WmiPrvSE.exe 1348 Services 0 6,016 K
mscorsvw.exe 2368 Services 0 9,236 K
mscorsvw.exe 268 Services 0 9,072 K
MicrosoftFixit50736.exe 2888 Services 0 3,044 K
msiexec.exe 2732 Services 0 7,584 K
msiexec.exe 212 Services 0 8,008 K
dllhost.exe 2336 Console 1 6,680 K
msiexec.exe 2208 Services 0 10,008 K
svchost.exe 2328 Services 0 5,240 K
taskhost.exe 3328 Services 0 10,280 K
PSEXESVC.EXE 3572 Services 0 4,672 K
cmd.exe 3820 Services 0 2,928 K
conhost.exe 3872 Services 0 3,092 K
mscorsvw.exe 4028 Services 0 40,900 K
tasklist.exe 4072 Services 0 5,636 K
WmiPrvSE.exe 2832 Services 0 6,260 K
C:\Windows\system32>
----------------------------------------------
Windows Updateの動作履歴を取得するプロセスwuauclt.exeがあります。
この時はデスクトップ環境(Windowsシェル環境)が有効なのでまだRDPも使えますし、PowershellのRemoteアクセスも可能です。
上記のプロセス一覧の差分として、
"シャットダウンプロセス(適用のための再起動)"
を実行させると以下のプロセスが消えます。(多少重複有、ご容赦を)
----------------------------------------------
taskhost.exe 2536 Console
dwm.exe 1932 Console
explorer.exe 2156 Console
wmpnetwk.exe 2840 Services
wuauclt.exe 1888 Console
MicrosoftFixit50736.exe 2888 Services
msiexec.exe 2732 Services
msiexec.exe 212 Services
dllhost.exe 2336 Console
msiexec.exe 2208 Services
svchost.exe 2328 Services
taskhost.exe 3328 Services
PSEXESVC.EXE 3572 Services
cmd.exe 3820 Services
conhost.exe 3872 Services
mscorsvw.exe 4028 Services
tasklist.exe 4072 Services
WmiPrvSE.exe 2832 Services
----------------------------------------------
※ちなみにMicrosoftFixit50736.exeなどは適用中のKBなので名前はバラバラです。
でシャットダウンが実際に進行すると以下のようなプロセス一覧になります。
このときのプロセス一覧です。
----------------------------------------------
シャットダウン中のアップデート適用タスク実行中
----------------------------------------------
C:\Windows\system32>tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 976 K
smss.exe 356 Services 0 96 K
csrss.exe 420 Services 0 3,212 K
wininit.exe 448 Services 0 2,800 K
csrss.exe 468 Console 1 5,948 K
winlogon.exe 508 Console 1 4,104 K
services.exe 556 Services 0 5,504 K
lsass.exe 564 Services 0 6,788 K
lsm.exe 572 Services 0 2,960 K
svchost.exe 672 Services 0 3,624 K
svchost.exe 748 Services 0 4,712 K
svchost.exe 832 Services 0 10,924 K
svchost.exe 880 Services 0 77,252 K
svchost.exe 908 Services 0 7,172 K
svchost.exe 932 Services 0 24,888 K
svchost.exe 108 Services 0 10,556 K
spoolsv.exe 1176 Services 0 2,544 K
svchost.exe 1204 Services 0 7,804 K
vmicsvc.exe 1300 Services 0 360 K
vmicsvc.exe 1320 Services 0 2,028 K
vmicsvc.exe 1340 Services 0 148 K
vmicsvc.exe 1360 Services 0 368 K
vmicsvc.exe 1392 Services 0 116 K
svchost.exe 1436 Services 0 6,816 K
SearchIndexer.exe 1544 Services 0 19,004 K
svchost.exe 2168 Services 0 18,696 K
TrustedInstaller.exe 2176 Services 0 439,556 K
msiexec.exe 1188 Services 0 13,988 K
svchost.exe 2328 Services 0 3,720 K
PSEXESVC.EXE 3572 Services 0 3,808 K
cmd.exe 3820 Services 0 2,876 K
conhost.exe 3872 Services 0 2,916 K
svchost.exe 3928 Services 0 5,080 K
mscorsvw.exe 1928 Services 0 6,136 K
mscorsvw.exe 3816 Services 0 5,336 K
VSSVC.exe 2580 Services 0 6,564 K
WmiPrvSE.exe 212 Services 0 6,828 K
LogonUI.exe 1716 Console 1 17,412 K
SearchProtocolHost.exe 3544 Services 0 8,012 K
SearchFilterHost.exe 3452 Services 0 5,020 K
LogonUI.exe 3108 Services 0 16,368 K
poqexec.exe 2856 Services 0 3,652 K
tasklist.exe 3992 Services 0 5,644 K
C:\Windows\system32>
----------------------------------------------
デスクトップ環境(Windowsシェル環境)がシャットダウンプロセスによって停止したので、プロセスからexplorer.exeが消えました、
引き続きシャットダウンからアップデート適用が動作します。
シャットダウンプロセスが開始してからアップデート適用⇒完了まではほとんどプロセスには変化が見られない状況です。
最後は再起動後、完了しているのにこの画面でもし止まっていた場合のプロセス一覧です。
----------------------------------------------
再起動後のアップデート適用後
----------------------------------------------
C:\Windows\system32>tasklist
イメージ名 PID セッション名 セッション# メモリ使用量
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 1,180 K
smss.exe 332 Services 0 968 K
csrss.exe 424 Services 0 4,964 K
wininit.exe 452 Services 0 4,956 K
csrss.exe 468 Console 1 3,840 K
winlogon.exe 508 Console 1 6,888 K
services.exe 556 Services 0 7,696 K
lsass.exe 564 Services 0 10,020 K
lsm.exe 572 Services 0 5,176 K
svchost.exe 668 Services 0 7,880 K
svchost.exe 740 Services 0 6,336 K
svchost.exe 804 Services 0 14,168 K
LogonUI.exe 824 Console 1 22,924 K
svchost.exe 880 Services 0 53,116 K
svchost.exe 920 Services 0 10,056 K
svchost.exe 952 Services 0 28,664 K
TrustedInstaller.exe 108 Services 0 12,332 K
svchost.exe 996 Services 0 14,160 K
spoolsv.exe 1168 Services 0 8,692 K
svchost.exe 1196 Services 0 10,020 K
vmicsvc.exe 1292 Services 0 5,656 K
vmicsvc.exe 1316 Services 0 8,976 K
vmicsvc.exe 1344 Services 0 3,964 K
vmicsvc.exe 1368 Services 0 4,204 K
vmicsvc.exe 1396 Services 0 4,268 K
svchost.exe 1428 Services 0 9,480 K
svchost.exe 1468 Services 0 8,792 K
svchost.exe 2008 Services 0 4,804 K
PSEXESVC.EXE 2744 Services 0 4,704 K
cmd.exe 2812 Services 0 2,888 K
conhost.exe 2820 Services 0 3,060 K
mscorsvw.exe 2928 Services 0 5,448 K
mscorsvw.exe 3004 Services 0 6,180 K
sppsvc.exe 3044 Services 0 12,636 K
svchost.exe 1116 Services 0 34,620 K
SearchIndexer.exe 2264 Services 0 32,100 K
SearchProtocolHost.exe 2400 Services 0 10,948 K
SearchFilterHost.exe 2420 Services 0 6,012 K
tasklist.exe 2520 Services 0 5,620 K
WmiPrvSE.exe 2584 Services 0 6,152 K
C:\Windows\system32>
----------------------------------------------
再起動後にはプロセスがこのような状態になっています。
LogonUI.exeプロセスが2つあったのが1つになる
以下のプロセスが消える
msiexec.exe
poqexec.exe
VSSVC.exe
以下のプロセスが増える
sppsvc.exe
msiexec.exeはWindows UpdateのKBインストール中だったのがインストール完了後ログオン準備状態になれば消えてしまう、というは合点がいきます。poqexec.exeはプリミティブインストーラとか申す関連プロセスだと思われます。おそらくKBインストールでプリミティブインストーラが使われているのでプロセスとして登場しているのだとおもわれます。
当然インストール動作をPCが実行しているのでボリュームシャドウコピー(VSSVC.exe)が動作するのも合点がいきます。
これらがなくなっている場合にはWindows Updateは正常終了していると判断できます。
ログオン準備が完了したところでSoftware Protectionサービス(ライセンスアクティベーション関連?)のプロセスであるsppsvc.exeが起動してくるようです。
いまのところsppsvc.exeでしかKBのインストールが完了してログオン待ち受けかどうかを判別できないという結論に至りました。