Download and install the latest version of "FUSE for OS X" from http://osxfuse.github.io. When installing "FUSE for OS X" make sure to select the "MacFUSE Compatibility Layer" option. More information about the MacFUSE compatibility layer can be found in the Frequently Asked Questions.
If you don't have it yet, install "Homebrew" as described on http://brew.sh/.
Install latest "NTFS-3G" from Homebrew by opening a Terminal prompt and entering the following:
brew install homebrew/fuse/ntfs-3g
Link NTFS-3G to boot after temporary disabling rootless. In a Terminal prompt:
sudo nvram boot-args="rootless=0" [reboot] sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs sudo nvram boot-args="rootless=1" [reboot]
To unlink NTFS-3G to boot, open a Terminal prompt and enter the following:
sudo nvram boot-args="rootless=0" [reboot] sudo rm /sbin/mount_ntfs sudo mv /sbin/mount_ntfs.original /sbin/mount_ntfs sudo nvram boot-args="rootless=1" [reboot]
To uninstall "NTFS-3G", open a Terminal prompt and enter the following:
brew uninstall ntfs-3g
ntfs-3g program opens and does I/O to the block device
/dev/disk[number] of the NTFS volume in question. OS X does not have a VM buffer cache for block devices when they are accessed in this way. That is the most overwhelming factor, because both metadata operations and file data I/O boil down to read/writes by NTFS-3G to the block device.
Suppose we somehow automagically provided unified buffer caching for block devices by essentially making a disk look like a giant file. Even then, OS X and its buffer cache is really happy only when you do I/O that is in units of page size (4KB) and aligned on a page boundary. To get the most out of the I/O subsystem in OS X,
ntfs-3g (or any other program for that matter) would really want to do I/O in multiples of 4KB.
For comparison, you should try writing to an NTFS disk image. You will see that it is considerably faster because you do have some caching in that case.
There are versions of NTFS-3G available that have additional user-space caching with drastically improved performance. See the "NTFS-3G for Mac OS X" blog.
Relax. The "Startup Disk" preference pane is simply filtering out (that is, not displaying) any mounted volumes that it does not consider bootable. Its definition of a Boot Camp volume includes that the mounted volume either be of type
ntfs - this is hardcoded into the preference pane plugin. This does not mean your Boot Camp volume has become unbootable. It is merely not showing up in the graphical user interface. You can hold the "opt" key during startup and choose the Windows partition to boot from. You can also remount it (read-only) using the NTFS file system built into OS X and it should start showing up in "Startup Disk".