为什么没有适用于 Windows 的良好 extN 驱动程序?
为什么 Windows 没有好的驱动程序来读取 ext2/3/4 文件系统?谷歌搜索了一下,发现有 2 到 3 个,但都有问题。是否存在一些技术上的不一致,导致很难正确编码一些东西,使我能够打开“我的电脑”并像 NTFS 或 FAT 一样使用 extN 分区?我认为开源和标准的好处之一是像这样的问题应该很快得到解决。
Why are there no good drivers for Windows for reading ext2/3/4 filesystems? Googling around indicates that there's 2 or 3 out there, but all of them have problems. Is there some technical inconsistency that makes it difficult to correctly code up something that would enable me to open up My Computer and work with an extN partition just like NTFS or FAT? I thought one of the benefits of open sources and standards was that problems like this should be solved fairly quickly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
司机签名。
Microsoft 的驱动程序签名本质上与 GPL 不兼容,未签名的驱动程序不再起作用。
Driver signing.
Microsoft's driver signing is by its own nature incompatible with the GPL and unsigned drivers don't work anymore.
我自己没有使用过,但我的一位同事使用过 Ext2 IFS for Windows 没有任何问题。
开源和标准的好处之一是可以相当快地解决此类问题。如果没有人有足够的动力去解决某个问题——无论这种动力来自金钱、个人需求、名誉还是其他什么——那么问题就不太可能得到解决。 (闭源世界也不例外。)拥有 Windows 内核模式设备驱动程序黑客经验的开源开发人员相对较少,这可能无济于事。编写设备驱动程序是一项专门技能。有些开发人员非常了解 ext2/3/4 代码,并且非常愿意对其进行工作,但很有可能的是,在 Linux 内核上有足够经验来开发 ext2/3/4 驱动程序的人可能是主要是 Linux 用户(因此不太关心为 Windows 编写驱动程序)。
关于驱动程序签名:据我了解,从 Windows Vista 开始,Microsoft 不必对您的驱动程序进行签名或认证,以便在没有警告的情况下安装它们,但您确实需要代码签名证书。这些费用约为每年 400 - 500 美元(请参阅 Verisign 网站,例如),并且大多数非商业开发商对支付此类资金不感兴趣。 有禁用驱动程序签名要求的方法,但普通用户可能不会尝试这些方法,这会阻碍对未签名驱动程序的接受。
我不知道 Windows 的 Ext2 IFS 如何处理它;要么它的作者以某种方式获得了证书,要么它要求您禁用驱动程序签名要求。
因此,总而言之,最好的 ext2/3/4 开发人员可能对 Windows 没有太多需求,驱动程序签名阻碍了潜在的 Windows 开源驱动程序开发人员,并且 NTFS for Linux 意味着您可以使用 NTFS 代替 ext2/3/4 在 Linux 和 Windows 之间共享数据。这三个因素共同作用,消除了人们对为 Windows 开发 ext2/3/4 的兴趣。
I haven't used it myself, but a coworker of mine has used Ext2 IFS for Windows without any problems.
One of the benefits of open sources and standards is that problems like this can be solved fairly quickly. If no one is sufficiently motivated to work on a problem - whether that motivation comes from money, personal need, fame, whatever - then the problem is unlikely to get solved. (The closed source world is no different.) It probably doesn't help that relatively few open source developers have experience hacking on Windows kernel mode device drivers. Writing device drivers is a specialized skill. There are developers who understand the ext2/3/4 code very well and are very willing to work on it, but odds are that the the people experienced enough at hacking on the Linux kernel to work on the ext2/3/4 drivers are probably primarily Linux users (and so don't much care about writing drivers for Windows).
With regards to driver signing: It's my understanding that, starting with Windows Vista, Microsoft doesn't have to sign or certify your drivers for them to be installed without warnings, but you do need a code signing certificate. These are somewhere in the neighborhood of $400 - $500 a year (see Verisign's web site, for example), and most non-commercial developers aren't interested in paying out that kind of money. There are methods for disabling driver signing requirements, but none of them are something the average user is likely to try, which would hinder the acceptance of a non-signed driver.
I don't know how the Ext2 IFS for Windows handles it; either its author got a certificate somehow, or it requires that you disable the driver signing requirements.
So, to summarize, the best ext2/3/4 developers probably don't have much need for Windows, and driver signing discourages would-be open source driver developers for Windows, and the availability of NTFS for Linux means that you can use NTFS instead of ext2/3/4 to share data between Linux and Windows. These three factors work together to remove a lot of the interest in developing ext2/3/4 for Windows.