Microsoftは誤作動したPopCntブロックを修正したが、Windows 11 24H2要件は今後も存続する可能性がある
ここ数週間、インターネットは Windows 11 24H2 のシステム要件が今後変更される可能性があると話題になっており、Microsoft は Windows 11 の次期バージョンで SSE 4.2 ベースの命令である PopCnt を必須にすることを検討しているようです。バージョン24H2。これは、古い CPU がCanary ビルド 25905 の起動に失敗し、単一のコマンド トリックを使用するようなバイパスも機能しなかったことを意味します。
当時は知られていませんでしたが、PopCnt はWindows 10 上の壊れた Microsoft Store アプリの原因でもあるようで、古いプロセッサがこれらのシステムで起動できなくなり、「ファイル システム エラー (-2147219196)」が発生することがよくありました。
MSVC (Microsoft Visual C++) の主任ソフトウェア エンジニアリング マネージャーである Microsoft エンジニアの Mahmoud G Saleh 氏は、後にこの問題がバグのある Visual C++ ライブラリ (VCLibs) パッケージに関連していることを認めました。彼らが書きました:
こんにちは。Visual C++ チームは、この問題が、フォト アプリやその他のアプリが依存する vclibs フレームワーク パッケージの回帰であると特定しました。この問題は、古いハードウェア (SSE 4.2 命令をサポートしていない) を搭載したコンピュータに影響します。 Microsoft は現在、ソリューションの検証に取り組んでおり、影響を受ける顧客に間もなく展開される予定です。
この問題を提起した功績は、昨年 11 月に Intel Core 2 Quad Q6600 の PopCnt 関連のバグに気づいた、Masahiro Takegami氏に与えられます。この問題は、Visual Studio 更新バージョン 17.8.0 で発生したようです。
Visual Studio 2022 の最新バージョンであるバージョン 17.9.1 では、他のいくつかのバグとともにこの問題も修正されています。完全な変更ログは以下のとおりです。
Visual Studio 2022 バージョン 17.9.1 のこのリリースの新機能の概要
- VS 17.9 で 16.11 C++ ツールセットを使用する顧客向けに、16.11 MSVC ツールセットを 16.11.34 (14.29.30154.0) に更新しました。
- 静的リンク時に使用される libconcrt.lib に、古い X64 システムでは不正な SSE 4.2 命令が含まれる可能性があるバグを修正しました。
- /clr を使用した C++20 の組み込み型として char8_t のサポートが追加されました。
これにより、VS Code の問題と古いプロセッサでアプリが動作しない問題が解決されるはずですが、古いチップが Windows 11 24H2 で動作する可能性は低いようです。 Windows 11 バージョンのセットアップ ファイルでは、ユーザーがそのようなシステムにバージョン 24H2 をインストールしようとすると、「この PC のプロセッサは重要な機能 (PopCnt) をサポートしていません」というメッセージが表示され始めたようです。このメッセージは、Microsoft が意識的にこの変更を導入している可能性があることを示唆しています。
コメントを残す