安全组命令

本页介绍发送某些 ATA 安全组命令的特殊要求。

注意 在 Windows Vista 和 Windows 7 中,Microsoft 提供的 ATA 存储驱动程序堆栈中不允许使用 ATA 安全组命令。 在驱动程序初始化时发送安全冻结锁,以防止擦除。

SECURE ERASE

从Windows 8开始, (发送 ATA 安全组命令(例如用于执行 SECURE ERASE) 的命令)的功能仅限于使用特定硬编码密码的 Windows 预安装环境 (WinPE) 。

这样做的原因是为了确保在发出 SECURE ERASE 命令时,设备可以保持安全状态,同时允许在处理 SECURE ERASE 命令期间发生断电或其他一些不可预见的事件时解锁设备。

由于某些现有应用程序仍需要发出这些命令,因此使用以下 ATA 安全组命令序列完成执行 SECURE ERASE 的过程:

  • 安全设置密码
  • 安全擦除准备
  • SECURITY ERASE UNIT

执行 SECURE ERASE 的要求如下:

  • 初始化期间不会从 BIOS 发送 SECURITY FREEZE LOCK 命令。
  • AHCI 控制器未在 IDE/ATA 模式下运行, (例如 Microsoft PATA 驱动程序 atapi.sys不得管理控制器) 。
  • 系统必须启动到基于 Windows 8 或更高版本的 WinPE。 在 WinPE 下运行时,Microsoft 的 AHCI 驱动程序 StorAHCI.sys在初始化期间不会发送 SECURITY FREEZE LOCK 命令。
  • 发出包含“AutoATAWindowsString12345678901”作为用户密码字符串的 SECURITY SET PASSWORD 命令。 注意: 此命令仅允许设置用户密码。
  • 根据需要执行安全命令处理,包括发送 SECURITY ERASE PREPARE 和 SECURITY ERASE UNIT。

新应用程序应使用 SANITIZE 功能集中的 CRYPTO SCRAMBLE EXT 命令, (也限制为基于 Windows 8 或更新的 WinPE) 。 这优于 SECURITY ERASE UNIT 命令,因为 T10 标准 (SCSI) 和 T13 标准 (ATA) 以及所有派生总线都支持 SANITIZE。