GRUB を使用して CPU のマイクロコードを更新し、Windows 10 をチェーンロードする方法は?

GRUB を使用して CPU のマイクロコードを更新し、Windows 10 をチェーンロードする方法は?

Windows 10 を実行する前に、CPU のマイクロコードを更新したいと思います。

アイデアとしてはGRUB(ここではNeoGrub)を使うことですhttps://neosmart.net/wiki/easybcd/neogrub/) を実行します。

背景:

なぜそうしているのでしょうか? 公式にはサポートされていない Xeon x5470 CPU を搭載した Intel マザーボードを使用しています (そのため、BIOS ではマイクロコードが利用できず、Intel の BIOS はデジタル署名のためパッチ適用できません)。Windows 7 64b は正常に動作しますが、Windows 10 64b は起動に失敗します (E8400 CPU を搭載した同じマシンは正常に起動するため、原因は CPU にあります。おそらく、マイクロコードの更新によって提供される compareexchange128 命令が欠落していると思われます)。

http://answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/windows-10-pro-upgrade-compareexchange128/f86d76d7-a2b7-4551-8a01-6d5169db2e22?auth=1

アップデート:

BIOS BITS によると、私の X5470 には次のものがあります:

  • 0001067a の署名
  • プラットフォームID 00000004
  • マイクロコードリビジョン 00000a0b

Intel の最新のマイクロコードを使用していますが、新しいものはなく、Windows 10 は起動時にまだハングします :(

したがって、このタスクは BIOS BITS で実行できることは確認しましたが、残念ながら問題は解決されません。BIOS が一部の CPU 機能 (PAE、NX、SSE2) をオンにしていない可能性があります。BIOS BITS でもそれができるはずですが、その方法を学ぶ必要があります...

うーん、このCPUには必要な機能がないようです

ecx[13] cnpxchg16b=0

しかし、ウェブ検索で、これはかなり古い命令であり、このCPUによって提供されるはずであることがわかりました。このCPUの他のユーザーは、それが利用可能であると報告しています(http://www.cpu-world.com/cgi-bin/CompareCPUID.pl?CPUID=47075&CPUID=47071&PROCESS=Compare+selected); wrmsr を使用してオンにすることはできますか?

答え1

はい、可能ですが、標準の grub は使用できません。

「BIOS BITS」プロジェクトのブートローダーが動作するかどうかを確認してください。できるマイクロコードを更新し、オペレーティング システムをチェーン ロードしますが、これは非常に高度なツールです。

http://www.biosbits.org/

答え2

BITS の README.txt から抜粋:

  • 「設定メニュー」には、システムを一時的に再設定するためのオプションが含まれています。これらのオプションはいずれも BIOS に影響したり、システム構成を永続的に変更したりすることはありませんが、現在の起動時のみその構成を上書きします。

したがって、確かにマイクロコードをロードすることはできますが、どうやらその単一のブート セッションのみに有効のようです。

答え3

関連情報