如何将 Linux 连接到已“安全锁定”的 HDD

如何将 Linux 连接到已“安全锁定”的 HDD

在摆弄几个硬盘、hdparm--security-set-pass--security-erase选项的过程中,我发现一堆硬盘处于“锁定”状态,我无法解锁它们。

我知道密码是什么,而且我确信如果我能说服 Linux 创建我的/dev/sdc块设备,我就可以使用hdparm这些--security-unlock设备。但是,Linux 拒绝创建该块设备。我相信它正在尝试识别该设备,但由于该设备已被锁定,因此失败。

有没有办法说服 Linux 内核创建块设备,即使它(暂时)无法与驱动器通信?以下是反复发出的内核消息:

May 10 18:40:02 kernel: [  480.989385] ata10: exception Emask 0x10 SAct 0x0 SErr 0x4000000 action 0xe frozen
May 10 18:40:02 kernel: [  480.989395] ata10: irq_stat 0x00000040, connection status changed
May 10 18:40:02 kernel: [  480.989401] ata10: SError: { DevExch }
May 10 18:40:02 kernel: [  480.989414] ata10: limiting SATA link speed to 1.5 Gbps
May 10 18:40:02 kernel: [  480.989421] ata10: hard resetting link
May 10 18:40:04 kernel: [  483.216053] ata10: SATA link down (SStatus 1 SControl 310)
May 10 18:40:04 kernel: [  483.216073] ata10: EH complete

内核是 2.6.38-16-generic。Ubuntu。使用 eSATA 控制器(AHCI 驱动器),但直接插入主板也会出现同样的情况。我还无法在禁用 AHCI 的情况下测试这一点。(为此需要另一台计算机)。

答案1

我遇到了同样的问题,dmsg 错误大致相同。

问题是,尽管我知道密码,但驱动器拒绝了它。这个问题是由于试图用另一台电脑解锁一台电脑 BIOS 中锁定的驱动器而导致的。长话短说:电脑的 BIOS 没有向驱动器发送实际密码,而是一个由用零填充的密码组成的 32 个字符的字符串。

还有一次情况更糟:BIOS 进行了某种哈希处理(我猜是这样),并向驱动器发送了一个完全不同的密码。我尝试了几种不同的填充方法,但都没有成功。(这是一台 Acer。)ThinkPad 也以做这种事情而闻名。请看以下示例:http://shackspace.de/?p=1976

因此,请尝试在设置密码的同一台 PC 上解锁驱动器;尝试不同的填充(0x00、0xFF,...);尝试使用 hdparm 锁定驱动器,看看是否可以再次解锁。

相关内容