¿Cómo quitar ISO 9660 de USB?

22

De alguna manera, he logrado escribir una imagen iso 9660 en mi unidad USB, lo que hace que toda mi computadora piense que el dispositivo es en realidad un CD. He intentado varios métodos para eliminar esta partición, pero nada parece funcionar. Lo he intentado fdisk, lo que dice

$ fdisk -l / dev / sdb
No se puede abrir / dev / sdb
se bloquea cuando intento usarlo en este dispositivo.

Incluso he intentado

$ dd if = / dev / zero of = / dev / sdb
pero simplemente se cuelga sin salida (ya sea en la pantalla o en el disco). Sin embargo, cuando conecto el USB, se monta y puedo ver (pero no editar) los archivos que contiene.

editar : ahora el resultado es

$ dd if = / dev / zero of = / dev / sdb
dd: apertura de `/ dev / sdb ': sistema de archivos de solo lectura

También intenté volver a formatearlo en Windows, pero llega al final del proceso de formateo y luego dice "No se pudo formatear la unidad".

¿Cómo puedo eliminar esta partición y volver a normalizar toda mi unidad USB?

EDITAR 1 : Probar un simple mkfsno funciona:

$ sudo mkfs -t vfat / dev / sdb
mkfs.vfat 3.0.0 (28 de septiembre de 2008)
mkfs.vfat: no intentará crear un sistema de archivos en el dispositivo de disco completo '/ dev / sdb' (use -I si lo desea)
No puedo hacer mkfsel /dev/sdb1porque no hay tal partición, como se muestra:
$ ls / dev | grep sdb
sdb

EDITAR 2 : Esta es la información publicada por dmesg cuando conecto el dispositivo:

$ dmesg
.
. (recorte)
.
usb 2-1: Nuevo dispositivo USB encontrado, idVendor = 058f, idProduct = 6387
usb 2-1: nuevas cadenas de dispositivos USB: Mfr = 1, Producto = 2, Número de serie = 3
usb 2-1: Producto: Almacenamiento masivo
usb 2-1: Fabricante: Genérico
usb 2-1: Número de serie: G0905000000000010885
almacenamiento usb: dispositivo encontrado en 4
almacenamiento usb: esperando que el dispositivo se estabilice antes de escanear
almacenamiento usb: escaneo completo del dispositivo
scsi 6: 0: 0: 0: Unidad FLASH de acceso directo AU_USB20 8.07 PQ: 0 ANSI: 2
SD 6: 0: 0: 0: [SDB] 4069376 sectores de hardware de 512 bytes (2084 MB)
sd 6: 0: 0: 0: [sdb] La protección contra escritura está desactivada
sd 6: 0: 0: 0: [sdb] Sentido de modo: 03 00 00 00
SD 6: 0: 0: 0: [SDB] Suponiendo caché de unidad: escribir a través
SD 6: 0: 0: 0: [SDB] 4069376 sectores de hardware de 512 bytes (2084 MB)
sd 6: 0: 0: 0: [sdb] La protección contra escritura está desactivada
sd 6: 0: 0: 0: [sdb] Sentido de modo: 03 00 00 00
SD 6: 0: 0: 0: [SDB] Suponiendo caché de unidad: escribir a través
 sdb: tabla de particiones desconocida
SD 6: 0: 0: 0: [SDB] Disco extraíble SCSI adjunto
sd 6: 0: 0: 0: adjunto scsi genérico sg2 tipo 0
Extensiones ISO 9660: Microsoft Joliet Nivel 3
Extensiones ISO 9660: RRIP_1991A
SELinux: inicializado (dev sdb, tipo iso9660), utiliza genfs_contexts
CE: hpet aumenta min_delta_ns a 15000 nseg
Esto muestra que el dispositivo está formateado como ISO 9660 y que lo es /dev/sdb .

EDITAR 3 : Este es el mensaje que encuentro en la parte inferior dmesgdespués de ejecutar cfdisky escribir una nueva tabla de particiones en el disco:

SELinux: inicializado (dev sdb, tipo iso9660), utiliza genfs_contexts
sd 17: 0: 0: 0: [sdb] Dispositivo no listo: Tecla de detección: No listo [actual] 
sd 17: 0: 0: 0: [sdb] Dispositivo no listo: <> ASC = 0xff ASCQ = 0xffASC = 0xff <> ASCQ = 0xff
end_request: error de E / S, dev sdb, sector 0
Error de E / S de búfer en el dispositivo sdb, bloque lógico 0
escritura de página perdida debido a un error de E / S en sdb

a_m0d
fuente
¿Estás seguro de que siempre se carga en / dev / sdb? Si observa el final de / var / log / messages después de instalar el dispositivo, verá los mensajes de registro relacionados con su montaje automático.
mas
3
¿Estás seguro de que actualmente no está montado con cdfs o el equivalente?
RBerteig
1
@ Slink84: Creo que acabo de ir sudo dd if=some.iso of=/dev/sdb- No recuerdo haber hecho nada más que pudiera hacerlo
a_m0d
1
La imagen era una imagen Eeebuntu-3.0.0-estándar - no sé que hace que el dispositivo, pero creo que es Toshiba
a_m0d
1
Del par VID / PID, está hecho por "Alcor Micro Corp.", y es un "Transcend JetFlash Flash Drive". Utilizo la lista en linux-usb.org/usb.ids para buscar estas cosas.
RBerteig

Respuestas:

8

De acuerdo, resulta que en este caso algo (posiblemente cuando escribí el sistema de archivos iso-9660 en la unidad) ha activado alguna forma de protección interna contra escritura en la unidad. No hay conmutadores externos de protección / retención de escritura, pero esta es la salida dmesgcuando ejecuto

dd if=/dev/zero of=/dev/sdb

como root:

SD 9: 0: 0: 0: [SDB] Agregar. Sentido: protegido contra escritura
end_request: error de E / S, dev sdb, sector 4028744
sd 9: 0: 0: 0: [sdb] Resultado: hostbyte = DID_OK driverbyte = DRIVER_SENSE, SUGGEST_OK
SD 9: 0: 0: 0: [SDB] Clave de detección: Protección de datos [actual] 
Información fld = 0x0

Tenga en cuenta los comentarios allí sobre la protección! Sin embargo, cuando enchufo el dispositivo, obtengo,

scsi 10: 0: 0: 0: Unidad FLASH de acceso directo AU_USB20 8.07 PQ: 0 ANSI: 2
SD 10: 0: 0: 0: [SDB] 4069376 sectores de hardware de 512 bytes (2084 MB)
sd 10: 0: 0: 0: [sdb] La protección contra escritura está desactivada
sd 10: 0: 0: 0: [sdb] Sentido de modo: 03 00 00 00
SD 10: 0: 0: 0: [SDB] Suponiendo caché de unidad: escribir a través
SD 10: 0: 0: 0: [SDB] 4069376 sectores de hardware de 512 bytes (2084 MB)
sd 10: 0: 0: 0: [sdb] La protección contra escritura está desactivada
sd 10: 0: 0: 0: [sdb] Sentido de modo: 03 00 00 00
SD 10: 0: 0: 0: [SDB] Suponiendo caché de unidad: escribir a través

Tenga en cuenta que este mensaje dice que el dispositivo no está protegido contra escritura. Desafortunadamente, parece que el disco lo ha tenido (es decir, kaput ).

a_m0d
fuente
Escuché en el pasado sobre dispositivos flash que se bloquearon si alguna vez usaste un sistema de archivos que no es FAT con ellos (porque usaron FAT para saber qué bloques no se usaron y podrían descartarse). No he oído hablar de eso durante mucho tiempo, y no pude encontrar nada al respecto con una búsqueda rápida en Google.
CesarB
Hasta ahora, he encontrado a una persona que menciona la dependencia de FAT: linux.derkeiler.com/Mailing-Lists/Debian/2008-08/msg00761.html
CesarB
Lamento escuchar que está muerto ... Je, me alegraría no haber podido reproducir su problema:] Aunque lo he intentado en un viejo disco 'desechable', aún sería triste perderlo. camino.
Kirill Strizhak
¡Sí, especialmente porque solo tenía una semana! bueno ...
a_m0d
1
Encontré lo que estaba buscando: lkml.org/lkml/2009/3/16/363 ("Algunos fabricantes de SDD (no sé cuáles) realmente están examinando la tabla de particiones y haciendo cosas diferentes. Lo sé porque están permanentemente bloqueados si uno escribe una tabla de partición no válida ")
CesarB
6

Soy nuevo en estas cosas de administración del sistema Linux, así que cuando tuve exactamente el mismo problema, pinché e insistí sin ninguna locura en mi método, pero logré eliminar el iso9660 fs y recuperar la memoria USB.

sudo fdisk -l  /dev/sdb1

regresado

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 intenté

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 le solicite nuevamente, seleccione fdisk para crear una tabla de partición de dos vacía (algo que pensé que podría sobrescribir con lo que quisiera más adelante)

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.

Tomé los mensajes devueltos para significar 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 hechas en el dispositivo de esta manera es que se pueden eliminar fácilmente y recuperar el dispositivo para otro uso.

Menciono este último paso porque, en retrospectiva, me pregunto si, en primer lugar, habría hecho eso, no habría funcionado. Como se mencionó, soy nuevo en estas cosas 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.

David Cantwell
fuente
Me encantaría seguir tus pasos para ver si eso lo solucionaría, pero ya no tengo el palo, así que desafortunadamente no sé si ayudarían. Sin embargo, esto podría ser útil para otras personas con el mismo problema.
a_m0d
5
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 toda la unidad y no en una partición. Si primero desea particionar la unidad, use fdisk. Por supuesto, fdisk no puede leer la unidad ahora, porque no tiene particiones. Pero estoy seguro de que podrá escribirle.

Kim
fuente
No funciona, solo imprime el número de versión y sale. Además, fdisk es "No se puede escribir / dev / sdb"
a_m0d
Acabo de probar el comando y escribe en el dispositivo especificado. También solo imprime el número de versión. Puede probar esto con un archivo normal que creó con dd. Puedes ver los cambios que hace con od. Supongo que es un problema de hardware.
Kim
1
Esto funcionó para mí para eliminar una imagen de arranque de Centos cuando las soluciones anteriores habían fallado.
2

Mirando el dmesgfragmento, parece que algo está montando automáticamente la unidad (verifique con mount). Antes de hacer algo con él, debe desmontarlo a mano.

Luego ponga a cero el bloque con la tabla de particiones ( dd if=/dev/zero of=... bs=512 count=1), y ejecute una herramienta de particionamiento para recrear una tabla de particiones vacía. Después de eso, desenchufe y vuelva a enchufar (no debería ser necesario, pero ...) y cree / formatee las particiones que desee. Después de crear las particiones (tal vez tendrá que desconectar y volver a conectar), debería tener /dev/sdb1o algo así, que es donde debe crear el sistema de archivos.

Tenga en cuenta que todos los pasos deben realizarse como root (con sudoo un equivalente). ¡Tenga cuidado de no escribir el nombre de dispositivo incorrecto, o podría borrar su disco duro!

CesarB
fuente
1
Lo he hecho, pero a pesar de que todo el disco parece estar lleno de ceros, ¡de alguna manera se monta y lee el disco!
a_m0d
1

Todavía siento que estamos asumiendo algo que resultará ser falso. Dado que el dispositivo es legible, esta línea al menos le permitirá ver los datos por sí mismo, en lugar de depender de las interpretaciones de los otros programas.

dd if = / dev / sdb count = 1 | xxd -g1 -u

Además, tal vez podríamos separar los problemas con el nodo de desarrollo de los problemas con lo que hay en el dispositivo, forzándolo a otro puerto. Enchúfelo a otra toma USB o conecte otra unidad primero para ocupar SDB.

gbarry
fuente
hmm ... el uso de este comando me dice que el dispositivo está lleno de ceros, lo que probablemente se deba a que finalmente logré dd if=/dev/zero of=/dev/sdbejecutarlo. ¡Sin embargo, fedora todavía monta el dispositivo como un ISO9660 fs cuando está enchufado!
a_m0d
¿Linux todavía usa / etc / fstab? Ahí es donde solían almacenarse estas "asociaciones".
gbarry
No, está usando (creo) udev, o lo que sea que automáticamente monta el disco.
a_m0d
1

Actualmente, su unidad USB no tiene una tabla de particiones, el sistema de archivos iso9660 se encuentra directamente en todo el disco (como un CDROM)

sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table

Creo que primero necesitas hacer una partición

sudo cfdisk /dev/sdb

(asegúrese de que no esté montado antes) en la aplicación fdisk cree una nueva partición.

Una vez hecho esto, cree el sistema de archivos en la nueva partición

sudo mkfs -t vfat /dev/sdb1
Joakim Elofsson
fuente
Probé esto; cfdisk no produce ningún mensaje de error, pero un vistazo rápido dmesgmuestra que en realidad hay un mensaje de error. (ver Edición 3 en la pregunta anterior)
a_m0d
1

Tuve exactamente el mismo problema que tú. Sin embargo, pude encontrar una solución desde un lugar sorprendente. Una vieja computadora portátil con Windows 98SE, que es el último sistema de Windows que he tenido. De todos modos, simplemente colóquelo y cuando intente acceder a la unidad, Windows le preguntará si desea formatearlo. Haga clic en Sí y tendrá una unidad formateada fat16 que es completamente funcional. Sin embargo, no sé si funciona con versiones más nuevas de Windows. La mejor de las suertes.

Anónimo
fuente
Todo el camino hasta Windows 8 :)
Sebastian Godelet
1

Quizás con un simple

mkfs -t vfat /dev/sdb1
Vinko Vrsalovic
fuente
No funciona - ver edición a pregunta
a_m0d
1

Anoche lo hice

dd if=fedora.iso of=sdx  

Después de cuatro horas, tuve un ladrillo iso9660 no arrancable e inmutable. Siguiendo la línea de pensamiento de David, llamé al 'creador de disco de inicio' de Ubuntu (escriba 'creador de disco de inicio' en el tablero), y simplemente seleccioné 'borrar'. Eso lo hizo.

La unidad USB se informó como FAT32 y todo está bien.

dan
fuente
A veces es apropiado usar un martillo, como este. Me pregunto qué había en los primeros sectores de la unidad.
vgoff
0

Retire la unidad y vea si aún puede leerla. Me pregunto si de alguna manera / dev / usb (o donde sea que leas) se haya convertido en un directorio de archivos ordinario.

gbarry
fuente
Intenté esto: cuando lo enchufo nuevamente, lo monta bien y puedo leer todo bien. Según mount, es un sistema de archivos iso9660. Sin embargo, gparted solo muestra 2 GB de espacio no asignado en la unidad. ddse queja de que / dev / sdb es una de sólo lectura del sistema de archivos
a_m0d
0

¿Has intentado volver a montarlo con la opción -t?

umount / dev / sdb
sudo mount -t vfat / dev / sdb / mnt / point

Si eso no funciona, intentaré reproducirlo más tarde, cuando llegue a casa. Parece un problema interesante. Será divertido jugar con:]

Kirill Strizhak
fuente
Ja, no, no funciona, porque mountprimero verifica el tipo de archivo
a_m0d
Sí, sospechaba lo mismo:] Ok, no más ideas "de la nada".
Kirill Strizhak
0

La mejor y más adecuada forma de hacerlo es:

# wipefs --all /dev/sdX

A partir del wipefsmanual:

wipefs puede borrar firmas del sistema de archivos, incursiones o tablas de particiones (cadenas mágicas) del dispositivo especificado para hacer que las firmas sean invisibles para libblkid.

wipefs no borra el sistema de archivos ni ningún otro dato del dispositivo. Cuando se usa sin ninguna opción, wipefs enumera todos los sistemas de archivos visibles y las compensaciones de sus firmas básicas.

wipefs llama al BLKRRPART ioctl cuando ha borrado una firma de tabla de partición para informar al núcleo sobre el cambio.

Esto tiene muchas ventajas, como informar al núcleo sobre el cambio (para que no obtenga ningún error al formatear después), no borrar datos ni sistemas de archivos , y así sucesivamente.

emi
fuente
-1

U3 tiene una utilidad para eliminar su partición U3. También elimina la partición / dispositivo creado por la utilidad que crea la iso 9660. Esto se ha confirmado solo en un dispositivo USB u3, pero ahora puede formatearse y recuperar totalmente el espacio completo como una unidad flash. Podrías intentarlo.

knockNrod
fuente