I have setup the following disk configuration
- Windows 7 boot partition ; NTFS ; Windows 7 and its drivers is stored here ; - ; C:
- Linux boot partition ; ext3 ; Boot files required by linux ; /boot ; -
- Linux root partition ; ext3 ; Programs for use by linux ; / ; -
- Data partition ; ext3 ; Personal data and Windows programs that do not require to be stored on an NTFS partition due to UAC ; /home ; D:
Though it works, it has three drawbacks:
- The ext2fsd driver used to read and write D: from Windows uses the by Linux read-only timestamp for storing file creation date. When I boot into Linux and edit a file, this time-stamp gets overwritten with current date.
- When creating a directory on D: in Windows, all files inside becomes read-only by default. I can manually change the read-only flag in Windows. A permanent change require rebooting and chmoding the directory.
- Windows search seems to have problems with the ext3 partition probably related to the file indexing service.
Problem (1) would probably be solved if I could use another filesystem for my data. ext4 supports birth time, which is the one that should be used for storing file creation time. However, ext2fsd cannot write ext4 partitions. NTFS also has the feature but it seems tricky to setup a correct Windows-Linux user map which would be required to make it work. Another solution would be to run a daemon (using inotify) on Linux that stores file creation timestamps in a separate file and then apply these timestamps back within Windows. As a third solution, one could patch the linux kernel to only touch ctime when a file actually is created.
Problem (2) and (3) may need the data partition to be NTFS.
I consider (1) as the largest problem, since it involves data loss. What is a good configuration in this case.