Cómo formatear una memoria USB

11

Mi memoria USB parece muerta:

victor@X301A1:~$ umount /dev/sdc1

victor@X301A1:~$ sudo mkfs -t vfat /dev/sdc1
mkfs.vfat 3.0.12 (29 Oct 2011)
mkfs.vfat: unable to open /dev/sdc1: Read-only file system

victor@X301A1:~$ sudo hdparm -r0 /dev/sdc1
/dev/sdc1:
 setting readonly to 0 (off)
 readonly      =  0 (off)

victor@X301A1:~$ sudo fsck -n /dev/sdc1
fsck de util-linux 2.20.1
dosfsck 3.0.12, 29 Oct 2011, FAT32, LFN
/.Trash-1000/files/sans_titre
 Start does point to root directory. Deleting dir. 
/.Trash-1000/files/Bus CAN
 Start does point to root directory. Deleting dir. 
Reclaimed 190903 unused clusters (781938688 bytes).
Free cluster summary wrong (1001897 vs. really 1383698)
  Auto-correcting.
Leaving file system unchanged.
/dev/sdc1: 8052 files, 566660/1950358 clusters

¿Hay alguna forma de recuperar mi memoria USB? Gracias

Victor Lamoine
fuente
mi problema era un monstruo de solo lectura de 128 gb (también conocido como pos). Parece que se requería una combinación de cosas. Cambié todo lo que pude con un "sudo nautilus" de permisos cambiantes, numerosas instalaciones (ninguna de las cuales funcionó). solo cuando el disco se fue a rw pude hacer el dd, lo que tomó mucho tiempo.
dwpbike

Respuestas:

27

Bueno, uno podría intentar poner a cero el dispositivo de bloque sin procesar para ver si eso puede funcionar. Si puede escribir en eso, entonces podrá crear una tabla de partición limpia, crear una nueva partición y formatearla.

Supongamos que la memoria USB está en / dev / sdc, primero asegúrese de que / dev / sdc1 esté desmontado:

umount /dev/sdc1

Vea si puede borrar la tabla de particiones, por ejemplo, copiando un montón de ceros en los primeros K

sudo dd if=/dev/zero of=/dev/sdc bs=512 count=16

Si eso funciona, vea si puede escribir ceros en todo el dispositivo sin que falle. Para ver fácilmente si el kernel no puede escribir en el dispositivo, primero borre los mensajes actuales del kernel y tírelos usando:

sudo dmesg -c > /dev/null

.. entonces cero todo el dispositivo:

sudo dd if=/dev/zero of=/dev/sdc bs=1M

..Esto tomará un rato. dd se completará cuando el dispositivo de bloque sin procesar esté completamente escrito o se haya producido un error.

Luego, verifique si el núcleo se ha quejado del dispositivo, usando:

dmesg

..si ve una carga de mensajes de error, entonces sabe que la memoria USB probablemente no esté en buenas condiciones.

Sin embargo, si esto funciona bien, ejecute fdisk o separe para crear las particiones desde limpio, por ejemplo, con fdisk utilizo:

sudo fdisk /dev/sdc
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-7796735, default 2048): <return>
Last sector, +sectors or +size{K,M,G} (2048-7796735, default 7796735): <return>
Command (m for help): t
Hex code (type L to list codes): 6
Command (m for help): w

..note solo presiona regresar para las preguntas del primer y último sector, fdisk elegirá los valores predeterminados correctos (que serán diferentes a los de mi ejemplo anterior). Y luego formatee la partición con VFAT:

sudo mkfs.vfat /dev/sdc1

y luego retire y vuelva a insertar la unidad. Debe tener un formato limpio.

Colin Ian King
fuente
Périphérique Amorce Début Fin Blocs Id Système / dev / sdb1 * 32 15633407 7816688 b W95 FAT32 victor @ X301A1: ~ $ sudo dd if = / dev / zero of = / dev / sdb bs = 512 count = 16 dd: ouverture de «/ dev / sdb »: Système de fichiers accesible en lecture seulement (Medios: sistema de archivos de solo lectura)
Victor Lamoine
Respuesta fenomenalmente detallada y precisa. Necesitaba saber cómo poner a cero la información de la tabla de particiones y me quedé para el resto. Preciso hasta el último comando.
Kaobear
1
Agregue la status=progressopción a dd(se requiere GNU Coreutils 8.24+) para mostrar un progreso.
naXa
status=progressno parece mostrar el progreso
030
Advertencia: el ddcomando puede tardar mucho tiempo. ¡Para mi memoria USB de 128GB tardó ~ 50 minutos!
Bach
2

Simplemente puede formatearlo usando gparted . Si eso no funciona, como se documenta aquí , puede:

  1. Enchufa tu unidad USB. Míralo aparecer en tu escritorio.
  2. Elija Sistema> Administración> Editor de particiones (ingrese su contraseña)
  3. En Partition Editor, elija Gparted> Dispositivos, y luego el dispositivo que corresponde a su unidad flash (que determiné al observar el tamaño total de los discos)
  4. Desmontar la unidad: selecciónela en la lista, luego elija Partición> Desmontar.
  5. Elija Partición> Verificar. Aparecerá una ventana en la parte inferior que indica que esta tarea está pendiente. ASEGÚRESE DE QUE NO HAY OTRAS TAREAS PENDIENTES.
  6. Haga clic en "Aplicar" y "Aplicar" nuevamente en la ventana de diálogo de confirmación.
  7. Cuando Gparted haya terminado con la verificación, volverá a montar la unidad y la abrirá en una nueva ventana.
SiddharthaRT
fuente
Gparted no puede formatear la llave USB porque es un dispositivo de solo lectura. No tengo interruptor de hardware en la llave
Victor Lamoine