如何在写入时关闭usb设备的缓存?

当使用ubuntu / kubuntu通过USB安装电路板时,我在将二进制程序传输到微控制器原型板时遇到问题。 使用MacOS和Windows,没有问题。 我发现Ubuntu的写作肯定会改变写入的文件。 我怀疑写缓存是个问题。 如何禁用它,或者其他可能是什么问题。

请先阅读此内容: http : //groups.google.com/group/linux.kernel/msg/8d1591196c0ae15e?pli = 1
我不确定它是否属实。

您可以尝试使用hdparm在运行时将写入缓存function设置为关闭。 (您可能需要在每次启动后或每次移除并重新插入设备时运行此命令)

sudo hdparm -W 0 /dev/ devicename 

请确保您知道正确的设备名称( sdbsdc等)。

您可以通过运行找到设备名称:

 sudo fdisk -l 

你也可以编辑/etc/fstab并添加mount选项sync,dirsync但是我不太熟悉/etc/fstab如何使用可移动设备。 我认为他们需要一个永久的挂载点。

感谢@NightwishFan为hdparm开关设置驱动器的写缓存function。

请注意, sync安装选项会将速度降低一定幅度(超过10倍)。 flush mount选项确保有效写入而无需性能成本。 在我使用的所有FAT设备(基于旋转或基于闪存的)上,我一直在使用它几年没有问题:实际上整套装载选项是noauto,users,noatime,flush,umask=111,dmask=000 ,手动设置或在/ etc / fstab中设置。