2018年10月10日、問題がなければWindows 10 バージョン1809(October 2018 Update)の機能更新プログラムが配信される予定だったが、その問題が起きてしまった。Microsoftの公式ブログによれば、バージョン1809更新後にファイルが消えてしまう報告が同社に寄せられたという。ただし、この被害に見舞われたのは2018年10月2日に手動更新を行ったユーザーの0.01%だと同社は説明する。

このトラブルはKFR(Known Folder Redirection: 既存フォルダーのリダイレクション)に関連するもの。このKFR機能はフォルダーのプロパティダイアログにある<場所>タブや、OneDriveおよびOneDrive for Businessの「重要なフォルダーの保護」機能が利用している。

  • KFRを用いた機能の1つ

  • OneDriveでもKFRを使用する

有効にしても、元の古いフォルダーから新しいフォルダーにファイルを移動しなかったなど、古いフォルダーにファイルが残っていた場合に「古い」フォルダーのファイルが削除されるそうだ。

KFRによる問題だが、Microsoftは2018年4月の時点でフィードバックを受け取っており、バージョン1809機能更新プログラムには、重複かつ空のフォルダーを削除するコードを導入している。その結果、古いフォルダーを削除して新しいフォルダーが残り、冒頭述べたファイル削除という問題が発生した。

Microsoftは既に10月9日の時点で今回のバグを修正するKB4464330をリリースし、本件とは異なるリスクを抱えるバグを修正している。ソフトウェアである以上、バグを駆逐するのは難しい。本来であればWindows Insider Programで明らかになるバグのはずだが、同プログラム参加者全員がKFRに関連する機能を一切使っていないとは考えにくい。

バグが露呈しなかったのは、Microsoftの開発プロセスでは考えにくいものの、OSビルド17763ないし17763.1に先のコードを追加した可能性も拭い切れない。本件に関しては日本マイクロソフトも迅速に対応し、前述の英文公式ブログの抄訳を時差の関係から、ほぼリアルタイムとなった10日に公開した。

  • KB4464330を適用すると、OSビルドは17763.55となる

いずれせよ、OSの品質を担保するには要件定義やテストを重ねるウォーターフォール型の方が優れているものの、昨今の開発スタイルを鑑みれば、Windows 10 Insider Previewのように、反復を重ねて機能を実装するアジャイル型が求められる。今回はRTM以降に発生し、「ファイルの削除」というエンドユーザーに直結する重大なバグだったため、大きな話題として取り上げられた。

現在は更新プログラムとして月1リリースを行っているものの、Windows 10以前は半年から1年に1回、それまでのバグや仕様変更を含めたService Packを提供していた。短いサイクルでの更新が求められる現状を踏まえると、Service Packスタイルは旧態依然といえる。

「あくまでもOSは安定性を優先したい」と考える方は半期チャネル(対象指定)ではなく、CBBに相当して約4カ月の延期が発生する半期チャネルの選択を考慮するのも一案である。ただし、Homeエディションは更新プログラムのチャネル選択は提供されず、レジストリエントリーも無効のため、Proエディションへアップグレードする必要がある。

  • Proエディションならチャネル変更も選択肢の1つ

  • Homeエディションは設定不可能のため、Proエディションへのアップグレードがお薦めだ

阿久津良和(Cactus)