LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1122|回复: 10

格式化硬盘问题

[复制链接]
发表于 2004-2-23 14:34:10 | 显示全部楼层 |阅读模式
我目前知道的格式化硬盘的 方法是(/mnt/disk1是设备/dev/hdc1的绑定点):

system("umount -f /mnt/disk1"); // 这两句需要创建子进程来处理吗?
system("mkfs.vfat /dev/hdc1");

如果/dev/hdc1已经被绑定,该格式化操作将失败,无法格式化;但解除绑定经常遇到资源忙无法解除绑定的情况(强制解除也不行,但我已经检查了所有对该绑定点的访问关闭),这个问题在程序中如何解决?
发表于 2004-2-23 18:11:06 | 显示全部楼层
不明白,怎么绑定?/?
 楼主| 发表于 2004-2-24 08:52:21 | 显示全部楼层
硬盘需要首先绑定才能使用,例如在终端执行:

  1.       #mount -t vfat /dev/hdc1 /mnt/disk1
复制代码


然后在/mnt/disk1下就可以访问硬盘/dev/hdc1下的内容了。这个/mnt/disk1就是设备/dev/hdc1的绑定点。

我现在需要编程格式化该硬盘,而格式化时该硬盘必须解除绑定。我想知道如何能强行解除绑定。我曾经重启系统,立即做如下工作:

  1.    
复制代码
 楼主| 发表于 2004-2-24 09:10:14 | 显示全部楼层
硬盘需要首先绑定才能使用,例如在终端执行:

  1.       #mount -t vfat /dev/hdc1 /mnt/disk1
复制代码


然后在/mnt/disk1下就可以访问硬盘/dev/hdc1下的内容了。这个/mnt/disk1就是设备/dev/hdc1的绑定点。

我现在需要编程格式化该硬盘,而格式化时该硬盘必须解除绑定。我想知道如何能强行解除绑定。我曾经重启系统,立即做如下工作:

  1.      #mount -t vfat /dev/hdc1 /mnt/disk1
  2.      #umount -f /mnt/disk1
复制代码


居然告诉我设备资源忙,很郁闷,这种情况偶尔就会出现,如何能解除绑定呢,程序必须要能处理这种异常。(程序用于嵌入式系统)
发表于 2004-2-24 09:13:00 | 显示全部楼层
要umount必须要先使当前工作目录不在那个文件系统。一般先输入cd,到root。
 楼主| 发表于 2004-2-24 13:07:28 | 显示全部楼层
就是在root下做的,刚绑定上,立即解除就遇到这种情况。

如何知道有哪些地方在访问该硬盘,如何查询绑定点状态和属性,知道谁在访问它?有这样的命令或函数吗?
发表于 2004-2-25 15:03:13 | 显示全部楼层
我也遇到一样的问题,有时不mount上了,但是umount时提示忙,只有注消或者重起才能umount,不知是什么原因,不知是否跟上面讲的绑定有关啊
发表于 2004-2-26 13:41:01 | 显示全部楼层
umount的时候加上-l 就强行关闭所有打开的文件句柄。
发表于 2004-2-26 19:21:28 | 显示全部楼层
谢谢,真是高见啊
 楼主| 发表于 2004-3-21 00:00:57 | 显示全部楼层
umount的时候加上-l,强行关闭所有打开的文件句柄。但再次绑定成了只读了,更不能执行格式化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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