進まないWindows Update、やっぱり止まっていなかった山市良のうぃんどうず日記(97)(2/2 ページ)

» 2017年06月13日 05時00分 公開
[山市良テクニカルライター]
前のページへ 1|2       

「SoftwareDistribution\Download」ディレクトリに展開される膨大な更新パッケージ

 更新プログラムのダウンロードが「21%」のままで1時間が経過すると、多くの人がWindows Updateが問題を起こして止まったと思うでしょう。しかし、そのまま忍耐強く待つと、Windows Updateは正常に完了しました。Windows Updateがファイルをダウンロードしていないときに行っていることが、Windows Updateが進まないように見える本当の理由のようです。そこで、Windows Updateで更新プログラムをダウンロード中と、インストールの準備中の様子を別の視点から追跡してみました。

 Windows Updateでダウンロードされた更新プログラムは、「C:\Windows\SoftwareDistribution\Download」ディレクトリ(以下、「Download」ディレクトリ)にキャッシュされます。更新プログラムのダウンロードが「21%」の状態でこの「Download」ディレクトリを参照すると、3つのサブディレクトリがありました(画面4)。

画面4 画面4 更新プログラムのダウンロードが「21%」の時点の「Download」ディレクトリ

 タイムスタンプが最も若い「a7c69806080491fb70aef5c1bab0a77e」ディレクトリには、「Windows10.0-KB4013418-x64-EXPRESS.cab」と、200以上の更新関連ファイルが存在しました(画面5)。次に若い「9388c221258ef4cc86b721da3e6fef46」ディレクトリには「Windows10.0-KB4019472-x64-EXPRESS.cab」があり、最も古い「ab1c4e844137b73eb7aab3fe4ac824db」ディレクトリには数万個のファイルがありました。

画面5 画面5 「a7c69806080491fb70aef5c1bab0a77e」ディレクトリには、更新プログラム「KB4013418」用の関連ファイルが準備される

 「ab1c4e844137b73eb7aab3fe4ac824db」ディレクトリの内容は、最初は「Windows10.0-KB4019472-x64-EXPRESS.cab」を展開したもののようで、一時的に3万ファイル以上ありました。その後、サブディレクトリが作成されるなどして更新関連ファイルが準備され、インストールの準備段階になると「9388c221258ef4cc86b721da3e6fef46」ディレクトリに統合され、「ab1c4e844137b73eb7aab3fe4ac824db」ディレクトリは削除されました(画面6)。

画面6 画面6 この後、「ab1c4e844137b73eb7aab3fe4ac824db」ディレクトリは、「9388c221258ef4cc86b721da3e6fef46」ディレクトリに統合された

 この時点で2つの更新プログラム「KB4013418」と「KB4019472」のダウンロードと更新関連ファイルが準備できたようで、最後に「Install」ディレクトリが作成され、そこに「悪意のあるソフトウェア削除ツール」の実行ファイル「Windows-KB890830-x64-V5.48.exe」がダウンロードされ、更新プログラムのインストール準備中に実行されました(画面7)。

画面7 画面7 「悪意のあるソフトウェア削除ツール」が「Install」ディレクトリにダウンロードされ、インストールの準備中に実行された

Windows Sysinternalsのユーティリティーで詳しく追跡

 「Download」ディレクトリをエクスプローラーで眺めていても、どのような処理が行われているのか、なかなか動きが見えてきません。そんなとき、「Windows Sysinternals」のユーティリティーを使用すると、見えなかったものが見えてきます。

 「Process Monitor(Procmon)」を使用すると、「Download」ディレクトリに対するファイル操作をほぼリアルタイムで参照することができますし、それをネットワークのアクティビティーと関連付けて追跡することも可能です。更新プログラムのインストールの準備段階では、再起動が必要な更新プログラムについて、新しいコンポーネントを「C:\Windows\WinSxS」ディレクトリに配置している様子を見ることができます(画面8画面9)。

画面8 画面8 「ab1c4e844137b73eb7aab3fe4ac824db」ディレクトリで準備されたファイルが、「9388c221258ef4cc86b721da3e6fef46」ディレクトリに統合されている様子。ダウンロード途中で止まっているように見えても、実は大量のファイル操作が行われていた
画面9 画面9 更新のための再起動前に「C:\Windows\WinSxS」ディレクトリに更新されたシステムファイルを準備している様子

 「C:\Windows\WinSxS」は、Windowsのシステムファイルを管理しているディレクトリであり、複数バージョンのシステムファイルを保存している場合があります。更新プログラムによりシステムファイルが更新されると、このディレクトリ内にある最新のシステムファイルへのハードリンクの付け替えが行われます。

 例えば、「C:\Windows\Explorer.exe」は、「C:\Windows\WinSxS」ディレクトリ内の最新バージョンにハードリンクされています。ハードリンクとは、同じボリューム上の同じファイルをポイントしている複数のパスで、Windows Sysinternalsの「FindLinks」で確認できます(画面10)。また、Windows標準の「fsutil」コマンドを使って「fsutil hardlink list <ファイル名>」でも確認できます。

  • FindLinks(Microsoft TechNet:Windows Sysinternals)
画面10 画面10 「C:\Windows\WinSxS」ディレクトリには複数バージョンの「Explorer.exe」があるが、「C:\Windows\Explorer.exe」は最新バージョンにハードリンクされている

筆者が想像するWindows Updateの動き

 今回は、2017年5月末時点でWindows Server 2016を新規インストールし、Windows Updateの初回実行を追跡してみました。まとめると、図1のような処理が行われていると想像できます。

図1 図1 Windows 10とWindows Server 2016のWindows Updateは、こんな感じで動いていると筆者は想像

 2017年5月の累積的な更新プログラム「Windows10.0-KB4019472-x64-EXPRESS.cab」は35MB程度ですが、3万以上の更新関連ファイルを「Download」ディレクトリに展開し、数百MBの更新ファイルを準備します。サイズから考えて、「Windows10.0-KB4019472-x64-EXPRESS.cab」に全てが含まれているとは思えないので、必要なものはMicrosoft Updateからダウンロードしているのでしょう。この更新の必要性の確認に時間がかかっているものと思われます。

 Microsoft Updateカタログのサイトから「KB4019472」をダウンロードする場合、そのファイルサイズは1085.2MBと巨大です。しかも、そのインストールの際に更新の必要性の確認が省略されるわけではないと思うので、巨大なファイルのダウンロード時間を含めると、“手動ダウンロードとインストールで更新時間を短縮できる”ということにはならないと思います。

 Procmonで追跡すると、Windows Defenderが「Download」ディレクトリに展開されるファイルをスキャンしている様子が確認できます(前出の画面8の「MsMpEng.exe」)。このディレクトリをマルウェア対策の除外対象にすることで(除外してよいかどうかは別として)、Windows Updateの時間を短縮できる可能性はあります。

 更新プログラムのダウンロード中やインストールの準備中に再起動すると、もう一度、最初からやり直すことになると思います。また、終わらない再起動を途中で強制的にリセットすると、ファイルシステムに悪影響が生じる可能性があることが容易に想像できます。

 最後に、ちょっとだけ宣伝を。ProcmonやFindLinksの他、Windows Sysinternalsのツールの使い方については、筆者が翻訳した「Windows Sysinternals徹底解説 改訂新版」(日経BP社、http://ec.nikkeibp.co.jp/item/books/P98960.html)に詳しく説明されています。こちらもぜひ参考にしてください。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。