Después de buscar en diversos repositorios y foros de internet al concluir hemos dado con la resolución que te mostramos pronto.
Solución:
De acuerdo, resulta que en este caso algo (posiblemente cuando escribí el sistema de archivos iso-9660 en la unidad) ha activado algún tipo de protección interna contra escritura en la unidad. Hay no interruptores externos de protección contra escritura/retención, pero aún así esta es la salida en dmesg
cuando corro
dd if=/dev/zero of=/dev/sdb
como raíz:
sd 9:0:0:0: [sdb] Add. Sense: Write protected end_request: I/O error, dev sdb, sector 4028744 sd 9:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK sd 9:0:0:0: [sdb] Sense Key : Data Protect [current] Info fld=0x0
¡Tenga en cuenta los comentarios allí sobre protección! Sin embargo, cuando conecto el dispositivo, obtengo,
scsi 10:0:0:0: Direct-Access FLASH Drive AU_USB20 8.07 PQ: 0 ANSI: 2 sd 10:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB) sd 10:0:0:0: [sdb] Write Protect is off sd 10:0:0:0: [sdb] Mode Sense: 03 00 00 00 sd 10:0:0:0: [sdb] Assuming drive cache: write through sd 10:0:0:0: [sdb] 4069376 512-byte hardware sectors (2084 MB) sd 10:0:0:0: [sdb] Write Protect is off sd 10:0:0:0: [sdb] Mode Sense: 03 00 00 00 sd 10:0:0:0: [sdb] Assuming drive cache: write through
Tenga en cuenta que este mensaje dice que el dispositivo está no escribir protegido! Desafortunadamente, parece que el disco lo ha tenido (es decir, kaput).
Soy nuevo en esto de la administración del sistema Linux, así que cuando tuve exactamente el mismo problema, toqué y empujé sin locura en mi método, pero logré eliminar el iso9660 fs y recuperar la memoria USB.
sudo fdisk -l /dev/sdb1
devuelto
Disk /dev/sdb1: 16.0 GB, 16037969920 bytes
64 heads, 32 sectors/track, 15295 cylinders, total 31324160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I>/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x57155aa7
Device Boot Start End Blocks Id System
/dev/sdb1p1 2048 31324159 15661056 5 Extended
Entonces probé
sudo fdisk /dev/sdb1
Command (m for help): m
Command action
. . .
seguido por
Command (m for help): d Extended
Selected partition 1
Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors
Luego, cuando se me solicitó nuevamente, seleccioné fdisk para crear una tabla de partición dos vacía (algo que pensé que podría sobrescribir con lo que quisiera más tarde)
Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors
Command (m for help): o
Building a new DOS disklabel with disk identifier 0xea06616f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Consideré que los mensajes devueltos significaban que al menos “rompí” el iso9660 fs, así que probé mkfs
sudo mkfs /dev/sdb1
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
979200 inodes, 3915520 blocks
.195776 blocks (5.00%) reserved for the super user
First data block=0
.Maximum filesystem blocks=4009754624
120 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Todo esto me dejó con el directorio “perdido + encontrado” en la memoria USB.
sudo mount /dev/sdb1 /media/
ls /media/
lost+found
Finalmente, fui al sitio web de Ubuntu (http://www.ubuntu.com/download/ubuntu/download, sección 2) y usé el dispositivo para crear una imagen de arranque de Ubuntu para uso de prueba, y me lo permitió. La belleza de las imágenes de Ubuntu creadas en el dispositivo de esta manera es que se pueden eliminar fácilmente y el dispositivo puede recuperarse para otros usos.
Menciono este último paso porque, en retrospectiva, me pregunto si hubiera hecho exactamente eso en primer lugar que hubiera funcionado, no lo sé. Como mencioné, soy nuevo en esto de Linux y estoy probando diferentes distribuciones (por ejemplo, Fedora, Ubuntu, etc.) en CD en vivo con cualquier medio que sea más conveniente, y seguro que rompo muchas cosas en el camino.
mkdosfs -I /dev/sdb
creará un sistema de archivos vfat en la unidad. Se debe pasar -I si desea que el sistema de archivos se cree en todo el disco y no en una partición. Si desea particionar la unidad primero, use fdisk. Por supuesto, fdisk no puede leer la unidad ahora, porque no tiene particiones. Pero estoy seguro de que podrá escribir en él.
Reseñas y valoraciones de la guía
Si te apasiona este mundo, puedes dejar una crónica acerca de qué le añadirías a este post.