我一直在尝试在我的 Seagate 硬盘上设置密码:
sudo hdparm --user-master m --security-set-pass pwd /dev/sda
我明白了
Issuing SECURITY_SET_Pass command, password="pwd", user=master, mode=high SECURITY_SET_PASS: Input/output error
为什么我总是收到这个错误?
答案1
@Glad:你检查过驱动器是否冻结了吗?我从 ata 规格中得知它不应该冻结。有一些技巧可以让它进入解冻状态,例如暂停到 RAM 并唤醒它。然后我的 I/O 错误消失了,但主密码不起作用......
我同意@Glad 的观点,我认为正在发生的情况是 - 您的 BIOS 可能发出了“SECURITY FREEZE”命令,该命令会在启动时阻止一些与安全相关的 ATA 命令。
如果这是 SATA 驱动器,您可以从 Linux Live CD 启动(尝试使用内核尽可能最新的 CD 以获得最佳hdparm
支持)。系统重新启动后,断开驱动器的电源,然后重新连接。这应该会使驱动器处于解冻状态,因为 BIOS 不会触碰它。
这对于支持热插拔的 SATA 驱动器而言是电气安全的。但对于内部 IDE 或 SCSI 驱动器而言并不安全。
然而 ...
如果这是 USB 连接的驱动器,外部驱动器外壳中的 USB 桥接芯片可能不支持将所有 ATA 命令转发到设备。您应该从外壳中取出驱动器并将其连接到主板上的真实 SATA 端口。
答案2
我清理了我的三星 PM830 (MZMPC256HBGJ-000L1),因为我想摆脱 SMART 错误(无法纠正的错误数/ecc 错误率 -> 这导致了 Windows 更新错误,如 800f0922 -> 我只是猜测像内部擦除这样的操作可以帮助恢复我的 SSD)
请阅读此处导致我的系统出现“SECURITY_SET_PASS:输入/输出错误”的原因:
好吧,我最终使用了 parted magic,并使用了“擦除”->“内部安全擦除”,我不得不使用短暂的待机时间解锁驱动器。我使用了增强的安全擦除。我没有读https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase之前;)我一直等到程序告诉我硬盘内部已完成。
笔记本是联想 Yoga 13。当我重启系统时,系统提示我输入密码。但我从未设置过密码,根据一些消息来源,密码已被设置为空值,并且启用了安全功能。
我如何摆脱我的错误
我启动了另一台没有硬盘的笔记本电脑(华硕 eee 1000h),等待 parted magic 启动。然后热插拔硬盘。打开控制台。当我执行“hdparm -I /dev/sda”时,程序看到了硬盘并告诉我“安全”已启用并锁定。
我跟着https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase并且只得到类似的输出
Issuing SECURITY_SET_Pass command, password="xxxx", user=master, mode=high
SECURITY_SET_PASS: Input/output error
最后,经过一番愤怒的控制后,我第二次重新擦除它,之后我意识到“启用”和“锁定”已经消失了。
我想
hdparm --user-master u --security-erase NULL /dev/X
完成了任务,但我无法确认!根据输入/输出错误,我所有其他尝试都失败了,只有这个成功了。
警告:请阅读其他来源和有关将密码设置为 NULL 的警告,尤其是在联想笔记本电脑上!
但这也许能帮助那些认为硬盘已经被损坏的人。