# 前言
因为偶而有人会透过这串文来寄信来问我关于 Bitlocker 的问题,
所以我想在这里更详细地描述我所理解的 Bitlocker 运作方式,以
及我制作 winPE 开机碟的过程。
其他关于 EaseUS、Elcomsoft Forensic、PC3000 这些工具用了以后
会怎么样的问题,我是无法回答的。你们很可能只能将问题放上来,
然后不抱期待地等知道的人回答。
此外我想特别感谢这串文的原发问者 doubledozen,因为他在这个
看板与板友 forward66666、pda2001 等人之间的问与答,展示了解
决问题的过程与结果,所以我才有信心独自解决硬盘被 Bitlocker
锁定的问题。
# Bitlocker 运作方式
电脑主机板上有块芯片叫做 TPM(图一),负责启动并维护电脑中
的信任链。
https://imgur.com/a/BzWn3nf
(图一、TPM 的外观。)
TPM 的 ROM 里存有一个金钥,叫做 SRK(storage root key)。
同时 TPM 可以做加解密、产生摘要(checksum)和比对摘要。
所谓的摘要(checksum)指的是一个能代表某一块资料的短字串。
你可以把计算摘要,想像成是一个杂凑函数,当你将一大块资料输
入给函数后,这个函数永远都能计算出一个独一无二、能代表这笔
资料的短字串。若你修改了这块资料,函数就会计算出另一种摘要
。
当你启动电脑,电脑的控制权会依序从 BIOS(或 UEFI)、MBR、
bootloader 和作业系统这样的顺序传递。为了安全、避免控制权被
攻击者植入的恶意程式抢走,TPM 会一个接着一个以你的 BIOS
(或 UEFI)设置、MBR 区块、bootloader 区块等资料作为参数计
算出摘要,并且和既存的摘要进行比对,若比对成功才会进到下一步
(见图二)。这个计算摘要并比对的过程就是信任链。
若摘要都比对成功,TPM 就会认定你是在可信任的环境下,并且释出
SRK,以 SRK 解密硬盘里的 VMK(volume master key)区块而得到
VMK,然后解密硬盘正常开机;若摘要比对失败,TPM 就不会释出 SRK
,你的硬盘就会被 Bitlocker 锁定(见图三)。
你可以参照参考资料[1]了解做哪些动作也会使硬盘被 Bitlocker 锁
定。
https://imgur.com/a/TyzqOl9
(图二之一、TPM 计算摘要示意)
https://imgur.com/a/pkQjxyI
(图二之二、TPM 计算摘要示意,这张图更详细地描述信任链)
https://imgur.com/a/Wzts7Cv
(图三、Bitlocker 解密硬盘示意)
# Win PE 之所以有效的原因
除了正常开机流程以外,似乎也有其他方式被 TPM 认为在可信任的环
境下,比方说使用 Win PE 开机,然后再由 Win PE 转交控制权给原本
的作业系统。
我个人推测,我之所以更新 Windows 后重新开机,硬盘就被 Bitlocker
锁定,理由是因为 Windows 那个磁区的 bootloader 因为更新而被改
变了,所以 TPM 算出了与以往不同的摘要。但若使用 WinPE 开机的话
,就可以省去 bootloader 这部分摘要的计算和比对。
如果这个推测合理,若你不小心修改的东西是 BIOS(或UEFI)、MBR
或是 TPM 本身,而非 bootloader,那你可能就没办法透过以 Win PE
开机来解决硬盘被 Bitlocker 锁定的问题。
此外好像有一些第三方制作的备援光盘含有 Win PE,但我这里写的方
法就只是微软官方提供的方法。
# 制作 Win PE 开机碟
1. 下载 Windows ADK
参照参考资料[4],下载 Windows ADK,包含以下两样东西:
- Windows ADK 10.1.26100.2454 (2024 年 12 月)
- Windows ADK 10.1.26100.2454 的 Windows PE 附加元件
2. 安装 Windows ADK
安装 Windows ADK,安装时选择 [部署工具] 功能。
https://reurl.cc/eMzAOK
(图四、Windows ADK 安装选择画面)
3. 启动“部署与映像工具环境”
以系统管理员身分打开一个叫做“部署与映像工具环境”的
命令提示视窗。
https://reurl.cc/6Kvx0b
(图五、“部署与映像工具环境”的命令提示视窗)
4. 建立一个 Win PE 的暂时工作区
参照参考资料[3]的步骤一,建立一个 Win PE 的暂时工作区。
假设你将暂存区订为 C:\WinPE_amd64,在部署与映像工具环境输
入以下指令。
```
copype amd64 C:\WinPE_amd64
```
5. 建立可开机媒体
参照参考资料[3]的步骤三:建立可开机媒体。
准备一个空随身碟,插入电脑的 USB 孔。假设随身碟的磁盘代号
是 P:,在在部署与映像工具环境下以下指令。
```
MakeWinPEMedia /UFD C:\WinPE_amd64 P:
```
这个指令会先将你的随身碟格式化成开机碟,然后在随身碟上建立
你放在暂时工作区的 Win PE 环境。
# 参考资料
[1] BitLocker 复原概观 - Microsoft Learn
https://learn.microsoft.com/zh-tw/windows/security/operating-system-security/
data-protection/bitlocker/recovery-overview
[2] Understanding BitLocker TPM Protection - ElcomSoft Blog
https://blog.elcomsoft.com/2021/01/understanding-bitlocker-tpm-protection/
[3] 建立可开机的 Windows PE 媒体 - Microsoft Learn
https://learn.microsoft.com/zh-tw/windows-hardware/manufacture/desktop/winpe-
create-usb-bootable-drive?view=windows-11
[4] 下载及安装 Windows ADK - Microsoft Learn
https://learn.microsoft.com/zh-tw/windows-hardware/get-started/adk-install
[5] 制作WinPE可开机光盘 - proliantaholic.blogspot.com
https://proliantaholic.blogspot.com/2017/04/Win10PEADK.html
[6] Analyzing the Chain of Trust Model Based on Entity Dependence
(图二之二来源)
https://link.springer.com/chapter/10.1007/978-3-030-62974-8_9