Dispositivos USB que se muestran como de solo lectura

123

Estoy usando Ubuntu 14.04.

Tengo una memoria USB FAT32 de 8 gb y un HDD FAT32 de 500 gb; ambos se han convertido de repente en dispositivos de solo lectura.

Intenté eliminar el directorio dentro /mediay luego crearlo nuevamente, renombrarlo y luego otorgarle permisos completos a ese directorio. Sin embargo, esto no funcionó.

Resultados de mount:

$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro) 
proc on /proc type proc (rw,noexec,nosuid,nodev) 
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) 
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw) 
none on /sys/kernel/debug type debugfs (rw) 
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755) 
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) 
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) 
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) 
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) 
none on /sys/fs/pstore type pstore (rw) 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=simon)

Resultados de sudo parted -l:

Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system     Flags
 4      1049kB  500GB  500GB   extended
 5      2097kB  496GB  496GB   logical   ext4
 6      496GB   500GB  4238MB  logical   linux-swap(v1)


Model: Verbatim STORE N GO (scsi)
Disk /dev/sdb: 8028MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      24.6kB  8028MB  8028MB  primary  fat32        boot

Resultados de lsblk:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0 461.8G  0 part /
└─sda6   8:6    0     4G  0 part [SWAP]
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part /media/simon/LYDIA
sr0     11:0    1  1024M  0 rom 

Prueba de escritura USB:

$ cd /media/simon/LYDIA
$ touch newfile001
touch: cannot touch ‘newfile001’: Read-only file system 

Resultados de dmesg:

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be       corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only
[  159.383571] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384251] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384319] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.475111] systemd-hostnamed[2966]: Warning: nss-myhostname is not installed.
Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[  159.480141] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480224] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480497] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480516] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[ 2893.091767] wlan0: deauthenticating from c0:3e:0f:31:21:05 by local choice   (reason=3)
oodles2do
fuente
¿Ya lo has montado? ¿Cómo lo montas? Como raíz? ¿Montar automáticamente con el montaje automático del administrador de archivos?
davidbaumann
Normalmente conecto los dispositivos USB y luego aparece la ventana emergente o está disponible para abrir, arrastrar y soltar archivos. Normalmente no uso el terminal para ninguna copia o algo así.
oodles2do
Enchufe, abra y agregue el resultado de mountpor favor.
davidbaumann
No quiero sonar estúpido, pero ¿qué quieres decir exactamente? ¿Qué código debo poner en la terminal? Si eso es lo que quieres decir. ¡Gracias!
oodles2do
mountexactamente;)
davidbaumann

Respuestas:

249

Mira este error .

Ejecute este comando para matar a Nautilus (archivos):

killall nautilus
camino del futuro
fuente
45
Wow, no puedo creer que funcionó
JeD
11
Estaré condenado, esto funciona jaja
Tek
66
Estoy usando nemo, así que lo hice killall nemoy funciona.
Oki Erie Rinaldi
14
Es triste que todavía funcione en 2018 (Ubuntu 16.04.3 LTS)
Andrew
2
La solución más extraña que he visto. Todavía funciona en Ubuntu 18.04
CodeMonkey
74

Cuando conecta su llave USB a su computadora portátil:

  • ejecutar sudo -i(para que no escriba su contraseña todo el tiempo)
  • ejecutar df -Th(para ver dónde está montada su memoria USB)
  • desmonta tu memoria USB
  • ejecutar dosfscken el dispositivo que vio desde su comando anterior. Ejemplo:dosfsck /dev/sdc1
  • retire y vuelva a conectar su memoria USB

El problema debe resolverse ahora.

Ahora, para su HDD, siga la respuesta a esta pregunta . Se trata de un HDD externo, pero es lo mismo para su caso.

Comunidad
fuente
1
¡Gracias por tu ayuda! Intenté hacer lo que dijiste, ¿escribir umount / dev / sdb1 es correcto para desmontar mi memoria USB? Además, no sé cómo usar dosfsck. Gracias por el enlace también
oodles2do
3
@SimonBremford si su USB está montado, por /dev/sdb1supuesto, su comando es correcto. Para su otra pregunta, simplemente escriba:dosfsck -a /dev/sdb1
23
Gracias por su ayuda, sin embargo, no funcionó. La memoria USB se lee solo todavía. Creo que es un problema con Ubuntu en lugar del dispositivo USB en sí mismo, ya que fue tan repentino. Y el hecho de que ha afectado a más de un dispositivo USB al mismo tiempo.
oodles2do
3
A veces, lo más fácil es reiniciar
Gayan Weerakutti
2
Sería útil agregar a la respuesta que es necesario reiniciar.
Artem Pelenitsyn
20

Obtuve el mismo error al usar GParted para configurar la tabla de particiones y formatear mi memoria USB ... después de eso, todas las unidades USB fueron a "solo lectura".

Pero bajo la copia de raíz funcionó bien ...

El problema desapareció después de reiniciar la máquina. Así que supongo que este problema puede ocurrir al usar GParted.

Koyot
fuente
Vea la solución de trabajo a continuación publicada por Serranoy mi comentario al respecto. También para mí el origen vino de usar GPated...
Antonio
16

Yo tuve este problema también. Recibí un error al copiar en mi memoria USB, estoy usando canela Mint 17.1, kernel 3.13.0-43 con el administrador de archivos caja.

Cuando miré el directorio de medios en la terminal 'dir / media' vi que el diseño ha cambiado, normalmente espera ver las unidades enumeradas aquí, pero ahora están listadas con su nombre de usuario, ¿y adivina qué? Ese nombre de usuario solo tiene permisos ROOT.

Lo que hice fue escribir

sudo chown [username] /media/[username]

y

sudo chgrp [username] /media/[username]

donde reemplazas [nombre de usuario] con tu nombre de usuario, quitas el dispositivo usb, esperas y luego lo vuelves a poner, solucionado el problema, ¡ahora puedo escribirle!

hillsongperth
fuente
Para mí sudo chown [username] /media/[username]funcionó bien. Incluso no tuve que sacar y sacar el dispositivo USB (ni lo necesitaba chgrp, estoy en Xubuntu 16.04)
Nicolas
Gracias por su respuesta ... esta debería ser la respuesta aceptada, ya que no hay realmente un problema con los medios en sí, sino con el punto de montaje.
agim
chown también puede cambiar el grupo, chown [username]:[groupname] fileses equivalente a correr chowny luego chgrp. Verman chown
Xen2050
1
@ Xen2050, aún mejor es chown [username]: filesporque `chown`` será predeterminado para el grupo de inicio de sesión de los usuarios.
Lucas
@Lucas gracias, eso es mejor. Está inteligentemente oculto en la manpágina, pero visible en la infopágina [sería realmente agradable si las páginas de información y el hombre coincidieran ...]
Xen2050
11

He tenido el mismo problema en Ubuntu, y ninguna de las respuestas dadas aquí hasta ahora funcionó para mí. Esto es lo que probé:

  • Formatee el dispositivo con GParted. Incluso intenté volver a crear la tabla de particiones, sin éxito.
  • Verifique el dispositivo con fsck. No se encontraron problemas.
  • Se corrigieron los permisos del punto de montaje. Resulta que el punto de montaje era propiedad de la raíz, pero incluso después de convertirme en el propietario, solo podía escribir en el dispositivo desde la línea de comandos (todavía no podía crear archivos desde la GUI).

Cuando conecto una memoria USB, se monta debajo /media/<username>/<label>/, donde <username>está mi nombre de usuario y <label>es la etiqueta de la memoria USB o dispositivo de almacenamiento.

Volví a mirar los permisos:

$ ls -ld /media/<username>
drwxrwx---+ 2 <username> <username> 4096 Mar  4 18:32 /media/<username>

Observe el +al final de los permisos. Eso es nuevo para mí y nunca lo noté antes. Significa que el directorio tiene permisos extendidos llamados Lista de control de acceso (ACL) (vea esta pregunta relacionada ). Enumeré los detalles de ACL para este directorio:

$ getfacl /media/<username>
# file: <username>/
# owner: <username>
# group: <username>
user::rwx
user:<username>:r-x
group::---
mask::r-x
other::---

Como puede ver, hay una entrada adicional user:<username>:r-xpara mi nombre de usuario, que solo me da acceso de lectura. Arreglé esto con un comando simple:

setfacl -m u:<username>:rwx /media/<username>

Desconecté mi dispositivo USB, lo volví a conectar y el problema se resolvió.

Serrano
fuente
1
OKAY. Gracias, esta fue la solución. Sin embargo, al final es necesario restart your computerpara tener acceso completo a mounted USBs. Otro punto que vale la pena, creo, este problema ocurrió después creating a new gpt partition tablede un USB stickcon GParted. Posteriormente, todos mis USB se vieron afectados. Definitivamente los chicos de GParteddeberían comportarse de manera diferente ...
Antonio
9

Formateé usando Gparted. Eso borró todos los datos en el disco y resultó que también solucionó el problema.

Adrián López
fuente
1
Si, eso funciona. Debe crear una nueva tabla de partición como msdostipo y luego crear una gran parititación con fat32.
vskubriev
1
Creo que esta respuesta es un trozo. Por favor, amplíalo.
Léo Léopold Hertz 준영
6

Cuando ejecutó, mountsolo /se montó sda5 (your ), y era read-write ( rw), por lo que debería poder escribir en él. Normalmente, la mayoría de los directorios como /sys, /binsolo se pueden escribir por root ( sudoprimero necesitarías ), pero tu carpeta de inicio debe ser escribible para tu usuario habitual.

¿Puedes crear algún archivo en tu carpeta de inicio? Tal vez su administrador de archivos GUI está atascado pensando que son de solo lectura. Por ejemplo, ¿funcionan estos comandos ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Si funcionan correctamente, puede escribir en su HD (sda5).


Para el disco USB, después de enchufarlo y montarlo, mire mountpara encontrarlo (la /dev/sdb1 ...línea) y ver si la opción de montaje en ()'s es rw(lectura-escritura), entonces debería poder escribir en él. Si es ro(solo lectura) intente esto y vea si cambia:

sudo mount -o remount,rw /dev/sdb1 /media/simon/LYDIA

Si el sistema de archivos (FS) tiene errores que pueden quedar montados como ro, no debería haber mensajes al respecto en dmesgy /var/log/syslogtambién. Esto es lo que muestran sus registros:

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may  
be corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only

Eso incluye una pista de cómo los fs podrían haberse corrompido: "no se ha desmontado correctamente", siempre se debe desmontar antes de desconectar cualquier cosa. La mayoría de los administradores de archivos tienen una "expulsión" para ayudar con eso.

El dmesgregistro también dice cómo solucionarlo: fsckpuede intentar corregir los errores de fs, intenta elegir el programa de verificación correcto, o puede elegir uno explícitamente fsck.vfato fsck.[other]presionar TABdespués de que fsck.debería enumerar las opciones.

  • Para un sistema FAT (a menudo debe ejecutarse dos veces, no siempre corrige todos los errores la primera vez)
    • fsck.vfat -vaV [device] debería funcionar automáticamente (-a) y mostrar más información (-v) y hacer un pase de "verificación" (-V), o simplemente:
    • fsck.vfat -a [device]

NOTA : Esto no garantizará que el sistema de archivos se mantenga fijo, podría corromperse nuevamente y puede ser imposible saber exactamente por qué. Siempre desmonte / "expulse" antes de extraer las unidades USB.

Tenga en cuenta que si fs se monta comorw , pero luego se observan errores y se vuelve a montar automáticamentero , el comando de montaje aúnrw puede informar que está montado . Mirar este archivo con less /proc/mountsnormalmente debería mostrar información más confiable (ver man mount).


Si hay algo montado rwpero aún no puede agregar / eliminar / editar archivos, es posible que no sea el propietario de los archivos. En algunos fs puedes chownconvertirte en el propietario, pero un FAT32 fs como en sdb1 no tiene esos permisos; se configuran cuando se monta con la opción de montaje uid=value(el valor es su ID de usuario, apréndalo con echo $UIDo id -u), entonces puede probar esto y ver si funciona después:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Nota: A veces, es posible que deba reiniciar su administrador de archivos GUI para que "note" el cambio de montaje que le permite escribir en el sistema de archivos / unidad, pero un terminal siempre debería funcionar.

O si lo anterior no funciona, prueba sudo sua raíz "convertido", para ver si algo se puede escribir en archivos en el USB (con touch, echo, etc.)?

Xen2050
fuente
Gracias por su respuesta, hice los comandos newfile001 y obtuve "cosas" como respuesta. Además, desde el comando de montaje hay rw en el soporte para el dispositivo USB, por lo que debería poder leerlo y escribirlo. Acabo de probar los comandos al final de su respuesta, pero no funcionó, sigue siendo un dispositivo de solo lectura.
oodles2do
Al menos el HD está funcionando ... USB debería ser grabable ... si está cden una carpeta USB, ¿puede escribir archivos con echo stuff >> newusbfileo similar? O echo stuff | sudo tee newusbfile? ¿O primero se ejecuta sudo supara "convertirse" en raíz, luego el eco, gato, etc.?
Xen2050
¿Cómo hago los comandos de CD en la carpeta USB? Creo que lo hice en / media / simon y funcionó, pero el USB es / media / simon / LYDIA
oodles2do
Si el USB no está montado, entonces / media / simon / LYDIA es solo una carpeta vacía (si es que está allí). Después de montarlo, puede ver dónde está la carpeta montada con mounto lsblk, cd mounted_foldery luego intentar escribir archivos mkdir, etc. y sudo suver si puede escribir también como root ...
Xen2050
Gracias por toda su ayuda, solo intenté escribir un archivo en el archivo usb pero no funcionó, dice que es un sistema de archivos de solo lectura. He agregado el código a la pregunta para que pueda ver lo que hice.
oodles2do
4

Ir a los discos .

Selecciona tu unidad USB.

Haga clic en Opciones de partición adicionales y seleccione Formatear partición .

Luego seleccione borrar Sobrescribir datos existentes con ceros (lento) y escriba FAT .

He intentado muchas cosas después de buscar en Internet, pero esto funcionó para mí.

Mahmud
fuente
1
Esto borrará todos los datos en el disco.
cst1992
¿Qué pasa si necesito NTFS? Lo mismo para NTFS no funcionó para mí.
Vadim Kotov
0

Métodos de reparación rápida:

Método 1

A veces podemos realizar la tarea desde bash sin problemas que suelo hacer (no se requiere sudo)

mkdir /media/$USER/mydrive/myfolder
cp -r src/ /media/$USER/mydrive/myfolder

Sin embargo, a veces, cuando necesito usar el explorador de archivos,

sudo nautilus /media/$USER/mydrive/

Nota: esta es una solución rápida, úsela solo si se siente frustrado porque ninguna de las respuestas anteriores funcionó

Método 2

Reiniciar OS

Thamme Gowda
fuente
0

prueba a continuación las estrategias

  1. edite /etc/fuse.conf como superusuario

    cambiar #user_allow_otherauser_allow_other

  2. habilitar el soporte de escritura para dispositivos externos

    • sudo apt-get install ntfs-config
    • sudo ntfs-config
Oshan Wisumperuma
fuente
0

Esto se debe a que su sistema de archivos es NTFS y está en una estadística insegura, tal vez está usando su disco en Windows, una de las razones es que hibernó las ventanas o lo reinició rápidamente., Así que siga uno de estos pasos:

  1. desmonte los medios con el siguiente comando, vaya a Windows (tal vez el modo de arranque dual o tal vez en otra computadora) y cierre las ventanas por completo, no hiberne ni reinicie rápidamente,

    sudo umount /media/"your media label"

luego venga a Linux nuevamente y monte sus medios usando este comando:

'sudo mount -o rw,mount /your media'
  1. si está utilizando macOs, conecte sus medios a su dispositivo mac y use este comando:

    'sudo / usr / sbin / diskutil disableJournal / Volumes / name-of-media'

Nima Ghoroubi
fuente
0

Todo lo que necesitas es seguir 3 comandos.

  1. df -Th

resultado ingrese la descripción de la imagen aquí

  1. umount /media/user/KINGSTON (Esto es montar en ruta)
  2. dosfsck -a /dev/sdb1 (esta es la ruta del sistema de archivos)
Mahendra Pratap
fuente
0

Ejecute los siguientes comandos en el terminal (ubuntu) para dar permiso de escritura a un Pendrive.

  1. df -Th
  2. umount /media/madusanka/KINGSTON

    • "/ media / madusanka / KINGSTON" es el valor "Montado en" dado por el primer comando
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1" es el valor de "Sistema de archivos" que proporciona el primer comando.
  4. Ingresa tu contraseña

  5. Verifique el Pendrive pegando o creando un nuevo archivo.

Shirantha madusanka
fuente