Linux を実行すると、ThinkPad T430 が起動を拒否したり、診断を開始したりしなくなるのはなぜですか?

Linux を実行すると、ThinkPad T430 が起動を拒否したり、診断を開始したりしなくなるのはなぜですか?

私は Thinkpad T430 を持っています。このコンピュータに Linux (最新の CentOS) をインストールするたびに、しばらくするとコンピュータが起動しなくなり、BIOS や起動/診断メニューが表示されなくなります。このコンピュータで Windows を実行していたのですが、CentOS に切り替えるか、CentOS をデュアル ブートするまで、この問題は発生しません。

これまで 3 枚のマザーボードで同じことが起き、交換する必要がありました。現在 4 枚目のマザーボードを使用していますが、私はハードウェアに欠陥がつきまとう不運な人間なのか、それとも Linux が何らかの形でマザーボードのファームウェアを破損させているのか、悩んでいます。

皆さんはどう思いますか?

これは技術的な観点から見て意味があるのでしょうか? T430 は Linux と互換性がないのでしょうか? 自由に推測してください。

答え1

これは比較的新しいデバイスなので、レガシー BIOS ではなく UEFI ファームウェアが搭載されています。残念ながら、UEFI は非常に複雑で、奇妙なエラーが発生しやすいです。

例えば、数年前、サムスンはNVRAM変数に大量のデータを書き込むことで動作が不安定になるノートパソコンを出荷しました。こちらをご覧くださいそしてここ:

[...] カーネルには、UEFI システムでこれを簡単にするためのコードがあります。重大なエラーが発生するたびに、カーネルは最新のメッセージを UEFI 変数ストレージ スペースにコピーします。その後、再起動後にユーザー スペースで使用できるようになり、クラッシュの原因をより正確に診断できます。

このクラッシュ ダンプは、UEFI ストレージ スペースを約 10K 使用します。Microsoft では、Windows 8 システムに少なくとも 64K のストレージ スペースが必要であることを要求しています。クラッシュ ダンプは 1 つだけ保持します。システムが再度クラッシュした場合は、別のクラッシュ ダンプを作成するのではなく、既存のクラッシュ ダンプを上書きするだけです。これはすべて UEFI 仕様と完全に互換性があり、Apple は実際にハードウェアで非常によく似たことを行っています。残念ながら、変数ストレージ スペースが多すぎると、一部の Samsung ラップトップが起動に失敗することが判明しました。「多すぎる」とはどの程度かはまだわかりませんが、Windows から大量の変数を書き込むだけで、この問題を引き起こすことができます。ここにサンプル コードをいくつか示します。これは、それぞれ 1 キロバイトのランダム データを含む 36 個の変数を書き出します。これを Windows で管理者として実行し、システムを再起動しました。問題は再発しませんでした。

確かに、Lenovo が同様のミスを犯す可能性はゼロではない。

もちろん、最新のファームウェア アップデートがインストールされていることを確認する必要があります。

答え2

BIOS をフラッシュするために特定のソフトウェアを使用した場合は可能ですが、使用しない場合は発生しません。

少し調べてみたところ、この問題を抱えている人は他にいないようです。キーを壊していないか確認してください。EFI を使用している場合は、Windows の詳細オプションを使用してファームウェア オプションに移動する必要があります。

関連情報