语境
你们有人能帮我解决以下问题吗?我有一个微型 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 filename
和Start 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 设备,它仍然显示为只读。