![用于 Linux/Windows 双启动的文件系统](https://linux22.com/image/1375530/%E7%94%A8%E4%BA%8E%20Linux%2FWindows%20%E5%8F%8C%E5%90%AF%E5%8A%A8%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
我已经设置了以下磁盘配置
- Windows 7 启动分区 ;NTFS ;Windows 7 及其驱动程序存储在此处 ;- ;C:
- Linux 启动分区 ; ext3 ; linux 所需的启动文件 ; /boot ; -
- Linux 根分区 ;ext3 ;linux 使用的程序 ;/ ;-
- 数据分区 ;ext3 ;由于 UAC,个人数据和 Windows 程序不需要存储在 NTFS 分区上;/home;D:
尽管它有效,但它有三个缺点:
- 用于从 Windows 读取和写入 D: 的 ext2fsd 驱动程序使用 Linux 的只读时间戳来存储文件创建日期。当我启动 Linux 并编辑文件时,此时间戳会被当前日期覆盖。
- 在 Windows 中,在 D: 上创建目录时,默认情况下,其中的所有文件都变为只读。我可以在 Windows 中手动更改只读标志。永久更改需要重新启动并更改目录的权限。
- Windows 搜索似乎在 ext3 分区上存在问题,可能与文件索引服务有关。
如果我可以使用另一个文件系统来存储我的数据,问题 (1) 可能会得到解决。ext4 支持出生时间,这是应该用于存储文件创建时间的时间。但是,ext2fsd 无法写入 ext4 分区。NTFS 也具有此功能,但设置正确的 Windows-Linux 用户映射似乎很棘手,而这是使其工作所必需的。另一个解决方案是在 Linux 上运行守护进程(使用 inotify),将文件创建时间戳存储在单独的文件中,然后在 Windows 中重新应用这些时间戳。作为第三个解决方案,可以修补 Linux 内核,使其仅在实际创建文件时触及 ctime。
问题(2)和(3)可能需要数据分区为NTFS。
我认为 (1) 是最大的问题,因为它涉及数据丢失。在这种情况下,什么是好的配置。