¿La forma más rápida de borrar un SSD de todas sus particiones para volver a particionar en Linux?

21

Quiero borrar un SSD de todas sus particiones y datos, para poder volver a particionarlo (esto no es por razones de seguridad).

Lo he visto, sudo dd if=/dev/zero of=/dev/sdb bs=1Mpero si esto solo llena cada partición con ceros, no estoy seguro de lo que quiero hacer.

Planeo ejecutar este comando con bastante frecuencia, y no quiero agotar las escrituras de mi SSD. ¿Alguien podría darme consejos para abordar este problema?

IgDV
fuente
1
Estudie esto: ATA Secure Erase . No tengo experiencia con el proceso, por lo que esta no es una respuesta, solo una pista. Cualquiera puede escribir su propia respuesta sobre esto si sabe que esta es la forma correcta.
Kamil Maciorowski
18
¿Por razones de seguridad, o simplemente porque necesita repartir?
user1686
principalmente solo para
repartir
14
Bomba de calibre 12 de acción. ¡Y sabías que alguien lo diría tarde o temprano!
ssimm
1
@ssimm: mi preferencia es una barbacoa de carbón.
Daniel R Hicks

Respuestas:

41

En un SSD: puede RECORTAR discos enteros o particiones usando blkdiscard. No es muy seguro, pero prácticamente instantáneo (el disco simplemente marca todas las celdas como no utilizadas).

Por seguridad: utilice el cifrado de disco completo. No se moleste en limpiar todo el disco si está encriptado; solo necesita limpiar el área que contiene sus claves (por ejemplo, el primer 1–2 MiB de cada partición encriptada).

Para volver a particionar: de nuevo, no se moleste en borrar todos los datos. Solo necesita destruir los sistemas de archivos usando wipefs, luego friegue los primeros 1 MiB de su disco para purgar los cargadores de arranque sobrantes. Después de formatear una partición usando mkfs, el sistema operativo simplemente asumirá que está completamente vacía.

(De hecho, en Linux, mkfs.ext4 RECORTARÁ automáticamente toda la partición antes de formatearla).

usuario1686
fuente
66
Para volver a particionar, ¿por qué no simplemente eliminar particiones antiguas y crear otras nuevas?
el.pescado
55
Porque si crea nuevas particiones en la misma ubicación (posición de inicio), ¡solo encontrará los mismos datos antiguos en ellas! (Por supuesto que es por lo general no es un problema, debido a formatear con mkfsserá la basura de todos modos Pero diversas situaciones extrañas. Qué sucederá - wipefsexiste porque se necesitaba.)
user1686
44
@IgDV: ¿qué man wipefsdice? (Sugerencia: mire el primer ejemplo en la sección de ejemplos de la página de manual)
Timo
2
"solo necesita limpiar el área que contiene sus claves": en SSD, es probable que las claves también sean recuperables. TPM o claves de protección de contraseña segura podrían ser una mejor opción. blkdiscardsería bueno también, ya que crearía un rompecabezas del resto del disco, incluso si el atacante conocía la clave (suponiendo que el mapeo anterior no se pueda recuperar también). "luego friegue los primeros 1 MiB de su disco para purgar los cargadores de arranque sobrantes": la sección adicional se usa solo como desbordamiento de los primeros 512B. Si limpia primero 512B, no se verá perjudicado por el resto de 1M.
Maciej Piechotka
1
@MaciejPiechotka: Desafortunadamente, algunos gestores de arranque (grub en particular) también usan el espacio después del MBR.
user1686
14

Como Kamil Maciorowski menciona , la mejor manera, con el menor desgaste de escritura, de eliminar un disco completo , es usar el comando de 'borrado seguro' de ATA. Esto le indicará al hardware que haga un solo borrado completo, en lugar de sobrescribir las celdas repetidamente como con herramientas como shred. Esto solo se puede hacer para todo el disco, si necesita limpiar selectivamente las particiones, vea la respuesta de grawity ( blkdiscard)

La implementación exacta del comando depende del hardware.

  • La mayoría de los SSD utilizarán una señal eléctrica a granel para limpiar chips enteros de una manera todo o nada. Esto incurre en un desgaste de escritura (normal), pero solo en la mínima medida posible (~ ciclo de escritura simple).

  • Los SSD de autocifrado generalmente solo borrarán la clave de cifrado dentro del chip del controlador (realmente instantáneo). Las unidades de autocifrado siempre cifran, incluso listas para usar (con una clave predeterminada de fábrica). Por lo tanto, limpiar la clave solo deja un revoltijo descifrable en los chips flash, incluso si no se configuró una clave de usuario.

  • Los discos duros Spinning-Rust harán una escritura cero basada en hardware de todos los sectores, lo que es equivalente (y requiere mucho tiempo) como hacerlo dd if=/dev/zero.

El proceso se documenta bastante bien aquí: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (personalmente he usado este proceso repetidamente en mis propios SSD cuando reinstalé los SO)

Editar: si está interesado en las implicaciones de seguridad: consulte esta pregunta de Security.SE

Jules Kerssemakers
fuente
¿Secure Erase es compatible con la mayoría de los discos ATA? Tenía la impresión de que su apoyo es poco común.
Ruslan
1
Todavía no he encontrado un disco (moderno, SATA) que no lo admitiera, pero admito que mi experiencia se limita a los discos duros que he tenido personalmente. También parece haber una diferencia entre "borrado seguro" y "borrado seguro mejorado", siendo este último menos compatible.
Jules Kerssemakers
3
@Ruslan Nunca he visto (o oído hablar) de un disco de especificación SATA-2 que no sea compatible. Casi cualquier disco SATA fabricado en los últimos 10 años debería tenerlo.
Tonny
¿Esto también significa que en los SSD de autocifrado, el comando TRIM no funciona? (De lo contrario, no siempre es cifrado, ¿verdad?)
Mehrdad
1
@Mehrdad: Sí, el uso de TRIM en un SSD cifrado filtra información sobre qué bloques están libres. Si eso es aceptable depende de sus necesidades de seguridad. Vea, por ejemplo, askubuntu.com/questions/399211/… para una discusión.
sleske
4

Teniendo en cuenta que ha pedido una solución sobre cómo borrar rápidamente los discos Reemplace / dev / sdx con su disco, muy probablemente / dev / sda

Esto borrará la tabla de particiones.

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

Esto borrará todo el disco, tomará un tiempo.

cat /dev/zero > /dev/sdx
Jarrod Chesney
fuente
44
No utilice cat. Úselo ddpara mejorar el rendimiento.
Micheal Johnson el
66
@Micheal Usted dice eso, pero por defecto ddusa buffers de 512 bytes, lo que arruinará el rendimiento ... Coreutils ( cpy presumiblemente también cat) tienen un tamaño de buffer más sensible. No hay nada de eso ddque lo haga de alguna manera inherentemente más rápido, de todos modos.
user1686
3
@grawity Puede cambiar el tamaño del búfer con dd. La última vez que intenté usar catpara escribir una imagen en un disco, fue significativamente más lento que usarlo ddcon un tamaño de búfer apropiado.
Micheal Johnson