14

When I have a USB device like a SD card, USB drive or external hard drive, I always need to unmount it, otherwise OS X complains about the device not being ejected properly. (It’s possible to disable this message, but that’s risky.)

On Windows, the solution to this is trivial: Disable the filesystem cache for USB drives, so that they can be immediately and safely removed.

Does OS X have a way to disable the cache?

bmike
  • 235,889
Michael Stum
  • 1,700
  • 2
    FWIW, the supposed dupe is absolutely not an exact duplicate. This question is about disabling the write cache so that the the device can be safely removed; the other is about simply turning off the message and ignoring the risk. – Reid May 05 '11 at 20:03
  • 1
    Please reopen this question. It's not a duplicate. – nalply Dec 24 '11 at 12:26
  • Agreed, not a duplicate for the reasons @Reid mentions. I found this post searching for "os x disable write cache". – Johann Oct 20 '14 at 15:38
  • i think it's safe to say osx does not have this feature. osx does so much work behind the scenes that we have a hard time limiting it even on mounted volumes.....but is there a way to mount outside of finder -- with some kind of ftp/web interface accessing it as /disk1s2? – neuralstatic Oct 20 '14 at 16:16
  • Disabling the write cache is not totally safe. If you happen to unplug at the exact moment that the OS is writing to the disk, you can get a partial write. However, if it's been a few seconds since you did anything with the device, it probably won't be in the middle of a write. – Barmar Apr 27 '23 at 23:23

1 Answers1

3

On SuperUser Q&A another user asked a similar question. The solution is a little bit tricky/efforty:

This should be possible by manually mounting the drive via the terminal. You'll have to eject the drive when you plug it in and then remount it in the terminal using the noasync option.

The best way to go about this would be to run mount in the terminal and take down the device so you know what to remount. Then umount /dev/disk1s1 (where disk1s1 is the device name) then mount -o noasync /dev/disk1s1. This method would also apply to most linux distros.

As you can see, it's easier to just remember to eject.