我有一个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)
#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
(只读),请尝试执行此操作,看看它是否更改:在ro
和dmesg
中也要提供有关此消息。这是您的日志显示的内容:sudo mount -o remount,rw /dev/sdb1 /media/simon/LYDIA
其中包括有关fs可能如何损坏的线索-“未正确卸载”,在拔出任何东西之前应始终卸载。大多数文件管理器都有一个“弹出”按钮可以帮助您解决问题。
/var/log/syslog
日志还说明了解决方法:dmesg
可以尝试修复fs错误,它会尝试选择正确的检查程序,或者您选择可以用fsck
或fsck.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,可通过chown
或uid=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 -u
,sudo 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。 :(
评论
穿上它,何时安装?如何安装?作为根?使用文件管理器的自动挂载自动挂载?我通常会插入USB记忆棒,然后弹出窗口或将其打开或拖放到其中。我通常不使用终端进行任何复制或类似操作。
插入并打开,然后添加安装结果。
并不是说听起来很蠢,但是您到底是什么意思?我应该在终端中输入什么代码?如果那是您要做的意思,谢谢!
完全安装;)