検索
連載

Chromium版Edgeってホントに自動更新されているの? 心配なので見える化して検証その知識、ホントに正しい? Windowsにまつわる都市伝説(174)

Chromium版「Microsoft Edge」は、Google ChromeやMozilla Firefoxなど他のモダンブラウザと同様に自動更新機能を備えており、最新状態に維持されるようになっています。しかし、新しいものには不具合は付きもの、Chromium版Microsoft Edgeの自動更新がちゃんと機能しているのかどうか心配になったので確かめてみました。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

新Edgeの更新サイクルは、旧Edgeの月1回から約6日に1回へ

 Microsoftは2020年1月16日に「Chromiumベースの新しいMicrosoft Edge」(以下、新Edge)の初めての安定版(Stable)をリリースして以降、Windows Updateを通じて「Windows 10」標準の「Microsoft Edge(EdgeHTML版)」(以下、旧Edge)の新Edgeへの置き換えを段階的に進めてきました。

 そして、Windows 10 バージョン20H2(October 2020 Update)で新Edgeを標準ブラウザとして置き換えました。以下のアナウンスにあるように、旧Edgeは「2021年3月9日(米国時間)」のセキュリティ更新を最後にライフサイクルを終了します。まだWindows 10 バージョン2004以前で旧Edgeを利用している場合は、ライフサイクル終了までにWindows 10 バージョン20H2以降に更新するか、手動で新Edgeに置き換える必要があります。

 旧Edgeのセキュリティ修正およびその他の修正は、Windows 10の品質更新プログラムに含まれる形でWindows Update(またはWindows Server Update Services《WSUS》など、その他の更新チャネル)を通じて提供されてきました。セキュリティ問題に関しては、毎月1回(米国時間第2火曜日)の更新で最新状態に維持できるということになります。

 一方、新Edgeは、「Microsoft Edge Update」という独自の更新機能を備えており、より短いサイクルで更新が提供されます。更新バージョンの状況は、以下のリリースノートのサイトで確認できます(画面1)。

画面1
画面1 安定版(Stable)のリリースノートサイトで更新バージョンのリリース状況を確認できる

 短い期間に次々に更新バージョンがリリースされることもあり、あまりの多さに驚くかもしれません。2020年1月の安定版バージョン79(79.0.309.65)の一般提供開始から、同年11月のバージョン87(87.0.664.41)まで、実に54回のリリースがありました。平均すると大体「6日に1回」となる計算です。

 新Edgeは「Google Chrome」と同じ「Chromiumエンジン」を採用しており、こちらのリリース状況は以下のサイトで確認できます。Chromiumの更新バージョンがリリースされれば、それに対応してGoogle Chromeの更新バージョンもリリースされます。こちらは新Edgeと同じ期間に33回のリリース、平均すると大体「10日に1回」のペースです。

 新EdgeとChromiumのリリース状況を見れば、新Edge独自のコードに対する修正が多いことが想像できます。「Rapid Release(ラピッドリリース)」とはそういうものと言えばそれまでですが、「Stable」とは「安定版」ではない、筆者が知らない何か別の意味を持つのではないかと辞書で確かめたくなります。

Microsoft Edge Updateはちゃんと仕事をしているのか?

 筆者は新Edgeのリリース状況をリリースノートのページで毎日チェックし、更新バージョンがあると、すぐに新Edgeの「・・・」メニューから「ヘルプとフィードバック」→「Microsoft Edgeについて」(edge://settings/help)を開きます。

 こうすることで、Microsoft Edge Update(x64版の場合は「C:\Program Files (x86)\Microsoft\EdgeUpdate\MicrosoftEdgeUpdate.exe」)による更新バージョンのチェックが始まり、利用可能であれば最新バージョンのダウンロードとインストールが行われます。更新を完了するには、「Microsoft Edgeについて(バージョン情報)」ページの「再起動」をクリックして新Edgeを再起動する必要があります(画面2)。

画面2
画面2 「Microsoft Edgeについて(バージョン情報)」を開くと、更新バージョンの確認が始まり、利用可能な更新があればダウンロードとインストールが行われる(この画面は2020年10月20日時点)

 筆者は毎回、このように手動で更新しているため、自動更新についてあまり気にしていませんでした。しかし、手動で更新していないのに、比較的新しいバージョン(ただし最新ではない)に更新されていたPCがあったので、調べてみることにしました。

 自動更新がどのようにスタートするのかは、「タスクスケジューラ」(taskschd.msc)を開くとすぐに見つかりました(画面3)。ルート(\)にある「MicrosoftEdgeUpdateTaskMachineCore」と「MicrosoftEdgeUpdateTaskMachineUA」の2つのタスクが明らかに関係しています。恐らくこれらのタスクにより、1日1回は更新がチェックされていると想像します。少なくとも、ユーザーのログオン時には「MicrosoftEdgeUpdateTaskMachineCore」タスクが必ず実行されます。

画面3
画面3 新Edgeの自動更新を担う2つのスケジュールされたタスク

 次に、新Edgeで「Microsoft Edgeについて」(edge://settings/help)ページを開くと手動更新のプロセスが始まってしまうため、コマンドラインから現在の新Edgeのバージョンを調べる方法を考えました。

 次のPowerShellスクリプトを実行すると、その目的を達成できそうです。本来、「${env:ProgramFiles(x86)}(C:\Program Files (x86))」は64bit版のWindowsにおける32bitアプリケーションのプログラムフォルダですが、64bit版の新Edgeはなぜかこのパスにインストールされます。理由として考えられることは、一緒にインストールされる「MicrosoftEdgeUpdate.exe」が32bitアプリケーションであるということです。

(Get-ItemProperty "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
▲64bit版Windows(x64)の場合
(Get-ItemProperty "${env:ProgramFiles}\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
▲32bit版Windows(x86)の場合

 次のPowerShellスクリプトは、64bit版のWindows上で新Edgeのバージョン情報を60秒置きにチェックし、新バージョンに更新されたら停止します。

Write-Host "Start Monitor:" (Get-Date)
$currentver = (Get-ItemProperty "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
Write-Host "Current Edge ver:"$currentver
while(1) {
   $newver = (Get-ItemProperty "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
   if ($currentver -eq $newver) {
     Write-Host -NoNewLine "."
     Start-Sleep -seconds 60
   } else {
     Write-Host
     Write-Host "Stop Monitor:" (Get-Date)
     Write-Host "New Edge ver:"$newver
     break;
   }
}

 次のPowerShellスクリプトは「MicrosoftEdgeUpdate」プロセスが実行中であるかどうかを10秒置きにチェックし、実行中の場合は「+」、プロセスが存在しない場合は「_」を出力します。

Write-Host "MicrosoftEdgeUpdate process:"
while(1) {
  $procid = (Get-Process -ProcessName "MicrosoftEdgeUpdate" -ErrorAction SilentlyContinue).Id
  if ($procid.Length -eq 0) {
    Write-Host -NoNewLine "_"
  } else {
    Write-Host -NoNewLine "+"
  }
  Start-Sleep -seconds 10
}

 これらのスクリプトをログオン直後に実行すると、面白いことが分かりました。

 以下の画面4は、2020年10月20日に手動で更新した際にバージョン「86.0.622.48」を利用可能な時点で、ログオン直後に自動更新された様子です。最新バージョンではなく1つ前の「86.0.622.43」に更新されました。

画面4
画面4 最新バージョン「86.0.622.48」が利用可能なはずなのに、1つ前の「86.0.622.43」に更新された

 以下の画面5は、その2日後にログオン直後に自動更新された様子です。ここでその時点の最新バージョン「86.0.622.48」に更新されました。

画面5
画面5 画面4の2日後に確認すると、最新バージョン「86.0.622.48」に更新された

 以下の画面6は、さらにその翌日、手動で更新した場合にバージョン「86.0.622.51」を利用可能な時点で、ログオン直後に自動更新された様子です。このときは自動更新で最新バージョン「86.0.622.51」に更新されました。

画面6
画面6 手動更新でバージョン「86.0.622.51」が利用可能になった同じタイミングで、自動更新でも最新バージョンを取得した

 ここで前出の画面1のリリースノートをもう一度よく見てください。バージョン「86.0.622.43」および「86.0.622.48」と、バージョン「86.0.622.51」には明らかな違いがあります。

 バージョン「86.0.622.43」および「86.0.622.48」はバグとパフォーマンス問題の修正、バージョン「86.0.622.51」はセキュリティ問題の修正ということです。このことから、手動で更新した場合は、常に最新バージョンがチェックされることが分かります。自動更新の場合はセキュリティ問題の修正に関してはできるだけ早く受け取り、セキュリティ問題の修正を含まない更新は数日かけてロールアウトされるのではないかと想像できます。

 なお、自動更新で更新されるのは、新Edgeを起動していない場合だけでした。新Edgeを実行中も試してみましたが、数時間放置したり、タスクを手動で実行したりしても新バージョンに更新されることはありませんでした。

バージョン83以降の「プログレッシブロールアウト」だそうです

 何となく始めた自動更新の検証ですが、その後、以下の公式ドキュメントにたどり着きました。新Edgeのバージョン83(2020年5月リリース)から、安定版(Stable)チャネルの更新は「プログレッシブロールアウト」という方式が採用されているそうです。

 この方式では「更新プログラムの状態を注意深く監視し、数日間にわたって更新プログラムを展開」し、「重要なセキュリティ修正が含まれているブラウザの更新は、重要なセキュリティ修正が含まれていない更新よりも展開の頻度が高くなります」と説明されています。

 筆者はこれを実証したことになります。ちなみに、新Edgeのセキュリティ更新は、Chromiumエンジンの更新バージョンのリリースにほぼ一致し、同日リリースされるGoogle Chromeからは数日遅れで提供されます。

 新Edgeの自動更新については1つ注意点があります。新EdgeでWebサイトをブラウジングしている間は、自動更新の処理はスキップされるらしいことです。数時間放置してみても、タスクスケジューラで更新タスクを手動実行してみても、新バージョンに更新されることはありませんでした。

 常にWebブラウザを開いている状態でPCを利用している場合は、定期的に手動で更新をチェックすることをお勧めします。Chromiumに対するセキュリティ修正が新Edgeに反映されるにはどうしても1日以上のタイムラグがあります。特に、Chromiumのゼロデイ攻撃の脆弱(ぜいじゃく)性には敏感になって、手動で更新をチェックすることをお勧めします。新Edgeのウィンドウに更新バージョンの有無を通知してくれるとありがたいのですが、そのような機能はないようです(もしかしたらあるのかもしれせんが、筆者は見たことがありません)。

WSUSで更新を管理している場合は

 「Windows Server Update Services(WSUS)」を利用している場合は、管理者が承認した新Edgeの更新バージョンをWSUSクライアントに配布し、Windows Updateを通じて更新バージョンに更新することができます(注:WSUSは新Edgeの新規配布はできませんが、更新の配布は可能です)。

 その場合は、「グループポリシー」などでMicrosoft Edge Updateによる自動更新を無効にし、プログレッシブロールアウトや手動更新の影響を受けないようにしてください。新Edgeのポリシー管理用テンプレートは、「ビジネス向けMicrosoft Edgeのダウンロード」から入手できます。ポリシー設定は「管理用テンプレート\Microsoft Edgeの更新\アプリケーション\更新ポリシーのオーバーライドの既定値」にあります。

筆者紹介

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

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


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る