arm linux设备上的硬盘不操作一段时间变成只读系统
李迟
博客专家认证 2013-12-29 02:07:54 环境:
嵌入式ARM设备,带硬盘,系统启动时,能识别硬盘分区,登陆后,能mount、能读写。
现象:
停止读写硬盘一段时间(比如10分钟、半小时),用fdisk命令查看硬盘,发现有IO错误。
# fdisk -l
usb 1-1.2: sg_complete, unlink --> 0
Device sda not ready.
end_request: I/O error, dev sda, sector 0
Buffer I/O error on device sda, logical block 0
Buffer I/O error on device sda, logical block 1
Buffer I/O error on device sda, logical block 2
Buffer I/O error on device sda, logical block 3
Buffer I/O error on device sda, logical block 4
Buffer I/O error on device sda, logical block 5
Buffer I/O error on device sda, logical block 6
Buffer I/O error on device sda, logical block 7
.....
再次执行,又变成正常的了:
# fdisk -l
Disk /dev/sda: 128.0 GB, 128035675648 bytes
255 heads, 63 sectors/track, 15566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 7782 62508883+ 83 Linux
/dev/sda2 7783 15566 62524980 83 Linux
问题:
1、为何会出现这种现象?我的感觉是停止操作硬盘,硬盘休眠了,再次操作(如用fdisk、或者其它命令),提示设备未准备好,但下一个操作又能操作硬盘了。
2、继上,如果是硬盘休眠了,有什么办法使它不休眠?
附:
网上有相关的资料,不过作用不是很大。
http://phorum.vbird.org/viewtopic.php?f=2&t=35550
望各位指点一下。