我想知道如何启用 TPM。我在 BIOS 中找到了 TPM 设置,但无法点击。如何确定当前支持的 Ubuntu 版本是否支持 TPM?
答案1
如今,大多数系统都支持 TPM,但默认情况下它不启用,因为我们很多人从来不用它。除此之外,您需要做的第一件事就是在 UEFI/BIOS 中启用 TPM。如何访问和启用它取决于制造商,因此请查看您的系统手册或主板手册以找到该过程的说明。一旦您启用了支持,您就可以检查
ls -la /lib/modules/`uname -r`/kernel/drivers/char/tpm
这是我的输出:
drwxr-xr-x 3 root root 4096 Jun 24 06:11 .
drwxr-xr-x 9 root root 4096 Jun 24 06:11 ..
drwxr-xr-x 2 root root 4096 Jun 24 06:11 st33zp24
-rw-r--r-- 1 root root 12513 Jun 18 11:49 tpm_atmel.ko
-rw-r--r-- 1 root root 12481 Jun 18 11:49 tpm_i2c_atmel.ko
-rw-r--r-- 1 root root 16657 Jun 18 11:49 tpm_i2c_infineon.ko
-rw-r--r-- 1 root root 23025 Jun 18 11:49 tpm_i2c_nuvoton.ko
-rw-r--r-- 1 root root 22937 Jun 18 11:49 tpm_infineon.ko
-rw-r--r-- 1 root root 17753 Jun 18 11:49 tpm_nsc.ko
-rw-r--r-- 1 root root 12761 Jun 18 11:49 tpm_tis_spi.ko
-rw-r--r-- 1 root root 19449 Jun 18 11:49 tpm_vtpm_proxy.ko
-rw-r--r-- 1 root root 15289 Jun 18 11:49 xen-tpmfront.ko
然后您可以使用以下方式检查支持
tpm_version
如果你得到
Command 'tpm_version' not found, but can be installed with:
sudo apt install tpm-tools
按照说明安装并重试。
如果你得到:
tpm_version Tspi_Context_Connect failed: 0x00003011 - layer=tsp, code=0011 (17), Communication failure
很有可能您没有 TPM 支持、没有 TPM 芯片或者您未能在 UEFI/BIOS 中正确切换 TPM 支持。
TPM 不一定会出现在 ACPI 表中,但模块在找到受支持的模块时会打印一条消息;例如
[ 134.026892] tpm_tis 00:08: 1.2 TPM (device-id 0xB, rev-id 16)
这dmesg | grep -i tpm
是一个很好的检查方法。
资料来源: