RW 挂载的 USB 驱动器被 cp 视为只读

RW 挂载的 USB 驱动器被 cp 视为只读

语境

你们有人能帮我解决以下问题吗?我有一个微型 SD 卡,通过 USB 插入到我的 Compaq 8510w 笔记本电脑中,该笔记本电脑运行最新的 Arch Linux (x86_64) 版本。我有一条udev规则,在插入时自动安装驱动器,如下所示:

KERNEL!="sd[a-z]*", GOTO="media_by_label_auto_mount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="media_by_label_auto_mount_end"

# Get label
PROGRAM=="/sbin/blkid -o value -s LABEL %N", ENV{dir_name}="%c"
# use basename to correctly handle labels such as ../mnt/foo
PROGRAM=="/usr/bin/basename '%E{dir_name}'", ENV{dir_name}="%c"
ENV{dir_name}=="", ENV{dir_name}="usbhd-%k"

ACTION=="add", ENV{dir_name}!="", RUN+="/bin/su bas -c '/usr/bin/pmount %N %E{dir_name}'"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/su bas -c '/usr/bin/pumount /media/%E{dir_name}'"
LABEL="media_by_label_auto_mount_end"KERNEL!="sd[a-z]*", GOTO="media_by_label_auto_mount_end"
ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="media_by_label_auto_mount_end"
LABEL="media_by_label_auto_mount_end"

逐字复制这个 ArchWiki 页面,当插入 USB 驱动器时,它会按照 mount 报告的方式挂载,如下所示:

/dev/sdb1 on /media/usbhd-sdb1 type vfat (rw,noexec,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,fmask=0177,dmask=0077,iocharset=iso8859-1)

读取权限很好,但当我尝试将cp几个文件写入驱动器时,cp报告

cp: cannot create regular file `/media/usbhd-sdb1/R4iMenu/system.fon': Read-only file system

我尝试过的事情

  • reboot
  • mount -o rw
  • 搜索全球互联网
  • 复制输出mount/etc/fstab修复语法,mount /dev/sdb1

任何建议将不胜感激。

谢谢。


更新

dmesg |tail -15插入U盘后的输出:

usb 2-5: new high speed USB device using ehci_hcd and address 4
Initializing USB Mass Storage driver...
scsi5 : usb-storage 2-5:1.0
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
scsi 5:0:0:0: Direct-Access     ChipsBnk SD/MMCReader     4081 PQ: 0 ANSI: 2
sd 5:0:0:0: Attached scsi generic sg2 type 0
sd 5:0:0:0: [sdb] 7954432 512-byte logical blocks: (4.07 GB/3.79 GiB)
sd 5:0:0:0: [sdb] Write Protect is off
sd 5:0:0:0: [sdb] Mode Sense: 0b 00 00 08
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Attached SCSI removable disk

跑步fsck.vfat

fsck报告了很多问题,尤其是大量的Bad filenameStart cluster beyond limits ..错误。完成后fsck文件系统可以写入。所以我原来的问题解决了。

后续问题

如果文件系统损坏,是否有任何日志文件报告回退ro模式,以便我将来可以更轻松地检测到问题?

答案1

我使用 USB SD 卡读卡器时就发生了这种情况。

我使用 Universal USB Installer 1.9.2.1 创建了一个 kubuntu 安装棒,一切顺利。Win 8 当我将更多文件 Ubuntu 12.10 添加到我的 8 GB Class 10 SD 卡时,它显示为只读。返回 Win 8 时,同样的情况也是只读。从解决方案中查找 regedit 行,我的 reg 没有条目。

检查了我的锁开关,并将其从始终处于的位置移至另一个位置,然后就大功告成了。添加的文件转到 Ubuntu 12.10 并添加文件。

事情开始变得奇怪了。我决定安装 Kubuntu 12.4.1,所以我去格式化驱动器,重新创建一个 Kubuntu 12.4.1 安装棒。我尝试 Universal USB Installer 1.9.2.1,并勾选了擦除磁盘。还是不行,只读。尝试格式化 Win 8,不行。尝试格式化 gpart,不行。返回 Win 8,更改高级共享,添加我的用户,并为它和所有人用户选择完全访问权限。尝试格式化,TADA!它擦除完毕,我创建了一个 Kubuntu 12.4.1 安装棒。我安装了 Kubuntu,决定我需要 Win 7 笔记本电脑中的更多文件,但不行,只读!再次尝试上述所有操作,不行。

我取出 SD 卡并将其插入 Win 7 笔记本电脑读卡器插槽,它一直正常工作。如果我将其放入 USB 设备,它仍然显示为只读。

相关内容