Dear Admin (Tech Impulsion),
Some of my computers (like my Mac, and My windows PC) are always warning me about
disconnecting flash drives without ejecting, while Windows doesn't seem
to have a problem—in fact, my external USB drive doesn't even have an eject option. Does this mean it's safe? How do I know when I actually need to eject a drive?
Sincerely,
Concerned About Corruption
Dear Concerned,
This is one of those questions that has a short answer and a long
answer. The short answer is this: you should probably always eject a
drive before removing it, even if the context menu doesn't have an eject
option. Mac and Linux will always provide you a way to eject a drive,
but like you said, Sometimes Windows doesn't have an obvious "Eject"
button for certain drives. On Windows, click the "Safely Remove
Hardware" icon in the system tray, choose your drive from the list, and
then remove it once it notifies you of its safe removal.
Now, the long answer: In Windows, you can sometimes remove a flash
drive without ejecting. Here's a bit more information on how computers
deal with USB drives.
Why Computers Want You to Eject Drives
Obviously, yanking out a drive while it's being written to could corrupt the data. However, even if the drive isn't actively being written to, you could still corrupt the data. By default, most operating systems use what's called write caching
to get better performance out of your computer. When you write a file
to another drive—like a flash drive—the OS waits to actually perform
those actions until it has a number of requests to fulfill, and then it
fulfills them all at once (this is more common when writing small
files). When you hit that eject button, it tells your OS to flush the
cache—that is, make sure all pending actions have been performed—so you
can safely unplug the drive without any data corruption.
Why Windows Doesn't Bug You to Do It
Mac
and Linux use write caching on pretty much all drives, and will let you
eject any drive through your file manager. Windows, however, is a bit
more mysterious on this front. It actually disables this write cache
feature for drives it sees as "removable", because it knows people are
likely to yank them out without ejecting (though you can still eject
them by right-clicking on them and pressing "Eject"). As such, disabling
this feature on removable drives decreases the chance of data
corruption. It keeps the cache enabled on non-removable drives,
though—and sometimes it recognizes external USB drives as not removable, which is why your USB drive doesn't have an eject button. Paradoxically, it's also why you need
to eject that drive: since Windows doesn't see it as removable, it's
enabled the write cache for it, increasing the chance of data
corruption.
You can edit the write cache settings for any drive from the Device
Manager. Just expand the Disk Drives section, right click on the drive
you want to edit, and hit Properties. Go to the Policies tab, and click
the "Quick Removal" radio button to disable the cache (or click "Better
Performance" to enable the write cache).
Why You Should Probably Manually Eject All Your USB Drives Anyway
So,
unlike OS X and Linux, Windows has a few precautions in place for
preventing data loss. However, the write cache isn't the only thing that
can cause data loss. Have you ever tried to eject a drive and gotten a
"file is in use" error? Sometimes there's something going on in the
background you don't know about, or sometimes a program is just being
silly and has still locked a file on the drive even if it isn't using
it. If you were to yank it out during one of these situations, you could
still cause data loss. Ejecting it will warn you of the situation, and
let you close the program in question (or use something like Unlocker to unlock the in-use file).
In the end, there's no reason not to eject your drives, and
doing so will ensure your data is uber-safe. Windows users may be less
likely to experience issues due to the way Windows handles removable
drives, but they aren't 100% immune. Ejecting the drive is a great habit
to get into, since without it, you wouldn't always know if it were safe to remove or not.