物理设备SSD1+2块盘zfs-5种模式均已通过测试,重装系统后导入密钥一键恢复,重启无异常。
大家好,其实写这个脚本的初衷非常朴素:我只是有点代码洁癖和强迫症,受不了明文密钥和系统盘睡在同一个房间里。本来只想写个十几行的脚本,把密钥塞进 TPM 就完事了。结果写着写着:发现飞牛不支持 Secure Boot,发现内核一更新 PCR 就漂移,开不了机,再一想,万一用户手滑删了密钥没备份,跑来骂我怎么办?加个 GPG 备份和防呆回环校验……等我回过神来,这玩意儿已经膨胀成 5000 多行的“企业级安全工程”了。没办法,代码既然都写了,不如开源攒点人品。大家随便用,有 Bug 算我输
(开玩笑的,私信留言我肯定改,只要我不忙)最后,如果这个脚本救了你一命(比如主板烧了但你有 Base64 恢复密钥),不用谢我,请默默给个 赞
就行。
脚本和手册均产自DeepSeek,如有不妥请自行修改测试。
附件:fnos-encrypted-storage.zip





----------------华丽且高级的分割线----------------
[高级安全教程] FNOS TPM 密封密钥管理 — 6 级 PCR 策略 · 双因素认证 · 智能恢复向导
适用平台: 飞牛 FNos v1.1.3107+ (Debian 12 Bookworm) + TPM 2.0 + tpm2-tools ≥ 5.4
配套工具: fnos-tpm-storage.sh (5367 行) + 15 章 HTML 运维手册
前置阅读: 先通过 FNOS ZFS 原生加密存储方案 创建 ZFS 加密存储池,再通过本文用 TPM 2.0 保护密钥
📌 背景
fnos-encrypted-storage.sh 让 FNOS 有了 ZFS 原生加密存储。但密钥以明文文件(chmod 400)存储在同台机器的 /etc/zfs/keys/ 下。这带来一个根本性缺陷:
整机被盗 → 攻击者拆下系统盘 → 读取 .key 明文 → 挂载数据盘 → 加密形同虚设。
fnos-tpm-storage.sh 填补了这个安全缺口。它把 ZFS 加密密钥从「系统盘上的明文文件」密封进主板 TPM 2.0 安全芯片,解封需要同时满足:
- 同一台物理设备 — TPM 芯片绑定
- 启动链未被篡改 — PCR 值(固件/GRUB/内核哈希)与密封时一致
- (可选)人工 PIN — 双因素认证,整机被盗正常开机也无法解封
如果你在物理安全不可控的环境中使用 FNOS NAS(住宅、办公室、异地部署),或者在意「磁盘被物理窃取」的威胁模型,那么这个脚本就是你需要的方案。
🎯 解决的核心痛点
| 痛点 |
这个方案怎么解决 |
| 密钥明文在系统盘上,整机被盗时攻击者拆盘读 .key → 加密失效 |
将密钥密封到主板 TPM 2.0 芯片,拆盘到另一台机器 TPM 拒绝解封 |
| 攻击者通过 GRUB 改 init=/bin/bash,绕过登录直接拿到 root shell |
PCR 8/9 验证内核命令行和内核镜像,改动即失配,TPM 拒放行 |
| 小偷正常开机(零篡改),PCR 全匹配 TPM 自动放行 → 数据在登录前已解密 |
模式 B (PCR+PIN) 在密钥释放前要求人工输入 PIN,屏障前移到锁上 |
| 固件/BIOS/GRUB 更新后 TPM 解封失败,不知道如何恢复 |
--reseal 用当前 PCR 值重新密封,3 级密钥回退(TPM→.key→离线恢复密钥) |
| TPM 芯片故障或主板更换,密封密钥全部作废 |
离线恢复密钥(base64 抄录纸本 + GPG 加密文件)作为最终恢复手段 |
| 不知道选什么 PCR 策略,既怕太简单不安全,又怕太复杂频繁维护 |
6 级策略菜单 + 智能推荐 + 运行时验证(检测未测量的 PCR 并阻止),飞牛 Secure Boot 自动排除 PCR 7 |
| 密封后 .key 文件不敢删,但留在磁盘上 TPM 保护形同虚设 |
智能密钥清理:4 项安全检查 → 5 级判定(✅安全→⚠️注意→🔴高风险→❌拒绝),安全时才允许删除 |
| 忘记 TPM PIN,反暴力破解保护下 PIN 无法重置 |
恢复向导场景 6:用 .key 备份恢复 → 删除旧 PIN 密封 → 换新 PIN 重新密封 |
| 不知道重启后 TPM 能否正常解封,不敢重启 |
--pre-reboot-check 模拟启动时的 TPM 解封流程,逐个池验证 PCR 是否匹配 |
🚀 快速体验
# 1. 交互式菜单(默认)
chmod +x fnos-tpm-storage.sh
sudo bash fnos-tpm-storage.sh
# 2. 仅检测 TPM 环境(不进入菜单)
sudo bash fnos-tpm-storage.sh --detect
# 3. TPM 密封状态总览
sudo bash fnos-tpm-storage.sh --status
# 4. 查看帮助说明
sudo bash fnos-tpm-storage.sh --help
# 5. 查看版本
sudo bash fnos-tpm-storage.sh --version
菜单预览:
╔══════════════════════════════════════════════════════════════╗
║ FNOS TPM 密封密钥管理 v2.0.0 ║
║ ZFS 加密存储 — TPM 2.0 安全增强组件 ║
║ PCR 默认: sha256:0,4 (基础: 仅固件+GRUB) ** TPM 2.0 就绪 ║
╚══════════════════════════════════════════════════════════════╝
【TPM 密钥管理】
1) 🔐 密封密钥到 TPM (.key → .tpm + TPM 保护)
2) 🔓 手动解封密钥 (从 TPM 解封并加载到 ZFS)
3) ⚙ 重新密封 (固件/BIOS/GRUB 更新后)
4) ❌ 移除 TPM 密封 (降级到文件密钥模式)
【系统集成】
5) ⚙ 安装启动自动解锁服务 (生成 TPM 感知的 zfs-tpm-unlock)
6) ❌ 卸载启动自动解锁服务 (恢复手动解锁)
7) ✅ 验证启动顺序 (检查服务依赖链)
【密钥安全】
8) 🔑 备份 TPM 密封密钥 (GPG 加密存档 .tpm + .key)
9) ⚠ TPM 恢复向导 (诊断和修复 TPM 相关问题)
K) ✅ 智能密钥清理 (安全检查后删除 .key 明文)
【诊断】
D) 💠 TPM 全面诊断 (硬件/工具/SB/PCR/密封池/漂移/服务)
0) 退出
请选择 [1-9/D/K/0]:
🔬 核心功能深度解析
1. 威胁模型 — 理解 TPM 保护什么,不保护什么
这是使用 TPM 之前必须理清的认知。开机链是这样的:
UEFI → GRUB → kernel → initramfs → TPM 解封 → zfs load-key → mount → 登录界面
↑ 密钥在此释放,数据已成明文
关键认识:登录界面在数据解密之后。 系统密码守的是「已解密数据上的用户态门禁」,不是加密锁本身。物理在手的人不走登录界面——他走启动链上游。
三条典型绕过路径(纯 PCR 自动解锁场景下):
| 攻击路径 |
方法 |
纯 PCR 能否防住 |
PCR+PIN 能否防住 |
A —init=/bin/bash |
GRUB 改内核命令行,直接进 root shell |
✅ 防住(需 PCR 8/9) |
✅ 防住 |
| B — Live USB / 拆盘读 |
外接系统读数据盘,或拆系统盘抄 .key |
✅ 防住 |
✅ 防住 |
| C — 正常开机(零篡改) |
小偷正常上电,PCR 完全匹配,TPM 自动放行 |
❌不防 |
✅ 防住(卡在 PIN) |
核心结论:防盗靠 PIN,不靠 PCR 数量。 PIN 把屏障从「用户态登录」前移到「密钥释放」这一步。不输 PIN → TPM 不放钥匙 → 数据自始至终是密文。init=/bin/bash 进来是密文,拆盘读是密文,Live USB 启动也是密文。屏障在锁上,不在锁开了之后的那道门上。
2. PCR 策略体系 — 6 级可达安全强度
PCR (Platform Configuration Register) 是 TPM 内部的哈希寄存器。系统启动过程中,固件、GRUB、内核逐级度量并「延伸」到 PCR 中。密封时指定 PCR → 解封时 PCR 值必须一致。
PCR 语义速查:
| PCR |
度量内容 |
稳定性 |
变更触发 |
| 0 |
UEFI 固件 |
★★★★ |
BIOS/UEFI 升级 |
| 1 |
CPU 微码 + 启动变量 |
★ |
内核更新/微码更新/initramfs 重建 |
| 4 |
GRUB 引导程序 |
★★★★ |
GRUB 包更新/grub.cfg 变更 |
| 5 |
GPT 分区表 |
★★★★★ |
磁盘重新分区 |
| 7 |
Secure Boot |
— |
⚠️ 飞牛不支持 SB,恒为常量,无价值 |
| 8 |
内核命令行 |
★★ |
内核参数变更 |
| 9 |
内核镜像 + initrd |
★★ |
内核更新/initramfs 重建 |
⚠️ 飞牛平台不支持 Secure Boot。PCR 7 恒为常量,所有推荐策略已自动排除。
6 级 PCR 策略:
| # |
策略 |
描述 |
稳定性 |
防 init=/bin/bash |
年度 reseal |
| 1 |
sha256:0,4 |
基础 — 仅固件+GRUB |
★★★★★ |
❌ |
≈ 0 |
| 2 |
sha256:0,4,5 |
基础+分区 — +磁盘分区 |
★★★★ |
❌ |
≈ 0 |
| 3 |
sha256:4,8,9 |
内核验证链 — GRUB+内核 |
★★ |
✅ |
2~4 |
| 4 |
sha256:0,4,8,9 |
全栈验证 — 固件+内核 |
★★ |
✅ |
2~4 |
| 5 |
sha256:0,1,4,8,9 |
全栈+微码 — +CPU微码 |
★ |
✅ |
频繁 |
| 6 |
sha256:0,4,5,8,9 |
全栈+分区 — 最高覆盖 |
★ |
✅ |
频繁 |
安全组合推荐:
| 组合 |
防盗 |
防篡改 |
维护成本 |
推荐度 |
| PIN + 策略 1 (0,4) |
✅ |
✅ |
几乎零 |
★★★ 最推荐 |
| 纯 PCR + 策略 4 (0,4,8,9) |
❌ |
✅ |
每 3~6 月 |
★★ |
| PIN + 策略 4 (0,4,8,9) |
✅ |
✅ |
高 |
★ |
| 纯 PCR + 策略 1 (0,4) |
❌ |
❌ |
零 |
不推荐 |
💡 「PIN + 策略 1 (0,4)」是最佳平衡:PIN 防整机被盗,PCR 几乎不需维护(策略 1 仅固件+GRUB,极其稳定)。飞牛每 3~6 个月一次内核大版本升级,如果你不想每隔几个月就 reseal 一次,选策略 1。
3. 双认证模式 — A(纯 PCR)vs B(PCR+PIN)
模式 A:纯 PCR(自动解锁)
启动 → UEFI → GRUB → kernel → initramfs → TPM 自动解封(PCR 匹配即放行) → mount → 登录界面
- 全自动,无人值守,适合 NAS 机柜/远程重启
- 防固件篡改、单盘被拔、换机启动
- 不防整机被盗后正常开机(路径 C)——这是纯 PCR 的安全天花板
模式 B:PCR + PIN(双因素)
启动 → UEFI → GRUB → kernel → initramfs → ⛔ PIN 提示 → TPM 验证 PIN+PCR → 解封 → mount → 登录界面
- 每次开机需人工输入 PIN(4-32 位)
- 启动时
systemd-ask-password 通过 Plymouth/Console 弹出密码提示
- 120 秒超时,3 次重试
- 全覆盖 3 条攻击路径——即使整机被盗+正常开机,无 PIN 无法解封
- TPM 反暴力破解 (DA Lockout) 保护
- 多池 PIN 缓存: 首次输入后后续池自动尝试相同 PIN,不用重复输入
- ⚠️ 不支持无人值守重启(停电后需人工输入)
4. 密封流程 — 8 步自动化,自带多重验证
Step 1: 创建 TPM 主密钥 (ECC→RSA 自动回退,显式模板保证跨版本可复现)
Step 2: PCR 策略选择 (6 级菜单 + 运行时验证,检测未测量 PCR 并阻止)
Step 3: 认证模式选择 (A=纯PCR / B=设置PIN)
Step 4: 计算策略 Digest (trial 会话 → policypcr [+ policyauthvalue])
Step 5: 密封密钥 (tpm2_create -i keyfile → 生成 sealed object)
Step 6: 内存验证 (在 TPM 内解封 → 与原始密钥逐字节比对 cmp -s)
Step 7: 写入 V2 blob + 闭环验证 (base64 编码→解码→重新解封→比对)
Step 8: 导出离线恢复密钥 + 智能删除 .key (base64 回环校验通过后才允许删除)
密封完成后立即提示:
══════ 离线恢复密钥 (必须保存!) ══════
方式 1 — 纸质抄录 (推荐):
将以下 Base64 字符串抄录到纸上,存放在安全地点。
恢复时通过 --import-key <base64> 导入。
**─离线恢复密钥 — 系统恢复 — /vol1 — 1.8T (trim_80930f0f-...)─**
** AbCdEfGhIjKlMnOpQrStUvWxYz1234567890ABCD= **
**──────────────────────────────────────────────────**
方式 2 — GPG 加密文件:
将密钥用 GPG AES-256 加密保存,可复制到 U 盘离线保管。
─── 清理明文密钥 ───
✓ 密钥已密封到 TPM,可通过 TPM 解封随时恢复 .key
⚠ 保留 .key 在磁盘上 = 整机被盗时加密形同虚设
删除 trim_xxxx.key 明文密钥文件 (TPM 将成为唯一解锁方式)? [y/N]
5. 智能密钥清理 — 4 项安全检查,防止后悔
密封后 .key 还留在磁盘上 → TPM 保护形同虚设。但随随便便删了也危险——万一 TPM 解封失败怎么办?
智能清理做 4 项检查再判定:
[检查 1/4] TPM 密封 blob 格式有效性 → 解析 V2 blob,验证密钥数据非空
[检查 2/4] TPM 解封验证 + 密钥匹配 → 从 TPM 解封,与 .key 逐字节比对
[检查 3/4] 离线恢复密钥备份 → 扫描 GPG 恢复文件是否存在
[检查 4/4] .key 文件完整性 → 验证 32 字节大小
5 级判定:
| 判定 |
条件 |
操作 |
| ✅ 安全 |
全部通过 |
建议立即删除 |
| ⚠️ 基本安全 |
TPM 临时不可用但有备份 |
建议删除(有备份兜底) |
| ⚠️ 风险 |
TPM 正常但缺备份 |
可删但提醒先导出备份 |
| 🔴 高风险 |
TPM 解封失败 + 无备份 |
阻止删除 |
| ❌ 拒绝 |
blob 损坏 |
阻止删除,.key 是唯一方式 |
不满足安全条件时 → 操作被阻止,并给出补救路径(--backup 导出、--diagnose 排查)。
6. TPM 恢复向导 — 6 种故障场景全覆盖
TPM 相关的问题场景多样,每种恢复路径不同。恢复向导通过交互式问答引导:
| # |
场景 |
恢复路径 |
| 1 |
固件/BIOS 更新 (PCR 0 变化) |
用 .key/离线密钥解锁 → --reseal |
| 2 |
GRUB 更新 (PCR 4 变化) |
同上 |
| 3 |
主板或 TPM 芯片更换 |
.key 备份 → 删除旧 blob → 密封到新 TPM |
| 4 |
TPM 被清除或重置 |
同场景 3 |
| 5 |
blob 文件损坏 |
GPG 完整备份解密恢复 → 或用 .key 重密封 |
| 6 |
忘记 TPM PIN |
.key 备份 → 删除旧 PIN 密封 → 换新 PIN 或切为纯 PCR |
恢复向导自动扫描 4 级密钥备份(KEY_DIR → BACKUP_DIR **文件 → GPG 恢复文件 → GPG 完整备份),按优先级列出每个池的可用恢复源。
7. 启动自动解锁服务 — TPM 感知的 systemd 集成
与 fnos-encrypted-storage.sh 的 zfs-unlock.service(文件密钥)不同,本脚本生成的是 TPM 感知的两阶段解锁脚本:
阶段 1: TPM 密封池 (*.tpm)
**─ 纯 PCR 模式: policypcr → load → unseal → zfs load-key → mount
**─ PCR+PIN 模式: systemd-ask-password 弹出 PIN 提示
** ** 多池 PIN 缓存 (首次输入后后续池自动尝试)
** ** 3 次重试 / 120s 超时
** ** DA 锁定预检 (每次尝试前)
** 失败 → 日志记录 PCR 漂移诊断 → 跳过
阶段 2: 文件密钥池 (*.key)
仅处理无对应 .tpm 的池 (向后兼容)
期望启动顺序:
boot
→ zfs-import-cache.service (导入 ZFS 池)
→ zfs-tpm-unlock.service (TPM 解封 + 加载密钥) ← Before=trim_init.service
→ trim_init.service (扫描块设备)
→ trim_main.service (加载 storage.hdl)
→ trim_http_cgi.service (WebUI 可用)
验证启动后:
journalctl -u zfs-tpm-unlock # 查看解锁日志
cat /var/log/fnos-tpm-unlock.log # 详细解锁日志 (不含密钥材料)
8. TPM 全面诊断 — 7 步一站式排查
sudo bash fnos-tpm-storage.sh --diagnose
输出覆盖:
[1/7] TPM 硬件 — 设备节点 / 版本 / 制造商 / 固件 / DA 锁定状态
[2/7] tpm2-tools — 9 个组件检查 + PCR 算法列表
[3/7] Secure Boot — 启用状态 + 飞牛平台提示
[4/7] 主密钥测试 — ECC→RSA 回退,验证芯片功能正常
[5/7] PCR 当前值 — sha256:0,1,4,5,7,8,9 全部 PCR 实时哈希
[6/7] 密封池状态 — 认证模式 / PCR 策略 / blob 格式 / 密钥残留 / PCR 漂移检测
[7/7] 启动服务 — zfs-tpm-unlock.service 状态
PCR 漂移检测是第 6 步的核心:将 blob 中存储的密封时 PCR 值与当前实时值逐一对比,标记漂移的 PCR 并给出原因(如「PCR 9 (内核+initrd): 可能原因 → 内核版本更新或 initrd 重建」)。
🔄 安全方案层次对比
| 维度 |
TPM 密封 ★ |
纯文件密钥 |
| 磁盘被拆走读取 |
✅ 防住(换机 TPM 解不开) |
❌ 失效(.key 明文可读) |
| 改启动链提取密钥 |
✅ 防住(PCR 改变拒放行) |
❌ 失效 |
| 整机被盗正常开机 |
✅ 防住(需 PIN 模式) |
❌ 不防 |
| 性能开销 |
⚡ 仅启动时一次解封 |
⚡ 无 |
| 无人值守重启 |
A: ✅ / B: ❌ |
✅ |
| 维护成本 |
取决于 PCR 策略 |
零 |
| 硬件要求 |
TPM 2.0 芯片 |
无 |
| 适合场景 |
物理安全不可控 |
家庭/机房 |
💡 三个方案的关系: ① 用 fnos-encrypted-storage.sh 创建 ZFS 加密存储 → ② 用 fnos-tpm-storage.sh 将密钥升级为 TPM 保护 → ③ 安装 TPM 启动解锁服务。TPM 密封是 ZFS 原生加密的上层安全增强,两者互补而非替代。
📖 HTML 运维手册(15 章离线可读)
单文件 HTML,暗色主题,浏览器直接打开:
| 章节 |
内容 |
| 一 |
方案总览 — TPM 密封 vs 纯文件密钥 vs 无加密 三层对比 |
| 二 |
TPM 密封原理与威胁模型 — 3 条攻击路径 + 覆盖矩阵 |
| 三 |
PCR 策略体系 — 6 级策略 + PCR 语义分类 + 推荐组合 |
| 四 |
双认证模式详解 — 纯 PCR vs PCR+PIN + DA 锁定 |
| 五 |
TPM 环境检测体系 — 6 步检测 + PCR 运行时验证 |
| 六 |
密钥密封完整流程 — 8 步密封 + 离线恢复密钥导出 |
| 七 |
密钥生命周期管理 — 解封 / 重密封 / 移除 / 智能清理 |
| 八 |
TPM 恢复向导 — 6 种故障场景 + 4 级备份扫描 |
| 九 |
启动自动解锁服务 — systemd 集成 + 两阶段策略 + 启动顺序 |
| 十 |
TPM 全面诊断 — 7 步诊断 + PCR 漂移检测 + 重启前模拟 |
| 十一 |
交互式菜单导航 — 主菜单 + 10 子菜单 + 快捷操作 |
| 十二 |
CLI 命令参考 — 20+ 命令行参数 + 新手指南 |
| 十三 |
日常运维命令参考 — TPM 原生命令 / 日志文件 |
| 十四 |
紧急恢复速查卡 — 3 种场景的手动恢复步骤 |
| 十五 |
脚本完整说明 — 版本 / 架构 / 函数总表 / 安全设计原则 |
📦 文件清单
fnos-tpm-storage.sh (5367 行) — TPM 密封密钥管理脚本,1 个主菜单 + 10 子菜单
fnos-tpm-storage.html (1200+ 行) — 15 章离线 HTML 手册,暗色主题
fnos-encrypted-storage.sh (4395 行) — ZFS 原生加密存储脚本 (前置依赖)
fnos-encrypted-storage.html (1100+ 行) — ZFS 加密存储 HTML 手册 (前置阅读)
依赖: TPM 2.0 硬件 + tpm2-tools ≥ 5.4 + ZFS 2.4.1+ + bash ≥ 4.0 + sudo
可选依赖: gpg(密钥加密备份)、systemd-ask-password(PIN 模式启动提示,systemd 自带)
适用版本: 飞牛 FNos v1.1.3107+ (Debian 12 Bookworm, Linux 6.18+)
所有文件不含任何真实密钥、密码或个人信息,可直接开源使用。
🔧 新手 3 步集成
# 前提: 已用 fnos-encrypted-storage.sh 创建了 ZFS 加密存储池
# Step 1: 检测 TPM 是否就绪
sudo bash fnos-tpm-storage.sh --detect
# Step 2: 密封密钥 (使用默认 PCR 策略 sha256:0,4)
sudo bash fnos-tpm-storage.sh --seal trim_xxxx
# 按提示: 选择 PCR 策略 → 选择认证模式 → 密封完成 → 抄录 base64 恢复密钥 → 删除 .key
# Step 3: 安装启动自动解锁服务
sudo bash fnos-tpm-storage.sh --install-boot
sudo reboot
journalctl -u zfs-tpm-unlock # 验证 TPM 解封成功
⚠️ 重要提醒
- 密封后立即做三件事: ① 抄录 Base64 离线恢复密钥(纸质)② 创建 GPG 加密恢复文件(存 U 盘)③ 确认
--pre-reboot-check 通过后再重启
- 离线恢复密钥 = TPM 故障时的唯一救命稻草 — TPM 芯片损坏或主板更换后,没有离线恢复密钥就没有任何办法恢复数据
- 密钥文件 .key 删干净 — 只要 .key 还在磁盘上,整机被盗时攻击者就能绕过 TPM 直接读密钥。用
--cleanup-keys 安全检查后再删
- 固件/BIOS/GRUB 更新前先
--reseal — 否则重启后 TPM PCR 不匹配,无法自动解锁
- TPM 不是备份 — TPM 只防密钥泄露,不防数据丢失。加密数据仍要 3-2-1 备份
- PIN 模式的无人值守代价 — 停电/重启后需人工到场输入 PIN。如果 NAS 在远程机房,PIN 模式不适用
- 飞牛不支持 Secure Boot — PCR 7 恒为常量,含 PCR 7 的策略无效
- PCR 策略越复杂,维护越频繁 — 飞牛每 3~6 个月一次内核大版本。选
sha256:0,4 几乎零维护
🙋 反馈与改进
这套方案在飞牛 FNos v1.1.3107 (Debian 12, ZFS 2.4.1+, tpm2-tools 5.4+) 上完成验证,覆盖:
- TPM 2.0 密封/解封完整管线(ECC+RSA 双重算法支持)
- 6 级 PCR 策略 + 运行时验证(未测量 PCR 检测、飞牛 SB 绕过)
- 双认证模式(纯 PCR 无人值守 + PCR+PIN 双因素)
- V2 base64 blob 格式(人类可读 + SHA256 完整性校验)
- 8 步密封流程(3 重验证:内存→闭环→回环)
- 4 项智能密钥清理安全检查(5 级判定+阻断机制)
- 6 场景 TPM 恢复向导 + 4 级密钥备份自动扫描
- systemd 启动集成(两阶段解锁 + 多池 PIN 缓存 + DA 预检)
- 7 步 TPM 全面诊断 + PCR 漂移检测
- 重启前 TPM 解封模拟验证
- 20+ CLI 命令行参数(支持脚本化/自动化)
如果你:
- 在其他 FNOS 版本 / 其他 NAS 系统上测试遇到问题
- 对 PCR 策略有更多实战经验反馈
- 有新的 TPM 使用场景需求(如 vTPM / fTPM / 远程证明)
欢迎在帖子里交流讨论 🎉
飞牛 FNos v1.1.3107+ · Debian 12 Bookworm · TPM 2.0 · tpm2-tools ≥ 5.4 | 2026.06.23

