Linux/Win10双系统,在linux环境下修改windows分区中的文件是否会引起潜在问题

新手上路,请多包涵

背景:单块SSD 分区装的win10, linux ubuntu16.04。在linux 文件系统下可以读取到win10的硬盘,以/media/path 的形式挂载。

问题:想问下在linux ubuntu下直接访问win10的文件/做出修改并保存/删除是否会对win10 运行时有影响?

产生这个问题的原因:

  • 编码。 linux 的编码采用UTF-8,对于行终止符采用"\n",而windows下使用的编码方式是"\r\n"。之前在windows 下打开了一个linux 下生成的bin文件并自动转码,传回linux 下就无法使用了。所以对两边文件的修改互访的可行性有疑问。
  • 日志系统。 在linux下,文件系统提供可靠性(一致性)是通过日志系统实现的,在每次文件进行修改前由日志系统写入操作后再进行。那么我通过跨文件系统写入的信息应该是无法通过log保存下来的,那如果在windows是如何处理这种文件在reboot前后的不一致性呢?是否会导致潜在的问题发生?

希望有对这个了解的朋友能从系统日志/文件编码的角度分析一下。

阅读 3.6k
1 个回答

非文本文件不存在编码的问题,你说的那个问题是你把它作为文本文件打开了吧。就算是文本文件,如果你选择的保存编码和原来的一致,也不会有任何问题。

至于\n\r的问题,在二进制文件中,这两个都不一定是字符,就是单纯地表示0x0A0x0D这两个数据吧。你作为文本文件打开它还给转换了,不出问题才怪。

而且像Win10自带的记事本现在都支持Linux格式的换行符了,你的文本编辑器如果不是你设置过就擅自给你转换了,那我建议你还是换一个文本编辑器吧。

至于文件系统的互操作,只要遵守规范(虽说NTFS微软没有完全开放),并不会存在你在一个系统下操作会导致另一个系统的不一致。不过由于NTFS没有完全开放,Linux下操作确实会有一些小坑,注意下就是了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题