linux内存只读,SD卡变为只读系统

2.使用用fsck – y 来修复文件系统

转自:http://blog.chinaunix.net/uid-20753645-id-1877931.html

问题:

将上述这些存储设备插入USB端口或读卡设备后,Ubuntu系统会自动mount这些设备到一个挂载点并在桌面上显示访问图标。但是某些情况下,我们访问这些被挂载的设备,并希望保存文件到设备时,系统提示访问的是“只读”设备。无法写入或直接运行程序。

原因:

插入设备的文件系统有故障,Ubuntu为了保护当前的系统,所以将设备的文件系统设置为只读。

判断方法:

在终端窗口中输入:

tail-f/var/log/syslog

然后插拔被检测的设备,你可能会看到类似下面的错误信息 :FAT: Filesystem Panic (dev sdb1)

...

"File system has been set read-only"

这就是告诉你设备sdb1的文件系统有问题,问题是…,现在我们将该设备的文件系统自说自话的设成只读了,以保护我们伟大的UBUNTU系统不受感染。

解决方法:

首先通过上面提到的log信息我们了解到是sdb1这个设备有问题, 事实上可以通过输入下面的命令来了解我们的文件系统:

sudofdisk-l

这个命令会显示当前系统检测到的所有文件分区包括连接的外部存储设备。你会看到比如刚才出问题的设备/?dev/?sdb1.

在处理这个设备之前我们先要卸载(umount),你可以对桌面上的设备图标右击鼠标,点“卸载”,或使用umount命令。

设备卸载后就可以使用以下的命令对上述设备的文件系统进行检查和修复了:

sudodosfsck-v-a/dev/sdb1

这个dosfsck应该跟windows下的chkdsk是类似的,多数情况下设备的文件系统是可修复的,运行完毕后。将设备重新连接到电脑,乌拉,问题解决啦。

转自:http://blog.csdn.net/bullbat/article/details/7608372

2012-05-28 10:32 3257人阅读 评论(0)

忘了从什么时候开始我的那个512M的SD卡在ubuntu下一挂载就是只读的了,使用root帐户更改权限都不好使,尝试了好多办法也没解决,后来买了个U盘就不再用SD卡了,这件事也就忘记了。

今天突然应急使用这个卡,使用读卡器挂载发现依旧是只读,换用本本内置的读卡器,也是一样。没办法了,google一通,看了看ubuntu的中文论坛,发现有人也遇到了同样的问题,但是没有人给出可行的解决方案。只好看看英文的网站了,果然找到了办法,原文在这。

产生这个问题的原因是SD卡的文件系统损坏,操作系统为了防止进一步毁坏文件系统,而将其设置成了只读。检查文件系统的方法如下:

在没挂载SD卡的时候在shell中输入:tail -f /var/log/syslog,查看动态日志文件。

然后插入SD卡,可以看到日志文件的变化,大致如下:Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660202] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660214] invalid access to FAT (entry 0x0000b30e) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.660218] File system has been set read-only Apr 5 00:24:59 sagi-laptop kernel: [ 1048.676591] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.676603] invalid access to FAT (entry 0x0000d0c9) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.678906] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.678916] invalid access to FAT (entry 0x00008522) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.695071] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.695081] invalid access to FAT (entry 0x0000e673) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.719951] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.719965] invalid access to FAT (entry 0x0000d751) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818747] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818764] fat_get_cluster: invalid cluster chain (i_pos 0) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818929] FAT: Filesystem panic (dev sdb1) Apr 5 00:24:59 sagi-laptop kernel: [ 1048.818931] invalid access to FAT (entry 0x0000bab9)

可以大致看出是/dev/sdb1也就是usb文件系统出错的消息。

OK,接下来开始修复它:

首先卸载设备,然后输入:sudo dosfsck -v -a /dev/sdb1,检查并修复文件系统。

一长串输出大概如下:dosfsck 2.11 (12 Mar 2005) dosfsck 2.11, 12 Mar 2005, FAT32, LFN Checking we can access the last sector of the filesystem Boot sector contents: System ID " " Media byte 0xf8 (hard disk) 512 bytes per logical sector 16384 bytes per cluster 1 reserved sector First FAT starts at byte 512 (sector 1) 2 FATs, 16 bit entries 62976 bytes per FAT (= 123 sectors) Root directory starts at byte 126464 (sector 247) 512 root directory entries Data area starts at byte 142848 (sector 279) 31312 data clusters (513015808 bytes) 63 sectors/track, 16 heads 233 hidden sectors 1002263 sectors total /DcOo CS1.6.rar and /Music share clusters. Truncating second to 180387840 bytes. Reclaiming unconnected clusters. Reclaimed 10723 unused clusters (175685632 bytes) in 1 chain. Performing changes. /dev/sdb1: 166 files, 25779/31312 clusters

说明已经检查完毕,重新插上SD卡试试吧,应该已经可以写入了。

转自:http://www.linuxidc.com/Linux/2013-05/84634.htm

Linux系统挂载存储变成只读的解决方案

1、mount:

用于查看哪个模块输入只读,一般显示为:

[root@localhost ~]# mount

/dev/cciss/c0d0p2 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/cciss/c0d0p7 on /home type ext3 (rw)

/dev/cciss/c0d0p6 on /var type ext3 (rw)

/dev/cciss/c0d0p3 on /usr type ext3 (rw)

/dev/cciss/c0d0p1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

/dev/dm-0 on /home/book/upload/BookFile1 type ext3 (rw)

/dev/dm-1 on /home/book/upload/BookFile2 type ext3 (rw)

/dev/dm-2 on /backup type ext3 (rw)

/dev/dm-3 on /home/book/upload/BookFile3 type ext3 (ro)

2、如果发现有ro,就重新mount,或者umount以后再remount

3、umount /dev/dm-3

如果发现有提示“device is busy”,找到是什么进程使得他busy

fuser -m /mnt/data 将会显示使用这个模块的pid

fuser -mk /mnt/data 将会直接kill那个pid

然后重新mount即可。

4、还有一种方法是直接remount,命令为

mount -o rw,remount /mnt/data 没有用过,看到网络上有这么写。

二、具体深入的做法,情况不同可以自行选择:

服务器/var/log/messages报错 :

end_request: I/O error, dev sda, sector 122194293 Buffer I/O error on device sda1, logical block 446493 lost page

write due to I/O error on sda1

下面是整个处理全过程

[root@localhost ~]# fdisk -lu #第一步 :找出本地扇片所在的分区。

Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes

255 heads, 32 sectors/track, 35132 cylinders, total 286677120 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot      Start        End      Blocks  Id  System

/dev/cciss/c0d0p1  *          32    78711359    39355664  83  Linux

/dev/cciss/c0d0p2        78711360  142114559    31701600  83  Linux

/dev/cciss/c0d0p3      142114560  185044319    21464880  83  Linux

/dev/cciss/c0d0p4      185044320  286677119    50816400    5  Extended

/dev/cciss/c0d0p5      185044352  201625439    8290544  82  Linux swap / Solaris

/dev/cciss/c0d0p6      201625472  207965759    3170144  83  Linux

/dev/cciss/c0d0p7      207965792  286677119    39355664  83  Linux

[root@localhost ~]# tune2fs -l /dev/dm-3 |grep "Block size" #找到block大小。

Block size: 4096

(122194293-75778605)*512/4096 =528691 利用公式算出逻辑块地址

b = (int)((L-S)*512/B)

[root@localhost ~]#  debugfs

debugfs 1.35 (28-Feb-2004)

debugfs: open /deb/dm-3

/deb/dm-3: No such file or directory while opening filesystem

debugfs: open /dev/dm-3

debugfs: icheck 582391

Block Inode number

582391 277584

debugfs: ncheck 277584

Inode Pathname

277584 /users/inn.net.cn/data/upload/download/innshow004.rar

debugfs: quit

[root@localhost ~]# dd if=/dev/zero of=/dev/dm-3 bs=4096 count=1 seek=582391 #找到这个快的文件之后,需要做好备份,我们强制把它设置为0字节。

[root@localhost ~]#  sync

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值