Tôi đang cố làm theo hướng dẫn này nhưng tôi đang sử dụng Ubuntu 21.04:
https://run.tournament.org.il/ubuntu-20-04-and-tpm2-encrypted-system-disk/
Khi tôi chạy lệnh thứ hai:
Sudo tpm2_nvdefine -s 64 0x1500016
tôi nhận được lỗi:
CẢNH BÁO:esys:src/tss2-esys/api/Esys_NV_DefineSpace.c:337:Esys_NV_DefineSpace_Finish() Đã nhận lỗi TPM
LỖI:esys:src/tss2-esys/api/Esys_NV_DefineSpace.c:122:Esys_NV_DefineSpace() Mã lỗi Kết thúc Esys (0x000009a2)
LỖI: Không thể xác định vùng NV tại chỉ mục 0x1500016
LỖI: Esys_NV_DefineSpace(0x9A2) - tpm:session(1): lỗi ủy quyền mà không có ý nghĩa DA
LỖI: Không thể tạo chỉ mục NV 0x1500016.
LỖI: Không thể chạy tpm2_nvdefine
Tôi cũng đã thử:
sudo tpm2_clear
dẫn đến:
CẢNH BÁO:esys:src/tss2-esys/api/Esys_Clear.c:291:Esys_Clear_Finish() Đã nhận được lỗi TPM
LỖI:esys:src/tss2-esys/api/Esys_Clear.c:97:Esys_Clear() Mã lỗi Kết thúc Esys (0x0000098e)
LỖI: Esys_Clear(0x98E) - tpm:session(1): kiểm tra HMAC ủy quyền không thành công và bộ đếm DA tăng lên
LỖI: Không thể chạy tpm2_clear
dẫn tôi đến xem trạng thái:
biến thuộc tính $ sudo tpm2_getcap | egrep 'TPM2_PT_(MAX|LOCKOUT).*'
TPM2_PT_LOCKOUT_COUNTER: 0x0
TPM2_PT_MAX_AUTH_FAIL: 0xA
TPM2_PT_LOCKOUT_INTERVAL: 0x1C20
TPM2_PT_LOCKOUT_RECOVERY: 0x1C20
Tôi cũng đã thử:
sudo tpm2_dictionarylockout --setup-parameters --max-tries=4294967295 --clear-lockout
điều này cũng dẫn đến một lỗi tương tự:
CẢNH BÁO:esys:src/tss2-esys/api/Esys_DictionaryAttackLockReset.c:288:Esys_DictionaryAttackLockReset_Finish() Đã nhận lỗi TPM
LỖI:esys:src/tss2-esys/api/Esys_DictionaryAttackLockReset.c:98:Esys_DictionaryAttackLockReset() Mã lỗi Kết thúc Esys (0x00000921)
LỖI: Esys_DictionaryAttackLockReset(0x921) - tpm:warn(2.0): không cho phép cấp phép cho các đối tượng chịu sự bảo vệ của DA tại thời điểm này vì TPM đang ở chế độ khóa DA
LỖI: Không thể chạy tpm2_dictionarylockout
Tôi cũng đã thử lệnh đầu tiên từ hướng dẫn tpm2-tools về mã hóa ổ đĩa tại đây: https://tpm2-software.github.io/2020/04/13/Disk-Encryption.html
mà nói:
sudo tpm2_createprimary -Q -C o -c prim.ctx
và dẫn đến một lỗi tương tự:
CẢNH BÁO:esys:src/tss2-esys/api/Esys_CreatePrimary.c:393:Esys_CreatePrimary_Finish() Đã nhận lỗi TPM
LỖI:esys:src/tss2-esys/api/Esys_CreatePrimary.c:135:Esys_CreatePrimary() Mã lỗi Kết thúc Esys (0x000009a2)
LỖI: Esys_CreatePrimary(0x9A2) - tpm:session(1): lỗi ủy quyền mà không có ý nghĩa DA
LỖI: Không thể chạy tpm2_createprimary
Tôi đã google tất cả các lỗi này nhưng không thể tìm thấy lời giải thích dễ hiểu. Có rất nhiều thông tin ngoài đó nhưng từ tpm-tools và/hoặc với các tham số hoàn toàn không chính xác. Có vẻ như các lệnh tpm2_* thay đổi rất nhanh!
Điều này có nghĩa là TPM của tôi đã bị vô hiệu hóa hoặc khóa?
Tôi nhận thấy rằng tpm2_takeownership không còn trong gói Ubuntu (và cũng không có trong 20.04) nên các giải pháp khác mà tôi tìm thấy trên internet sẽ không hoạt động (trừ khi tôi cài đặt nó từ nguồn), nhưng tôi cho rằng điều này không được mong đợi nếu nó không có trong gói.
Những thứ khác (như tpm2_pcrread) không có lỗi. Vì vậy, có thể TPM của tôi có thể đọc được nhưng không thể ghi được không? Làm cách nào tôi có thể đặt lại nó hoặc đây có phải là cài đặt của nhà sản xuất hay điều gì đó tôi cần thực hiện trong BIOS để có thể ghi được không?