在Ubuntu中强制卸载,以解决上网本睡眠模式后的问题


3

我实际上唯一需要了解的是如何在设备繁忙时强制卸载。 umount -f不起作用。下面的描述只是我为什么需要这样做的背景,以防万一有人设法提出更好的解决方案。如果无法进行此卸载,我很乐意接受为什么不这样做的解释。

问题是,每当我将上网本置于睡眠模式时,挂载点都会损坏。该安装仍然存在,并且运行时mount将其正常显示:

/dev/mmcblk0p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)

但是,任何尝试对其进行读/写操作均会失败,并带有Input/output error

如果有任何打开的程序试图卸载设备,则失败并显示

umount: /home/ilari/storage: device is busy

问题似乎是该设备/dev/mmcblk0在睡眠时已从系统中消失。但这是发生奇怪的事情的地方。以前的设备仍然可用,只是现在变成了/dev/mmcblk1!我可以再次将其安装到同一点,这使得输出mount相当有趣

/dev/mmcblk0p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)
/dev/mmcblk1p1 on /home/ilari/storage type ext4 (rw,nosuid,nodev,uhelper=hal)

问题是,当我这样做时,挂载点的工作方式与睡眠前一样!打开的程序能够再次使用文件系统,就像什么也没发生一样。

但是让系统累积多个(发生故障的)设备似乎很粗略。因此,我想先卸载先前的安装点,然后再将“新”设备重新安装到同一点。

设备繁忙时如何强制卸载?最好在唤醒时自动执行并自动重新安装。任何帮助表示赞赏。

(我当然可以关闭所有打开的程序,然后卸载,但是无论如何这还是违反了睡眠模式的目的。)

编辑:如评论中所述,睡眠之前先卸载系统,然后在唤醒时重新安装系统可能是一个好主意。实际上,这似乎甚至阻止了设备更改其索引号,因此它仍为/dev/mmcblk0。问题是我只能在关闭所有正在使用它的程序之后才能卸载它。(请注意,这也可以在睡眠后起作用-通过关闭所有程序,我可以随时卸载断点。)umount -f也无济于事,附加一个umount2: Device or resource busy

我在Acer Aspire One上使用Ubuntu Netbook Remix 9.10。挂载点位于文件系统的UUID的fstab中(这当然就是即使设备名称已更改,重新挂载仍然有效的原因)。自然,另一种解决方法是阻止设备更改其编号,但是我担心这将是一个更加困难的问题。


当共享所在的计算机不再可用时,包括共享未使用查看共享的计算机的时间在内,Windows共享也遇到了类似的问题(挂载由于繁忙而拒绝卸载)。
David Spillett

1
您是否曾尝试将系统置于睡眠状态之前先进行卸载,然后在唤醒后重新进行安装?你的alt。解决方案似乎是udev的工作,但如果设备在唤醒后“挂起”,则可能无济于事。您是否向ubuntu提交了错误?
魁北克吉x德09年

@〜quack:实际上,在休眠之前卸载似乎可以使设备号保持不变。但是,在有打开的程序(正在使用挂载点上的文件)的情况下,我仍然无法在睡眠前进行卸载。
Ilari Kajaste 09年

Answers:


3

您是否尝试过-f标志umount

umount -f /home/ilari/storage

自动执行这样的操作会在中包含一个小脚本/etc/pm/sleep.d/。但是我建议您在睡觉时卸装并在唤醒时重新安装。我最近得到了一个很好的答案,该答案应该告诉您如何编写该小脚本。


-f没有帮助,umount2: Device or resource busy。我将修复该帖子以提及此问题。
Ilari Kajaste

是的,如果我设法卸载,那么在睡觉时卸载确实是个好主意。谢谢你的链接!
Ilari Kajaste 09年

6

umount -l /home/ilari/storage工作吗?我确实没有一个很好的分区可以对其进行测试,但是它可以满足您的要求。


好吧,事实上,它确实有效!不再显示带有的重复项mount。但是,如果有程序打开,系统仍会继续增加设备数量,因此我不确定这是否比重复安装更好。至少看起来好一些,这就是我要的。由于赏金超时,赏金和被接受的答案被放错了位置,对不起!如果可能的话,我很乐意向您捐赠第二笔赏金。
Ilari Kajaste 09年

别担心。我认为它会产生效果(umount -l从安装列表中删除该设备,然后在可以的时候安装它),我只是希望它可能认为它在休眠后会被卸载。
布伦丹·朗

umount -l很危险,不会帮助增加设备名称。
汤姆·黑尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.