为什么Windows无法识别Linux分区内的文件?


16

我双重启动我的Windows XP,安装Linux Mint。我发现在使用Linux Mint时,我可以看到并打开安装在Windows XP上的文件,但在使用Windows XP时,我看不到并打开Linux Mint上安装的文件。

这是为什么?

为什么Linux会识别Windows而不是其他方式?


23
Linux通过兼容Windows获得用户,因为大多数人切换到Linux并在NTFS / FAT驱动器上有数据。Microsoft没有理由添加linux文件系统支持,因为它的大多数用户不使用linux文件系统,并且它希望人们使用它的文件系统。
安南

4
正如有人曾经说过的那样“因为没有人实现它。功能从未实现开始,只有在人们花费精力实现它们时才会实现:没有努力,没有功能。”
Daniel Little

1
您可能首先想知道,为什么您甚至希望两个不同的系统能够理解彼此的数据。你提到了分区和文件,但最终你不会跳过这个问题:filesystems。Windows肯定会识别分区,因为您是双启动的。见diskmgmt.msc。这里唯一的问题是你要求Windows理解它不知道的文件系统,就像你可能要求它使用它不知道的设备(例如调制解调器)一样。
njsg

@njsg是的,当我第一次安装linux时,我认为linux无法识别windows和windows无法识别linux并且我没有看到任何错误,但是当我看到linux确实识别windows时,这让我感到惊讶
用户

Answers:


28

仅适用于Windows本身支持NTFS和FAT(几种口味)文件系统(硬盘/磁系统)和CDFS和UDF的光学介质,每这篇文章

要访问其他文件系统,将需要其他驱动程序/软件。例如,Ext2 Installable File System For Windows 驱动程序是一个支持Ext2系统的开源项目。

编辑:纠正拼写错误 - 列出“UFS”而不是“UDF” - 感谢@ChrisS抓住错误。


3
注意:最后一个链接中的驱动程序主要用于ext3只读访问,并且可能根本不适用于ext4分区。
Piskvor

@ChrisS,你说得对!在写我的答案时写错了 - 我会更新我的答案。
JW8

1
CDFS实际上不是文件系统,而是Windows在使用CD和DVD时显示的不同文件系统(Joliet,ISO9660等)的昵称。
那个巴西人

28

Windows没有本机Linux文件系统支持(ext3,ext4,zfs等)。就这么简单。


1
我相信你甚至可以说Windows只有内置的Windows文件系统支持(不包括光学媒体格式)。
njsg

1

除了Windows根本不支持Linux文件系统之外,如果他们试图支持数据,那么Microsoft无法合理地承担保证数据安全的责任。例如(并且完全假设),说ext4团队通过识别不向后兼容的新ext4 inode格式来提高性能。Windows接下来会修改您的数据,但会将旧格式与新格式混合在一起,因为它不知道更改并破坏您的数据。你会责怪谁?

多年来,正如我记忆所回忆的那样,Linux内核对NTFS具有只读支持,写入支持在引入后被标记为UNSUPPORTED多年。Linux内核显然非常关注数据完整性,直到他们确信他们的NTFS文件系统支持是完全稳定和理解的。现在想象一下,如果Windows拥有与NTFS一样受欢迎的3-5个其他文件系统,那么内核团队将会变得多么困难。(想想:ext3-4,XFS,ReiserFS,Btrfs等)


4
当Linux中的文件系统被声明为生产就绪时,其二进制磁盘格式是固定的。所以你不应该担心旧/新格式。
liori

11
这是完全错误的; Linux文件系统(与NTFS不同)是有充分文档和开源的。如果要添加新功能,文件系统将添加一个新选项(sparse_super,acl,xattr等),或者使用任何不识别这些选项或支持该版本拒绝安装的驱动程序。
MikeyB

@MikeyB这并不是完全错误的 - 作为一个例子,它完全是假设的,为什么微软甚至会试图支持Linux文件系统犹豫不决。由于所有开源代码都是GPL,因此Microsoft无法使用它(许可证冲突),他们必须创建和维护自己完美的实现。每次版本号颠簸时,他们的用户群都会要求相同的升级。我所想说的只是对他们来说这只是一个不好的立场。
jimp

2
我所追求的是这样的断言,即格式可能只是“神奇地改变”,没有任何版本控制来防范这种情况。这不是现实世界中发生的事情。此外,虽然他们无法直接使用GPL代码,但在没有违反GPL的情况下检查代码和实现兼容的实现没有任何障碍。FreeBSD做到了 - 没问题。它归结为:微软不想这样做。
MikeyB

@MikeyB我从来没有打算暗示它会神奇地改变。但在现实世界中,变更确实会发生,向后兼容或通过版本编号进行防灾,并且如果不向其提交资源,Microsoft将不会包含在讨论中。当它破裂时,它们将是错误的...我们至少同意一件事:微软不想这样做。:)
jimp

0

这只是因为Windows和Linux系统的文件系统不同。Windows不支持Linux文件或文件系统。


0

我遇到了同样的问题。这是因为Linux使用ext2 / 3/4文件系统作为其分区。Windows不读/写这种类型的文件系统。只是NTFS和FAT。Linux几乎可以在任何文件系统上读/写。

解决方案是安装一个开源软件/驱动程序,允许您在Windows上读取和写入ext3分区: ext2fsd

我正在使用它,它的工作,稳定和伟大。


0

目前没有支持EXT4文件系统的Windows驱动程序。如果您在EXT2 / EXT3上安装UBUNTU,则可以使用它们来访问您的文件。另一方面,您可以使用Dropbox或类似的东西来交换文件。


0

不得不提的是,如果你真的想要从两个操作系统获得双向共享数据,使用GParted或其他一些分区工具将数据分区设置为NTFS,它们(应该?)都可以由两个操作系统使用。

我自己从未这样做过,但我确信这是在Win / Linux平台之间共享数据的简单方法。

干杯!


或FAT。它可能会更好(NTFS的每个版本都延迟了对Linux驱动程序的支持,因为它们必须破解NTFS)。
Linuxios
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.