treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Windows11 24H2の適用が0xc1900208で失敗する

強制適用が始まってから、エラーで適用が失敗していたWindows11 24H2へのアップグレードについて、エラーの原因を調査してみたためご報告します。
原因は一般的じゃないソフトだったので、あまり当てはまる環境は少なそうです。

Windows11 24H2適用エラー

2月下旬になって毎日のように24H2適用失敗のエラーメッセージが表示されるようになりました。以前にWDのファームウェアアップデートを実施していたので、24H2への障害はないと思っていたのですが、まだなにか問題になる箇所があるようで、これを調査してみることにしました。

エラーは「インストールに失敗しました - 0xc1900208」と表示されています。
対象の環境はThinkPad X13で無償アップグレードしたWindows11 Pro環境となります。

0xc1900208の意味

「0xc1900208」の示すところは、アップグレードに際して、アップグレード対象のバージョン(今回は24H2)に対応していないアプリケーションか周辺機器(デバイスドライバ)が現在のWindows環境内に存在していることが検出されたため、0xc1900208を表示してインストールを実行しない、という状態になっているようです。

とりあえず、でやってみたが効果なし

アプリケーションもいろいろインストールしていますし、USB経由で周辺機器も様々接続して使っています。どれが要因かを探すのも一苦労です。

ひとまず、ざっと調べて見たところ、セキュリティソフトが原因(Trendmicro/Symantec/McAfeeなど)で0xc1900208が発生する事例がよく出てきたため、対象の環境にインストールされていたスーパーセキュリティをアンインストールして様子を確認してみることにしました。

が、0xc1900208に対してはまったく効果がなかったようで、特に動作の影響はありませんでした。0xc1900208は継続しています。

自動更新では何が悪いか情報が少ないこともあり、時間を取って手動で実行してみることにしました。

手動で実行してみる

Windows Update画面の「再試行」とある箇所をクリックして、Windows 11 Update画面を表示させて処理を進めてみることにしました。どんなエラーが出るか目視することが目的です。

さしあたり処理は進んでいきます。

進捗も画面のように「インストール中 - 14%」という具合に進んでいきました。

これでしばらく待っていると以下の画面、

「次の作業が必要です」という画面になり、VirtualBoxのアンインストールを要求される表示になり、アップグレードが待ち状態になりました。

しかし、VirtualBoxはこの環境にインストールしていません。何かに含まれていて知らないうちにインストールされたのかなぁと思いましたが、インストーラでインストールしたアプリケーションでVirtualBoxが同時にインストールされた記憶もなく、探すにしてもなかなか苦労しました。

インストールしていないVirtualBoxの正体を探る

巷では「NOXplayer」「BlueStacks」といったアプリケーションでVirtualBoxがエミュレート処理に組み込まれているケースがあるそうで、前述のメッセージが表示される、という事例があることは調べると出てきました。

ただ、この環境では(前述のように)こういったVirtualBox依存のアプリケーションはインストールしていないハズなんですよね。何とかVirtualBoxが検出されている要因を探し出す方法がないものかといろいろ調べてみました。

その結果、海外のMicrosoftコミュニティの過去の記述にヒントがありました。

https://answers.microsoft.com/en-us/windows/forum/all/windows-10-upgrade-cant-complete-due-to-error-some/59404919-d635-4e0c-9f54-bbc8fc24b843

にある記述を参考に探ってみます。

前述のURLにある検索対象の「_APPRAISER_HumanReadable.xml」で終わるファイルというのは、

<C:\$WINDOWS.~BT\Sources\Panther>

にある24H2のインストール時に生成される.xmlファイルです。<C:\$WINDOWS.~BT\Sources\Panther>の中で該当しそうなファイルを探していったところ、

例)「AfAMIp2JkEKccxl1.17.2.2.1.2.53.0.0_APPRAISER_HumanReadable.xml」

という具合にランダム文字列を頭に付けた該当ファイルが複数見つかりました。どうやら0xc1900208エラーで失敗した数だけ生成されているように見えます。
このなかで、タイムスタンプが一番新しいファイル(上記)を開いて確認してみました。

ファイルを開いて手順を実行していきます。
DT_ANY_FMC_BlockingApplicationを検索し、Value="TRUE"となっているものを探す、という記載があるので、検索してみました。

ありました。一行だけ「Value="TRUE"」となっている行を発見しました。

そこから下にスクロールして(URLでは約28行とありますが、アプリによります。)
LowerCaseLongPathUnexpanded
の行を探していきます。以下が見つかった画像です。

見つかった箇所のファイルパスには以下のように記載されています。

LowerCaseLongPathUnexpanded" Value="%public%\userprograms\linuxlive usb creator 2.9.4\tools\virtualbox\portable-virtualbox\app64\virtualbox.exe

前述のURLによれば、このファイル「virtualbox.exe」がディスク上に存在していると大型アップデートが進まないということのようです。ファイルを移動するか削除する必要がある、と記載があります。

対象となったアプリケーション

結局、原因となっていたソフトは「LinuxLive USB Creator」というアプリケーションでした。

これはインストールしていたわけではないのですが、Exe実行タイプのアプリケーションで、確かに対象のファイルパスにVirtualBox.exeというファイルが含まれていることが確認できました。それにしてもこれが引っ掛かるって24H2アップグレード処理中にファイル全検証しているのでしょうか。

ひとまず、USBメモリにでもファイルを移動し、対象のWindows11内には上記ファイルが存在しないようにしました。

これで「次の作業が必要です」画面上の「情報の更新」ボタンをクリックすると、以下のように、

作業が進んでいき、

「あともう少しです」画面となり、インストールが進んでいきました。

再起動を促すメッセージが表示され、

再起動すると24H2の適用が進んでいきます。(ここが長い)

再び起動してきて、サインインし、バージョンを確認しました。

確認したところ、無事24H2にバージョンアップできたようです。

こうして、時間が掛かったものの24H2へのバージョンアップは完了できました。あとは、当てずっぽうで削除してしまったアプリケーションを再インストールして作業完了とします。

所感

今回の<C:\$WINDOWS.~BT\Sources\Panther>にある「_APPRAISER_HumanReadable.xml」で終わるファイルを調べて、大型アップデートでエラーを出しているアプリケーションを特定させる方法というのは、今後のバージョンアップでエラーになった時にも使えそうな手法なので、覚えておくようにしようと思いました。