我正在使用Ubuntu 14.04。

我有一个8gb FAT32 USB记忆棒和一个500gb FAT32硬盘;这些都突然变成了只读设备。

我尝试删除/media中的目录,然后再次创建,重命名,然后赋予该目录完全权限。但是,这不起作用。

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)


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


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 


USB写测试:

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


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)


评论

穿上它,何时安装?如何安装?作为根?使用文件管理器的自动挂载自动挂载?

我通常会插入USB记忆棒,然后弹出窗口或将其打开或拖放到其中。我通常不使用终端进行任何复制或类似操作。

插入并打开,然后添加安装结果。

并不是说听起来很蠢,但是您到底是什么意思?我应该在终端中输入什么代码?如果那是您要做的意思,谢谢!

完全安装;)

#1 楼

看到此错误。

运行以下命令杀死Nautilus(文件):

killall nautilus


评论


哇,我不敢相信

–Jed
17-10-22在19:52

我该死的,这行得通哈哈

– Tek
17年11月25日0:00

我正在使用nemo,所以我杀死了所有nemo,并且它可以正常工作。

– Oki Erie Rinaldi
18-1-27在4:19



令人遗憾的是,它在2018年仍然有效(Ubuntu 16.04.3 LTS)

–安德鲁(Andrew)
18年2月17日在19:09

我见过最奇怪的修复。仍适用于Ubuntu 18.04

– CodeMonkey
18年6月13日在18:19



#2 楼

将USB密钥连接到笔记本电脑时:


运行sudo -i(这样就不必一直输入密码)
运行df -Th(查看USB的位置
卸载USB记忆棒
在上一个命令中看到的设备上运行dosfsck。例如:dosfsck /dev/sdc1

卸下并重新安装USB记忆棒

现在应解决问题。

现在,对于您的HDD,请按照回答进行操作。这个问题。它是关于外部硬盘驱动器的,但对于您的情况是相同的。

评论


@SimonBremford如果您的USB安装在/ dev / sdb1中,那么您的命令当然是正确的。对于您的其他问题,只需键入:dosfsck -a / dev / sdb1

–user284234
2014年12月20日20:37在

感谢您的帮助,但是没有成功。 USB记忆棒仍是只读的。我认为这是Ubuntu的问题,而不是USB记忆棒本身,因为它是如此突然。而且它同时影响多个USB设备。

–oodles2do
2014年12月20日20:40在

有时最简单的方法是重新启动

–加扬·维拉库蒂(Gayan Weerakutti)
16年2月19日在5:35

将答案添加为确实确实需要重新引导将很有用。

– Artem Pelenitsyn
17年7月25日在22:03



就我而言,问题是由于未正确卸载USB记忆棒。命令dosfsck重置脏位,并进行一些更正后,可以将其自动安装为读/写模式,从而解决了问题。

–mvsagar
18-10-22在11:55

#3 楼

使用GParted设置分区表并格式化USB记忆棒时,我遇到了同样的错误。所有USB驱动器都变为“只读”之后。

但是在根目录下复制正常... br />
机器重启后问题消失了。因此,我猜想在使用GParted时可能会出现此问题。

评论


请参阅下面Serrano发布的工作解决方案以及对此的评论。对我来说,起源也来自使用GPated ...

– Antonio
18 Mar 23 '18 at 14:14

#4 楼

我也有这个问题。复制到USB记忆棒时出现错误,我正在使用薄荷17.1肉桂,内核3.13.0-43和caja文件管理器。

当我在终端'dir / media中查看媒体目录时, '我看到布局已更改,通常您希望看到此处列出的驱动器,但是现在它们已列在您的用户名下,您猜怎么着?该用户名仅具有ROOT权限。

我要做的是键入

sudo chown [username] /media/[username]




sudo chgrp [username] /media/[username]


,用您的用户名替换[用户名],卸下USB记忆棒,等待,然后再放回去,问题解决了,我现在可以写信给它!

评论


对我来说,sudo chown [用户名] / media / [用户名]正常工作。我什至不必拔出USB棒(也不需要chgrp-我在Xubuntu 16.04上)

–尼古拉斯(Nicolas)
17年4月4日在9:14

感谢您的回答。这应该是公认的答案,因为介质本身并不是真正的问题,但安装点确实没有问题。

–agim
17年4月9日在9:27

chown也可以更改组,chown [用户名]:[groupname]文件等效于先运行chown然后再运行chgrp。见男人chown

– Xen2050
17年5月5日在2:44



@ Xen2050,最好是chown [username]:文件,因为`chown`将默认为用户登录组。

–卢卡斯
17年5月5日,3:23

@Lucas谢谢,这样更好。它巧妙地隐藏在手册页中,但在信息页中可见[如果手册和信息页匹配,这将非常好...]

– Xen2050
17年5月5日,下午3:41

#5 楼

我在Ubuntu上也遇到了同样的问题,到目前为止,这里给出的答案都没有对我有用。这是我尝试的方法:


使用GParted格式化设备。我什至尝试重新创建
分区表,但没有成功。
fsck检查设备。找不到问题。
修复了安装点的权限。原来,挂载点是root拥有的,但是即使在我自己成为所有者之后,我也只能从命令行写入设备(我仍然无法从GUI创建文件)。

当我连接USB记忆棒时,它将安装在/media/<username>/<label>/下,其中<username>是我的用户名,<label>是USB记忆棒或存储设备的标签。

我再次查看了权限:

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


注意权限末尾的+。这对我来说是新的,我之前从未注意到。这意味着目录具有称为访问控制列表(ACL)的扩展权限(请参阅此相关问题)。我列出了该目录的ACL详细信息:如您所见,我的用户名还有一个附加条目user:<username>:r-x,它仅使我具有读取访问权限。我用一个简单的命令解决了这个问题:

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


我分离了USB设备,再次连接,问题解决了。

评论


好。谢谢,这是解决方案。但是最后,您需要重新启动计算机才能完全访问已安装的USB。我认为值得指出的另一点是,在使用GParted的USB记忆棒上创建新的gpt分区表后,发生了此问题。随后,我的所有USB都受影响。绝对是GParted的家伙表现得与众不同...

– Antonio
18-3-23在14:11



#6 楼

我使用Gparted格式化。擦除了磁盘中的所有数据,事实证明,它也解决了该问题。

评论


是的,那行得通。您必须以msdos类型创建一个新的partiton表,然后使用fat32创建一个大parititon。

–vskubriev
16年12月12日在13:17

我认为这个答案是一个存根。请扩大它。

–LéoLéopoldHertz준영
17年1月28日在12:49

#7 楼

当您运行mount时,仅挂载了sda5(您的/),并且它是可读写的(rw),因此您应该能够对其进行写入。通常,大多数目录(如/sys/bin)只能由root用户写入(首先需要sudo),但您的主文件夹应为常规用户可写入。

您可以在其中创建任何文件吗?您的主文件夹?也许您的gui文件管理器会一直以为它们是只读的,如果您在终端中尝试了,是否行得通?例如,这些命令是否起作用?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001


如果这些命令成功运行,则可以写入HD(sda5)。


对于USB驱动器,将其插入并安装后,查看mount进行查找(在/dev/sdb1 ...行中),然后查看()的安装选项是否为rw(可读写),那么您应该能够写给它。如果它是ro(只读),请尝试执行此操作,看看它是否更改:在rodmesg中也要提供有关此消息。这是您的日志显示的内容:

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


其中包括有关fs可能如何损坏的线索-“未正确卸载”,在拔出任何东西之前应始终卸载。大多数文件管理器都有一个“弹出”按钮可以帮助您解决问题。

/var/log/syslog日志还说明了解决方法:dmesg可以尝试修复fs错误,它会尝试选择正确的检查程序,或者您选择可以用fsckfsck.vfat明确选择一个,在fsck.[other]应该列出选项后按TAB键。


对于FAT系统(通常必须运行两次,并不总是第一次会修复所有错误)


fsck.应该可以工作自动(-a)并显示更多信息(-v)并执行“验证”阶段(-V),或者仅:
fsck.vfat -vaV [device]



注意:这不能保证文件系统会保持固定,它可能会再次损坏,并且可能无法确切知道原因。在卸下USB驱动器之前,请始终先卸载/“弹出”。请注意,如果fs挂载为fsck.vfat -a [device],但是会看到错误并且它会自动重新挂载为rw,mount命令仍然可能报告已挂载ro。使用rw查看此文件通常应该显示更多可靠的信息(请参阅less /proc/mounts)。


如果已装入某些东西,但是仍然无法在其上添加/删除/编辑文件,可能不是文件的所有者。在某些fs中,您可以man mount成为所有者,但像sdb1上的FAT32 fs则没有这些权限。使用安装选项rw(值是您的用户ID,可通过chownuid=value进行学习)进行安装时设置它们,然后您可以尝试一下并查看其是否可以使用:

[  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



注意:有时,您可能需要重新启动gui文件管理器,以使其“注意”允许您写入文件系统/驱动器的安装更改,但是终端应始终可以工作。 />
或者如果上述方法不起作用,请尝试将echo $UID设为“成为”根用户,以查看是否可以写入USB上的文件(使用id -usudo su等)?

评论


感谢您的回答,我执行了newfile001命令,并且得到了“ stuff”作为响应。另外,在mount命令中,usb支架的括号中有rw,因此我应该可以对其进行读写。我只是在回答的最后尝试了命令,但没有用,它仍然是只读设备。

–oodles2do
2014年12月20日在21:40

至少HD可以正常工作... USB应该是可写的...如果将CD插入USB文件夹,是否可以写入任何带有echo echo >> newusbfile或类似文件的文件?或回声sudo tee newusbfile?还是先运行sudo su以“成为”根,然后运行echo,cat等?

– Xen2050
2014年12月20日在21:47

我如何将cd命令放入USB文件夹?我想我只是在/ media / simon中完成了工作,但是USB是/ media / simon / LYDIA

–oodles2do
2014年12月20日下午21:58

如果未安装USB,则/ media / simon / LYDIA只是一个空文件夹(如果在该文件夹中)。挂载后,您可以使用mount或lsblk查看安装文件夹的位置,然后使用cd mount_folder并尝试写入文件,mkdir等...,并以sudo su来查看是否也可以以root身份写...

– Xen2050
2014年12月20日22:30在

感谢您的所有帮助,我只是试图将文件写入usb文件,但没有成功,它说这是一个只读文件系统。我已将代码添加到问题中,以便您可以看到我的工作。

–oodles2do
2014年12月21日在9:42

#8 楼

转到磁盘。

选择您的USB驱动器。

,单击“其他分区”选项,然后选择“格式化分区”。

然后选择“擦除”用零覆盖现有数据。 (缓慢)并输入FAT。

我在互联网上搜索后尝试了很多操作,但这对我有用。

评论


这将擦除驱动器上的所有数据。

–cst1992
17年7月21日在21:30

如果我需要NTFS怎么办?对于NTFS来说,同样的方法对我不起作用。

–Vadim Kotov
18年5月28日在12:19



#9 楼

这对我有用

sudo su -
df -Th
umount /media/username/USBdriveName
dosfsck -a /dev/sdb1


它应该以这样的消息结尾。

fsck.fat 3.0.28 (2015-05-16)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
 Automatically removing dirty bit.
/.Trash-1000/files/yolo
 Start does point to root directory. Deleting dir. 
Reclaimed 2109 unused clusters (69107712 bytes) in 817 chains.
Free cluster summary wrong (95371 vs. really 94567)
  Auto-correcting.
Performing changes.
/dev/sdb1: 3633 files, 154405/248972 clusters`


然后转到您的USB驱动器并删除所有.REC文件。
取出USB记忆棒并将其插回。现在您应该可以使用它了。

#10 楼

就像您在使用Nemo时(如我,如果您使用Cinnamon桌面环境)那样,在上述方法中,请尝试:

killall nemo


#11 楼

快速修复方法:

方法1

有时我们可以从bash轻松完成任务
我通常会做(不需要sudo)

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


但是,有时候,当我需要使用文件浏览器时,

sudo nautilus /media/$USER/mydrive/


注意:这是一个快速修复,请使用它仅当您因上述没有其他答案而感到沮丧时

方法2

重新启动操作系统

#12 楼

尝试以下策略



以超级用户身份编辑/etc/fuse.conf

#user_allow_other更改为user_allow_other


启用对外部设备的写支持



sudo apt-get install ntfs-config
sudo ntfs-config




#13 楼

这是因为您的文件系统是NTFS,并且处于不安全状态,也许您正在Windows中使用磁盘,原因之一是您使Windows处于休眠状态或快速重新启动了它。因此,请使用以下步骤之一:



使用以下命令卸载媒体,转到Windows(可能是双启动模式,也可能在另一台计算机上),然后完全关闭Windows,不要休眠或快速重启,

sudo umount /media/"your media label"


然后再次进入Linux并使用以下命令安装媒体:

'sudo mount -o rw,mount /your media'




如果您使用的是macO,请将媒体插入到Mac设备并使用以下命令: -media'



#14 楼

您只需要执行以下3条命令即可。


df -Th

结果-




/> umount /media/user/KINGSTON(这是安装在路径上)

dosfsck -a /dev/sdb1(这是文件系统路径)


#15 楼

在终端机(ubuntu)上运行以下命令以授予对Pendrive的写入权限。


df -Th

umount /media/madusanka/KINGSTON


“ / media / madusanka / KINGSTON”是第一个命令给定的值“



sudo dosfsck -a /dev/sdb1


“ / dev / sdb1”是第一个命令给出的“文件系统”值。


输入密码
通过粘贴或创建新文件来检查Pendrive 。


#16 楼

将Pendrive连接到笔记本电脑时:

1. run sudo -i (so that you won't type your password all the time)
2. run df -Th(to see where your USB stick is mounted)
3. unmount your USB stick
4. run dosfsck on the device you saw from your previous command. Example: dosfsck /dev/sdc1
5. Run above command again and again until you get this response



fsck.fat 4.1(2017-01-24)/ dev / sdb1:4个文件,170684 / 976272群集


6. Mount device now


现在尝试删除或添加更多文件

#17 楼

我与Thunar(Xubuntu 16.04-18.04)有相同的错误。杀死它不是一个选择,因为有时我已经打开了所需的Thunar窗口。
我发现了一种解决方法。
首先,我们需要关闭自动安装:
设置=>可移动Drives and Media =>关闭前两个选项。第二,在插入USB介质后,右键单击它并选择“连接”。或断开连接,然后使用鼠标右键单击进行连接。
可悲的是,解决方法通常适用于FAT,但并不总是适用于EXT4。 :(