TPM は必ずしも ACPI テーブルに表示されるわけではありませんが、モジュールはサポートされているモジュールを見つけるとメッセージを出力します。例えば
[ 134.026892] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
だから dmesg | grep -i tpm
良い指標です。
決定的な指標は、ファームウェアのセットアップ ツールです。TPM には、ファームウェアのセットアップから管理される所有権の手順が含まれます。セットアップで TPM 関連が何も言及されていない場合、TPM はありません。
TPM は通常、サーバーやビジネス ラップトップ (および icarus が説明するように ChromeBook) に見られますが、デスクトップや「非ビジネス」ラップトップではまれです。 Intel TXT をサポートするものにはすべて TPM があります。
また、sysfs 経由で検出することもできます:
$ [ -d $(ls -d /sys/kernel/security/tpm* 2>/dev/null | head -1) ] && echo "TPM available" \
|| echo "TPM missing"
そしてカーネル 5.6 以降 (コミット 7084eddf6be9 tpm:tpm_version_major sysfs ファイルを追加)、バージョンは sysfs ファイルで検出できます:
$ cat /sys/class/tpm/tpm*/tpm_version_major
1
注:一部の TPM は sysfs をエクスポートしません (バグ?)。
他の方法は /dev/tpm0
をチェックすることです または /dev/tpmrm0
.すべての TPM デバイスには /dev/tpm0
が必要です . /dev/tpmrm0
これは TPM 2.0 専用ですが、v4.12-rc1 で追加されました (fdc915f7f719 tpm:デバイス リンク /dev/tpmrm を介してスペースを公開します):
[ -c /dev/tpmrm0 ] && echo "TPM 2.0" # since v4.12-rc1
[ -c /dev/tpm0 ] && echo "TPM 1.2 or 2.0"