LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: macarthor

如何定位、读写某个特定的扇区?

[复制链接]
发表于 2005-5-12 23:55:17 | 显示全部楼层
拜托,perror一下,连出什么错都不知道怎么调试啊。
回复 支持 反对

使用道具 举报

发表于 2005-5-13 08:51:18 | 显示全部楼层
要注意两点:
1.要以root身份来运行程序。一般用户是没有这种权限的。
2.打印缓冲内容时,不要用%s,这样输出一般不会完整。
回复 支持 反对

使用道具 举报

发表于 2005-5-13 12:31:12 | 显示全部楼层
为什么不能用%s?
回复 支持 反对

使用道具 举报

发表于 2005-5-13 12:53:28 | 显示全部楼层
Post by waddling
直接打开/dev/hda    ?
没做过

其实mkswap就是这样实现的
可以看一下mkswap的源码
回复 支持 反对

使用道具 举报

发表于 2005-5-13 12:59:18 | 显示全部楼层
Post by waddling
直接打开/dev/hda    ?
没做过

其实mkswap就是这样实现的
可以看一下mkswap的源码
回复 支持 反对

使用道具 举报

发表于 2005-5-13 17:04:37 | 显示全部楼层
Post by nait
为什么不能用%s?

磁盘上的数据有很多地方是零,%s会认为那是字符串的结束符,而中断输出。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 17:58:16 | 显示全部楼层
我想应该以hex形式吧,一会儿试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-13 20:04:10 | 显示全部楼层
read的时候输出perror为:Bad Address
回复 支持 反对

使用道具 举报

发表于 2005-5-15 01:46:32 | 显示全部楼层
读取数据的时候,缓冲区指针,传输长度,文件偏移量都必须sector对齐(一般为512字节),因为硬盘是块设备。
如果还不行,就先绑定一个原始设备:
man raw
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表