Ошибка hdparm: SG_IO: плохие / недостающие данные о смысле
Я пытаюсь hdparm в Kali Live, чтобы добавить пароль ATA к моему SSD-накопителю Micron M600 с самошифрованием, я использую: hdparm --security-set-pass PASSWORD sda
Но я получаю:
sda: Issuing SECURITY_SET_PASS command, password="PASSWORD",
user=user, mode=high SG_IO: bad/missing sense data, sb[]: 70 00 05 00
00 00 00 0a 04 51 60 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00
Так почему это происходит?
Когда я печатаю hdparm -I sda
, он показывает, что мой диск "заморожен", я помню, это означает, что я не могу изменить какие-либо параметры безопасности, включая добавление пароля ATA, это проблема?
Мой BIOS не поддерживает пароль ATA, и я никогда не устанавливал его раньше.
РЕДАКТИРОВАТЬ: часть безопасности hdparm -I
:
Security:
Master password revision code = 65534
supported
not enabled
not locked
frozen
not expired: security count
supported: enhanced erase
2min for SECURITY ERASE UNIT.
2min for ENHANCED SECURITY ERASE UNIT.
Формат на этом сайте всегда испорчен, но я стараюсь изо всех сил, чтобы сохранить читабельность текста.
6 ответов
Частичный ответ, потому что это слишком долго для комментария:
Данные смысла даны следующим образом:
70 response code=Current information (about the error etc.)
00
05 sense code=Illegal Request
00 00 00 00 (not valid)
0a additional 10 bytes
04 51 60 00 (command specific)
21 04 additional sense code=Unaligned Write Command
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Таким образом, ошибка "Недопустимый запрос, команда невыровненной записи". Это не имеет особого смысла, если hdparm
использует команду ATA, написанную через SCSI.
Я понятия не имею, почему это происходит. Если это реакция на "замороженное состояние безопасности", то это действительно странная реакция. Возможно, что-то в слоях перевода SCSI-SSD не любит команду сквозной записи ATA?
Знаете ли вы, что твердотельный накопитель Micron M600 поддерживает пароли ATA?
Изменить: руководство, которое вы связали говорит:
SED от Micron поддерживают либо спецификацию TCG Opal 2.0, либо набор функций ATA SECURITY FEATURE. Режимы безопасности ATA обычно инициируются системным BIOS или некоторыми системами на основе универсального расширяемого интерфейса встроенного программного обеспечения (UEFI) в устаревшем режиме. По спецификации соответствующих отраслевых организаций, стандарты TCG Opal и ATA являются взаимоисключающими. Другими словами, если один включен, другой отключен.
Так что, если ваш BIOS не включает его, он не будет работать. "Замороженный" просто означает, что вы не можете изменить состояние.
Пожалуйста, отредактируйте свой вопрос с полным выводом в разделе " Безопасность " hdparm -I
,
редактировать
hdparm -I
на выходе четко написано "не включено", но "заморожено". Таким образом, ваш BIOS не включил его, но застыл, поэтому вы не можете изменить состояние.
Это означает, что ваш SSD находится в режиме TCG Opal, и я не знаю, как получить к нему доступ в Linux.
Выключение питания, когда он подключен, стоит попробовать.
Если вы можете найти другой компьютер с BIOS, который позволяет вам установить пароль, или который не замораживает его, вы можете попробовать это тоже так.
Если бы у меня была такая же проблема, я читал в других местах, что цикл питания или горячего подключения устройства разморозил бы его. Некоторые люди предлагали приостановить работу системы в случае ноутбуков, поэтому я решил попробовать, и это сработало!
Итак, вот что я сделал, чтобы "разморозить" диск (он находится на удаленном сервере в хостинговой компании hetzner):
Сначала я загрузил сервер в загрузочную среду NFS. Затем я вошел в систему и приостановил работу системы:
local $> ssh root@server
server #> apt-get install pm-utils
server #> pm-suspend
На этом этапе система приостановлена (также SSD), моя оболочка ssh не отвечает, конечно.
Я выдал сигнал WOL (wake on lan) с помощью панели управления хостеров (не уверен, что пинг выполнил бы трюк или нет), через некоторое время (20 секунд или около того) оболочка вернулась к жизни, и SSD был Разморозить, чтобы я мог выполнить команду --secure-erase, используя hdparm, как описано во многих инструкциях.
Ни в одном ответе или комментарии об этом не упоминалось с тех пор, как этот вопрос был задан 5 лет назад, но на самом деле существует чрезвычайно простой способ локально расшифровать сообщение об ошибке Sense на вашем компьютере:
Используйте командуsg_decode_sense
доступен во всех основных дистрибутивах Linux (например, в пакетеsg3_utils
в Arch Linux) и передайте ему шестнадцатеричное сообщение об ошибке, чтобы преобразовать его в удобочитаемую форму:
user@host$ sg_decode_sense 70 00 05 00 00 00 00 0a 04 51 60 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Fixed format, current; Sense key: Illegal Request
Additional sense: Unaligned write command
PS: Поскольку заголовок вопроса является общим сообщением, которое всегда печатается, когдаhdparm
выводит ошибку Sense, я верю, что это поможет людям, проходящим мимо, у которых нет точного сообщения об ошибке Hexa Sense.
Ни один из ответов выше не работал для меня. Но этот сделал:
https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
Я исправил замороженное состояние моего внутреннего SSD, вынув его и вставив обратно в ноутбук, когда он был включен. (Я загружался с DVD.)
Затем мне нужно было установить пароль безопасности для запуска команд --secure-erase & --secure-erase-extended.
Пароль будет автоматически очищен после стирания.
Я столкнулся с той же проблемой, с точно таким же кодом ошибки. Это было в системе Dell. Я следил за аркой вики https://wiki.archlinux.org/index.php/Solid_state_drive/Memory_cell_clearing
В нем четко говорится:
Установите внутренний пароль жесткого диска в BIOS (будьте осторожны, раскладка - en_US / qwerty).
У меня другая раскладка клавиатуры, поэтому я все время использовал неправильный пароль...
У меня такая же ошибка, сервер был автоматически запущен после отключения электроэнергии, и один из дисков был в зависшем режиме. Решением моего случая была простая перезагрузка.