无TPM机器使用U盘用BitLocker加密系统盘和数据盘并开机自动解锁

迅恒数据中心
前提:建议使用专业版或企业版(我在IoT企业版上测试的,非专业版和企业版不保证可以实现)一个U盘(容量速度基本没要求但是稳定可靠的,512M的也足够)
题外话:不了解BitLocker的人不建议贸然在关键设备上使用加密,使用BitLocker务必保存好解密密钥,如果所有其他办法都忘记或者失效,这是最后一根稻草,有这个密钥基本上可以保证解密数据,切记妥善保存解密密钥,既不要丢失也不要泄漏。
1.        首先检查机器的情况,确认机器无TPM支持(BIOS里的检查此处不细讲),系统内无TPM或TPM没有开启表现为,设备管理器内无TPM设备,执行tpm.msc,也提示找不到兼容的TPM,如下图1:

2.        执行gpedit.msc打开组策略,计算机配置>管理模板>Windows组件>BitLocker 驱动器加密>操作系统驱动器。打开”启动时需要附加身份验证”,选择已启用选项,确认“没有兼容TPM时允许BitLocker(在U盘上需要密码或启动密钥)”勾选状态,其他不变,确定。如下图:

3.        此时我们尝试在系统盘上启用BitLocker发现,已经有了插入U盘和输入密码选项。确认组策略已经生效,但此时我们不开始加密,关闭窗口。

4.        我们先处理U盘,使用DG,删除U盘所有的分区,并转化GTP分区格式
5.        使用DG对U盘重新分区,建议同时创建MSR分区,ESP分区看个人爱好。主分区分200M足够了,格式FAT32,exFAT都可以。
6.        正式开始执行系统盘加密,在系统盘上选择启用BitLocker,选择“插入U盘”选项,下一步:


7.        选择刚刚的U盘分区,下一步:


8.        这一步备份恢复密钥,我们不要选择“保存到U盘”选项【如果你有多个U盘,可以选在保存在另外一个U盘上】,因为我们的U盘是用来做启动自动解锁系统盘使用,密钥保存在这个U盘就没有意义了。我们可以选择保存在微软账号(推荐),或文件或打印成pdf,然后拷贝到其他设备保管,继续下一步:



9.        系统提示我们需要重新启动计算机,重启:

10.        重启后,系统会自动开始对系统盘加密,等待执行完成,如下:


11.        数据盘我们也可以开启加密,并设置为开机自动解锁,以下为操作流程,首选选择想要加密的数据盘,选择开启BitLocker。这一步我们选择用密码解锁驱动器(因为没有其他选项可以用),如下:


12.        加密完成后,我们打开BitLocker管理,找到加密的数据盘,点击启用自动解锁,如下:

13.        重启系统后,我们可以看到,系统已经成功启动并自动解锁了系统盘和数据盘,此时我们可以删除数据盘的密码解锁方式,仅保留系统自动解锁以增强安全。注意两点:1.务必确认密钥已经妥善保管;2.根据个人需要也可以不删除密码。
14.        虽然到这一步,基本上已经实现了标题所说的目的,但这里有个很大的问题,此时的U盘的分区在系统里是可以看到的,而启动密钥是一个隐藏文件保存在这个分区内,如果不小心格式化会导致系统无法启动。而且也不完美,强迫症无法忍受。那么我们继续对这个分区进行一些操作。此时我们使用Windows自带diskpart命令修改分区的类型(这也是一开始要改成GPT格式的原因)

15.        我们先执行diskpart命令,然后(1)执行list disk 查看磁盘情况,注意U盘的磁盘号,比如我的是 磁盘2【每个机器不同】。(2)执行sele disk 2 【每个机器不同,不可照抄,要配合步骤1的结果】选择U盘为当前操作盘。(3)执行 list part 查看U盘的分区情况,找到保存启动密钥的分区【表现为主分区】,比如我的为分区2【每个机器不同】。(4)选择这个分区为当前操作分区,执行sele part 2【每个机器不同,不可照抄,要配合步骤3的结果】。(5)执行 Set id =  F4019732-066E-4E12-8273-346C5641494F 【此处照抄】。(6)执行gpt attributes = 0x0000000000000001   【此处照抄】 这些参数的请看后面内容。

16.        执行完成后,我们回到磁盘管理可以看到如下结果,系统的磁盘管理器分区为OEM不可操作,资源管理器里没有盘符挂载,退出USB设备里没有这个U盘。这样一般不会误操作损坏启动密钥。
17.        测试效果,我们关机,拔掉U盘,开机,结果如下:

18.        插入U盘,并重新启动计算机,正常进入系统并解锁BitLocker加密的磁盘。以后我们不使用计算机的时候就拔走U盘。此外这个启动密钥是可以重新复制到其他U盘上的,方法是在系统盘上点开BitLocker管理即可看到选项,这里我没有截图,就懒得弄了,很简单的操作,大家自行研究。

19.
在GPT分区表中的分区信息中有一段用于表示分区类型的内容(16字节,即128位)。可以在这里查看分区类型列表(十六进制的GUID表示)。Windows下常见的GUID分区类型主要有:

C12A7328-F81F-11D2-BA4B-00A0C93EC93B            EFI系统分区
DE94BBA4-06D1-4D40-A16A-BFD50179D6AC         WinRE恢复环境分区、系统备份分区
E3C9E316-0B5C-4DB8-817D-F92DF00215AE            微软保留(MSR)分区
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7            基本数据分区
5808C8AA-7E8F-42E0-85D2-E1E90434CFB3            逻辑软盘管理工具元数据分区
AF9B60A0-1431-4F62-BC68-3311714A69AD            逻辑软盘管理工具数据分区
37AFFC90-EF7D-4e96-91C3-2D7AE055B174          IBM通用并行文件系统(GPFS)分区
E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D          存储空间(Storage Spaces)分区

BFBFAFE7-A34F-448A-9A5B-6213EB736C22           Lenovo OEM分区(一键还原启动分区)
F4019732-066E-4E12-8273-346C5641494F               Sony OEM分区(一键还原启动分区)

GPT分区类型用于区别分区的用途,GPT分区表中的分区信息中除了分区类型外,还用了另一段区域(8字节,即64位)来表示分区属性,各位作用如下:

0x0000000000000001(0位)  将分区表示为必需分区,不允许用户更改数据(Windows下将标记为OEM分区)
0x8000000000000000(63位)   当硬盘被挂载到另一台电脑时默认不分配盘符。
0x4000000000000000(62位)  表示该分区不可被检测到。
0x2000000000000000(61位)  表述该分区为另一个分区的卷影拷贝。
0x1000000000000000(60位)  为分区设置只读属性。

更改GPT分区类型和分区属性的方法:
在管理员身份的CMD中(Vista以上版本系统)依次执行以下命令即可(括号内为注释内容):

Diskpart    (打开diskpart工具)
List disk    (可选。帮助查看连接到电脑的所有存储器及其编号)
Select disk N    (选择地N个硬盘,N为硬盘编号)
List part    (可选。帮助查看选定硬盘上的所有分区及其编号)
Select part N    (选定第N个分区,N代表分区编号)
Set id = xx    (设定分区类型,xx代表十六进制GUID分区类型ID)
gpt attributes = 0xXXXXXXXXXXXXXXXX    (设置分区属性,XXXXXXXXXXXXXXXX代表分区属性)
 

分类:安全公告 百度收录 必应收录