Error de hdparm: SG_IO: datos de detección incorrectos o faltantes

Error de hdparm: SG_IO: datos de detección incorrectos o faltantes

Estoy probando hdparm en Kali Live para agregar una contraseña ATA a mi SSD autocifrado Micron M600. Yo uso:hdparm --security-set-pass PASSWORD sda

Pero obtengo:

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

Entonces, ¿por qué pasa ésto?

Cuando escribo hdparm -I sda, muestra que mi unidad está "congelada por seguridad", recuerdo que eso significa que no puedo cambiar ninguna configuración de seguridad, incluida agregar contraseña ATA, ¿es ese el problema?

Mi BIOS no admite contraseña ATA y nunca la había configurado antes.

EDITAR: La parte de seguridad de 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.

El formato de este sitio web siempre es complicado, pero hago todo lo posible para que el contenido sea legible.

Respuesta1

Respuesta parcial, porque es demasiado larga para un comentario:

Los datos sensoriales dados dicen:

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

Entonces el error es "Solicitud ilegal, comando de escritura no alineado". Eso no tiene mucho sentido si hdparmse utiliza un comando SCSI de escritura directa ATA.

No tengo idea de por qué sucede esto. Si se trata de la reacción al estado de "seguridad congelada", es una reacción realmente extraña. ¿Posiblemente a algo en las capas de traducción de SCSI a SSD no le gusta el comando de escritura directa ATA?

¿Está seguro de que el SSD Micron M600 admite contraseñas ATA?

Editar: El manual que vinculó dice:

Soporte para SED de Microncualquierala especificación TCG Opal 2.0oel CONJUNTO DE FUNCIONES DE SEGURIDAD ATA. Los modos de seguridad ATA generalmente se inician mediante el BIOS del sistema o mediante algunos sistemas basados ​​en interfaz de firmware extensible universal (UEFI) en modo heredado. Según las especificaciones de las organizaciones de estándares industriales asociadas, TCG Opal y la seguridad ATA son mutuamente excluyentes. En otras palabras, si uno está habilitado, el otro está deshabilitado.

Entonces, si su BIOS no lo habilita, no funcionará. "Congelado" simplemente significa que no puedes cambiar el estado.

Edite su pregunta con el resultado completo en elSeguridadSección de hdparm -I.

Editar

El hdparm -Iresultado dice claramente "no habilitado", pero "congelado". Entonces su BIOS no lo habilitó, sino que se congeló, por lo que no puede cambiar el estado.

Eso significa que su SSD está en modo TCG Opal y no tengo idea de cómo acceder a él en Linux.

Vale la pena probar a encenderlo mientras está enchufado.

Si puede encontrar otra computadora con un BIOS que le permita configurar la contraseña o que no la congele, también puede intentarlo de esa manera.

Respuesta2

Tuve el mismo problema y leí en otros lugares que un ciclo de encendido o de conexión en caliente del dispositivo lo descongelaría. Algunas personas sugirieron suspender el sistema en el caso de computadoras portátiles, así que decidí intentarlo y ¡funcionó!

Así que esto es lo que hice para "descongelar" el disco (está en un servidor remoto de la empresa de hosting hetzner):

Primero inicié el servidor en un entorno de rescate iniciado por nfs. Luego inicié sesión y suspendí el sistema:

local $> ssh root@server    
server #> apt-get install pm-utils
server #> pm-suspend

En este punto, el sistema está suspendido (también el SSD), y mi shell ssh no responde, por supuesto.

Emití una señal WOL (wake on lan) usando el panel de control del proveedor de alojamiento (no estoy seguro si un ping hubiera funcionado o no), después de un tiempo (20 segundos más o menos), el shell volvió a la vida y el SSD estaba descongelado para poder ejecutar el comando --secure-erase usando hdparm como se describe en muchos procedimientos.

Respuesta3

Ninguna respuesta o comentario lo ha mencionado desde que se hizo esta pregunta hace 5 años, pero en realidad existe una manera extremadamente fácil de decodificar un mensaje de error de Sense en su máquina localmente:

Utilice el comando sg_decode_sensedisponible en todas las distribuciones principales de Linux (por ejemplo, en el paquete sg3_utilsde Arch Linux) y pásele el mensaje de error hexadecimal para convertirlo a un formato legible por humanos:

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

PD: Dado que el título de la pregunta es el mensaje genérico que siempre se imprime cuando hdparmse genera un error de detección, creo que esto ayudará a las personas que pasan y que no tienen exactamente este mensaje de error de detección hexa.

Respuesta4

Me encontré con el mismo problema, con exactamente el mismo código de falla. Esto fue en un sistema Dell. Seguí la wiki del arco.https://wiki.archlinux.org/index.php/Solid_state_drive/Memory_cell_clearing

Dice claramente:

Configure la contraseña del disco duro interno en el BIOS (tenga cuidado, el mapa de teclas es en_US / qwerty).

Tengo una distribución de teclado diferente, así que básicamente estuve usando la contraseña incorrecta todo el tiempo...

información relacionada