弹出闪存驱动器需要很长时间


3

我正在Debian 8上运行全新安装,并且经常不得不等待一段荒谬的时间,然后弹出闪存驱动器(范围从1到10。15分钟)。在这段时间内,我无法访问任何与驱动器有关的内容,因为我收到了错误消息An operation is already pending.

闪存驱动器格式似乎没什么用(我尝试过FAT,ext4,NTFS),但是当我开始在其上放置文件时,它似乎也开始出现。(虽然不算重,〜500Mb)。

是什么导致此问题?有什么我可以做的以加快排出速度吗?

Answers:


9

尽管我不知道这是否是您问题的实际解释/解决方案,但我相信这通常是USB的问题。

如果复制大文件或许多文件,USB设备将向主机发送一条消息,提示“我将向您发送这些文件”。然后,设备将异步发送所有文件,并花费时间。这意味着当您执行操作时cp /my/flash/drive/foo.txt /home/bar/foo.txt,设备将告知操作系统正在复制文件,然后发送文件。

我知道检查所有数据是否已经真正传输的唯一方法是sync在执行复制/移动或删除闪存驱动器上的文件的命令后进入。然后,sync命令将一直阻塞,直到驱动器完成数据传输为止。之后,应该安全地卸载/弹出USB闪存驱动器。


[编辑]:查看此帖子以观看sync操作进度:运行时打印的数字

watch grep -e Dirty: -e Writeback: /proc/meminfo

应在发生后台数据传输时减少到零。完成后,您sync将完成操作,并且闪存驱动器将弹出。


弹出USB存储设备的另一个常见问题是,如果该闪存驱动器上的文件/文件夹上当前有程序,终端或类似程序正在运行,则Atleast Debian将不允许这样做。因此,如果您已将目录更改为终端中该闪存驱动器上的文件夹,然后尝试使用另一个终端弹出该闪存驱动器,则除非您将目录更改为第一个终端中闪存驱动器以外的其他位置,否则它将不允许这样做。


简短的回答:这需要很长时间,因为USB设备仍在传输您已复制,删除,移动或正在使用的数据,并且拒绝弹出该设备,直到完成上一条命令为止。
Mogget 2015年

感谢您的解释!您是否意味着即使我要退出时完​​成复制工作,文件仍可能仍在传输?单击+拖动后进度条结束时还是在LIE上cp?或者在返回后返回命令提示符?;)
iago-lito

1
究竟!仅仅因为您运行的命令(在Windows中为cp,mv,rm甚至复制粘贴)已经完成,并不意味着所有实际数据都已传输。它仍然可以在后台传输。
Mogget 2015年

疯!所以,如果我理解不错,sync是的是确保所有数据已被转移,因为它只有在工作完成..边问题返回的唯一可靠方法:再cp回报,做GUI进度条达到“100% ?他们真正在等什么?
iago-lito

1
看这个问题的第一个答案;它解释了一些我没有很好解释的东西。askubuntu.com/questions/122113/...
Mogget
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.