指示に従って、Intel Core i3-3217Uプロセッサのマイクロコードを更新しようとしました Intelから 。 Linux Mint Debianエディション2(3.16.0-5-AMD64カーネル)を使用しています。
私がしたこと:
/sys/devices/system/cpu/microcode/reload
があります/lib/firmware/intel-ucode
はなく、/lib/firmware/intel
のみです。ダウンロードしたパッケージからとにかくフォルダを追加しました。指示に従って、SUとして実行しました
echo 1 > /sys/devices/system/cpu/microcode/reload
cat /proc/cpuinfo | grep microcode
は私に0x1f
を与えます。これは更新されたバージョンですが、システムが実行されている間だけです。再起動後、0x12
に戻ります。
更新を永続的にするにはどうすればよいですか?
マイクロコードアップデートがDebianに移植されていない場合の中間ソリューションとして、Intelの指示に従ってマイクロコードアップデートをインストールした後、「echo 1>/sys/devices/system/cpu/microcode/reload」を/etc/rc.localに追加できます。これはかなり遅いパッチですが、ブート環境を信頼していればおそらく問題ありません:)
インテルのマイクロコードの更新を永続的にすることはできません。起動するたびにロードする必要があります。マイクロコードは、CPUの揮発性RAMに保存されます。
Debianパッケージのコードを利用してマイクロコードを最初のramdiskにロードできることがわかりました intel-microcode 。これは現在、古いバージョンのマイクロコードにありますが、オーバーライドできます。
パッケージをインストールした後、/lib/firmware/intel-ucode
内のすべてのファイルを手動で削除し、Intelダウンロードから新しいバージョンに置き換えました。その後、initrd.img-<kernel version>
を次のように更新できます
update-initramfs -u
grub-mkconfig
もこれを実行します。
私が理解しているように、他の回答で言及されているintel-ucode.img
は、いわゆる「初期のinitramfsアーカイブ」です。パッケージに含まれているinitramfs-toolsフックスクリプトは、更新モジュールを別の.imgに配置するか、メインのinitrd.imgに配置するかを自動的に選択するようです。
編集:新しいマイクロコードバージョンはすでに 不安定なパッケージ に到達しているようです。依存関係は変更されていないので、Debianストレッチ(または私がまだ使用しているjessie)で機能する可能性があります。新しいパッケージバージョンがバックポートされるまで、ほんの数日かかると思います。その後、インストールするだけで十分です。
マイクロコードの更新は起動時に適用されるため、ブートローダーに追加する必要があります。 GRUB2またはsystemd-boot。より具体的には、/ boot/intel-ucode.img(またはこのファイルがシステム上のどこにある場合でも)をブートプロセスの最初のinitrdイメージとして追加する必要があります(ただし、通常のinitrdイメージを置き換えます)。マイクロコード更新パッケージがインストールされると、通常、grub-mkconfigスクリプトがそれ自体でこれを処理しますが、/ boot/grub /grub.cfgファイルに同様の行があるかどうかを確認できます。
initrd /intel-ucode.img /initramfs-linux.img
そうでない場合は、マイクロコードパッケージを再インストールするか、grub-mkconfigスクリプトを手動で実行します。