我有一台华硕 UX32V 笔记本电脑,它既有板载 SSD(我认为是 24GB),也有可更换的 HDD。几年前,我用 250GB SSD(三星)替换了 HDD。现在,我打算用 500GB SSD(Crucial MX300)替换 250GB SSD。
有了 250GB SSD,我拥有了 Linux Mint 和 LUKS 软件级加密。我决定,有了新的 500GB SSD,我想使用 Crucial MX300 支持的硬件级磁盘加密。
UX32V 的 BIOS 有 4 个可配置密码:
- (BIOS)管理员密码
- (BIOS)用户密码
- 硬盘主密码
- 硬盘用户密码
当时(几个小时前),我以为硬盘密码会激活硬件级磁盘加密。经过进一步研究,我相信这个假设是错误的。可能这台机器甚至不支持硬件级磁盘加密。
我当时还以为密码是指新安装的 500GB SSD。
然后我移除了 500GB SSD(没有更换它),惊讶的是启动时仍然会提示输入密码。哎呀!
仅当插入较旧的 250GB SSD 时,启动时的 BIOS 密码提示才会消失。
我的结论是,硬盘密码也适用于板载硬盘。或者可能只适用于板载硬盘?
不幸的是,我在创建“HDD 用户密码”时似乎拼错了(2次?),所以现在我遇到了一点问题。
但我知道“HDD 主密码”。启动时这没问题,因为我可以按 Esc 并输入主密码而不是用户密码。这允许我继续,例如从可启动的 USB 棒启动。
但在 BIOS 中,“HDD 主密码”不授权我更改“HDD 用户密码”。真伤心!
如上所述,如果我插入较旧的 250GB SSD,它不会要求输入任何硬件级 HDD 密码,我可以正常启动 Linux。然后我可以使用 GParted 查看磁盘。
如果我启动 GParted,首先会出现“错误 fsyncing/closing /dev/sdb:输入/输出错误”(重试/忽略)和“读取 /dev/sdb 时输入/输出错误”(重试/取消/忽略),这两个信息都出现了 2 次。单击“忽略”4 次后,GParted 正确打开。250GB SSD 显示为 /dev/sda 及其不同的分区。板载 SSD 显示为 /dev/sdb,全部为“未分配”。
我不记得在启用 BIOS HDD 密码之前板载 SSD 上是否有任何数据。也许它只是显示为“未分配”,因为无法读取数据?
问题
问题的本质是“我很困惑”。有很多假设,但确定性不多。
一个密码,多个硬盘:
如果系统包含多个硬盘,我如何知道哪个硬盘受到 BIOS 级 HDD 密码的影响?它是否始终适用于系统中当前的所有驱动器?现有密码如何影响插入的新驱动器/其他驱动器?
这些 BIOS HDD 密码存储在哪里?在驱动器上还是在 BIOS 上?
如果密码影响板载 SSD,那么为什么在安装了 250GB SSD 的情况下启动时不会要求我输入密码?如果没有要求我输入 HDD 密码,但其中一个驱动器受密码保护,那么我如何访问文件(如果有)?
假设密码影响创建密码时插入的所有驱动器 - 那么如果我在仅插入其中一个驱动器而另一个驱动器已被移除的情况下更改密码,会发生什么情况?
用户密码与主密码:
“HDD 用户密码”和“HDD 主密码”有什么区别?
我删除了“HDD 主密码”,启动时还能绕过 HDD 用户密码吗?
我可以使用“HDD 主密码”以某种方式重置“HDD 用户密码”吗?
这可以在这个单独的问题中回答,如果我知道 HDD 主密码,如何重置 HDD 用户密码?
操作系统级工具:
我可以使用 GParted 或 Linux 命令行工具来找出哪些磁盘受 HDD 加密保护吗?
我可以使用其中任何一种工具来重置/删除 HDD 密码吗?
格式化 HDD 会如何影响 HDD 密码?
真实磁盘加密:
我如何知道我的 BIOS 是否支持硬件级磁盘加密?我认为这与“HDD 密码”无关?
系统信息
华硕UX32V
“Aptio 设置实用程序 - 版权所有 (C) 2011 American Megatrends, Inc”
BIOS 供应商:American Megatrends 版本:206 VBIOS 版本:2137.I14UX3.006 EC 版本:B14U120001
BIOS 选项卡:主要、高级、启动、安全、保存和退出
在“高级”选项卡中有一个选项“Intel AES-NI”,当前状态为“[已启用]”,说明为“启用/禁用英特尔高级加密标准新指令(AES-NI)”。
答案1
以下是我亲自解决这个问题的方法,但我并不声称拥有深厚的知识或理解。
首先禁用锁定/ HDD 密码保护,如下所述,如果我知道 HDD 主密码,如何重置 HDD 用户密码?,我从https://serverfault.com/questions/712849/how-to-unlock-a-ssd-disk-with-hdparm/733784#733784
该解决方案要求您至少知道驱动器的主密码,并且您有一个正在运行的 Linux 操作系统并连接了磁盘。
我认为主要的结论是:BIOS 供应商做他们想做的事。
一个密码,多个硬盘
我的观察表明,当我在 BIOS 中指定 HDD 密码时(使用我正在使用的 BIOS 版本),它会影响当时连接的所有 HDD:板载 SSD 和 2.5 英寸 SSD。
一位朋友告诉我,他的 BIOS 针对每个硬盘都有单独的设置。这更有意义。
我个人的结论是,如果 BIOS 无法为每个磁盘进行单独的设置,我就不会使用硬件磁盘锁(或硬件磁盘加密)。
如果我在仅插入其中一个驱动器而另一个驱动器已被移除的情况下更改密码,会发生什么情况?
例如,如果一个驱动器有密码锁定,而另一个没有。或者两个驱动器都有密码锁定,但密码不同?
我想我的特定 BIOS 无法很好地处理这个问题。这就是我不会使用此功能的原因。
用户密码与主密码
正如所说的如果我知道 HDD 主密码,如何重置 HDD 用户密码?:我能够使用 hdparm 仅使用主密码来取消设置用户密码。所有数据都变得可访问。
然而,在我的 BIOS 中这似乎是不可能的。
以下文章,https://www.zeitgeist.se/2014/09/07/enabling-ata-security-on-a-self-encrypting-ssd/,表明实际上有一个设置“MASTER PASSWORED CAPABILITY BIT”,它定义了主密码是否可以用于解锁和禁用安全性。
文章还提到 BIOS 是一个不可靠的工具。
操作系统级工具:
lsblk
很好地概述了系统中当前的磁盘。
hdparm -I /dev/sdx
告诉我们驱动器是否被锁定、冻结等等。
hdparm
可用于解锁驱动器并禁用安全性。
在https://www.zeitgeist.se/2014/09/07/enabling-ata-security-on-a-self-encrypting-ssd/,建议大家应该使用hdparm
它,不要相信 BIOS。我仍在阅读这篇文章。
真实磁盘加密:
(“自加密磁盘”)
我仍然不确定我在 BIOS 中定义的密码是否确实启用了硬件级磁盘加密。
从技术上来说确实如此总是启用。但是密码会用于解密磁盘吗,或者这是另外一回事?我可能会发现更多。