Does moving a file outside NTFS lose data in alternate data streams

alternate-data-streamfilesystemsntfs

I have a lot of files on a machine running Windows Server 2008 which I wanted to move to a Fedora machine. How can I keep the attributes stored in, for example, media files (date taken, rating, length, etc.) while transferring it to outside the realm of NTFS's Alternate Data Streams?

I'm aware that similar metadata exists in other file systems, but what happens when you move these files? And what's the best way to retain them in other file systems?

Best Answer

Information stored in actual file streams will be lost. (Streams from sysinternals.com is a utility that allows you to view streams and optionally, delete them.) The kinds of files I believe you're talking about (photos, videos, etc.) store their metadata as part of the file, not in streams, so you'd be safe moving them around between different file systems. A simple test to determine whether data will be lost is burn them to a CD using Windows, as opposed to some other software. You don't have to actually burn the CD, just drag the file(s) in question to the CD Drive in "My Computer," or "Computer." If there are streams present, Windows will warn you that you may lose some data by copying them to CD.

I believe that in practice, streams are rarely used. Internet Explorer uses a stream to mark files that came from the Internet when you download. If you right-click on a downloaded file and choose "Properties," you'll notice a button that reads "Unblock." This button is triggered by the presence of a stream named ":Zone.Identifier:$DATA". Clicking the "Unblock" button deletes the stream. The stream will contain something like:

[ZoneTransfer]
ZoneId=3

You can view the contents of the stream by using something like:

more < "somefile.zip:Zone.Identifier:$DATA"