抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

更完善的 NTFS 支持?Linux 用户等了太久

2021 年 9 月 10 日

更完善的 NTFS 支持?Linux 用户等了太久

在即将到来的 Linux Kernel 5.15 更新中,将添加 Paragon 的 NTFS3 内核驱动,以对微软 NTFS 文件系统提供更好的支持。此前 Paragon 使用 GPL 许可证开源了他们的 NTFSv3 驱动程序,Linux 5.15 目前并入了这个提交。

 

Linux 内核包含 NTFS 支持已经有很长一段时间了,然而到目前为止,在 Linux 上使用 NTFS 文件系统一直让人很头疼。旧的 NTFS 驱动程序已经很久没有维护了,另外的办法是使用来自 Tuxera 的 NTFS-3G,这也是目前主流的解决方案,但在实际使用中也有不少小问题。

NTFS-3G 不能很好的胜任工作


最初 Linux 内核没有对 NTFS 做原生支持,NTFS-3G 是借助 Linux 的用户空间文件系统 FUSE 模块在用户层实现的一个模仿对 NTFS 支持的文件系统,对 NTFS 的访问逻辑代码都是在用户层代码实现的。

 

NTFS-3G 设计之初就包含读写,为什么也出现只读的情况。

 

首先 NTFS 是微软开发的的私有文件系统并不是开源的,也从来没有公开过任何技术细节,并且一直在不断地进行更新。NTFS-3G 没有办法获得微软官方的支持,NTFS-3G 的解决方案是通过种种逆向手段反推 NTFS 文件系统结构,以及如何访问 NTFS 的逻辑。这也就说明 NTFS-3G 对 NTFS 的兼容是没有微软官方保证的。NTFS 本身版本更新、你的系统更新或者 NTFS-3G 本身出问题等等都可能对 Linux 上 NTFS 的读写造成影响,此外,出问题了也需要 NTFS-3G 的工程师继续逆向分析来解决。

 

Linux 上使用 NTFS 主要问题还是缺乏稳定且功能齐全的读/写支持。

NTFS3 内核开源助 Linux NTFS 迎来新生


Paragon 去年在 GNU 通用许可证下发布了 NTFS3 驱动程序,在此之前,NTFS3 是一个用于商业销售的驱动程序。开源的原因可能是由于微软的 exFAT 吸引了大部分的注意力,正在慢慢变得主流,NTFS 不再是行业的宠儿。而 Linux 作为云部署中使用最广泛的操作系统,随着容器的兴起,NTFS 也不会成为文件系统的统治者,将 NTFS 的驱动程序作为专有解决方案的盈利能力越来越不可行。

 

在开源后的一年里,NTFS3 的驱动经过了多轮审查,用来提高代码质量,以保证更好地跟上游编码标准保持一致。由于当前内核驱动已经很久没有维护,NTFS3 已经可以提供比当前内核驱动更多的功能,尤其是写入支持。跟同样基于 FUSE 的开源 NTFS-3G 相比也具有更强的功能和性能。

 

Paragon 将 NTFS3 驱动程序提交到 Linux 内核的动作也获得了一致好评,这一举措甚至被称作“英雄行为”,给那些不得不在 Linux 上处理 NTFS 文件系统的人带来了救命良药。

 

Linux 之父 Linus Torvalds 表示他们可能会将旧的 NTFS 内核代码转移到 staging 上,慢慢废弃直到完全删除它,但目前来看 NTFS3 只是一个新的选择。

 

虽说 NTFS 的使用正在减少,但大多数外部驱动器仍是用 NTFS 文件系统格式化的,新的驱动程序的加入将更好地帮助 Linux 在默认状态下使用 NTFS 格式的驱动器。

 

目前就是等待 Linux 5.15 的正式更新以及各大发行版尽快跟进。

 

参考链接:

 

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f7464060f7ab9a2424428008f0ee9f1e267e410f

 

关联阅读:

 

为什么早期的 Windows 需要整理碎片

 

如何实现支持百亿级文件的分布式文件存储

2021 年 9 月 10 日 18:081

评论

发布
暂无评论
发现更多内容

分布式消息流平台:不要只想着Kafka,还有Pulsar

华为云开发者社区

kafka 云原生 pulsar 消息 分布式消息流平台

求阿里大神整理的分布式核心笔记出炉了,GitHub刚发布就标星85k

Java~~~

Java 负载均衡 架构 面试 分布式

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

Java~~~

Java MySQL 数据库 架构 面试

Elasticsearch可观测最佳实践分享!3分钟带你快速入门!

驻云DataFlux

elasticsearch

爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传

Java~~~

Java 架构 面试 IDEA 架构师

有人在恶意提权吗?

BUG侦探

Linux 主机安全 提权

在FL Studio中如何使用混音器的效果

懒得勤快

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Boot

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

胧月

Java 程序员 面试 后端 计算机

Alibaba内部的10w字Java高频面试手册遭人恶意在牛客网开源下载?

Java~~~

Java 架构 面试 JVM 多线程

腾讯云TDSQL,从数据库巨人身上撕开一道口子

腾讯云数据库

数据库 tdsql

实战 实时物体检测YOLOv3 CNN卷积神经网络John 易筋 ARTS 打卡 Week 63

John(易筋)

ARTS 打卡计划

一文详述如何卸载SQL Server 2019及其 DBMS

Regan Yue

数据库 SQL语言 9月日更 9 月日更

出自清华大神之手的JVM实战手册,刚上架GitHub点赞就达到85k

Java~~~

Java 架构 面试 JVM 多线程

实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络协议

在职字节师兄分享出了这份数据结构手册,LeetCode现已开放下载

Java~~~

Java 架构 面试 算法 刷题

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

Java~~~

Java 架构 面试 微服务 Spring Boot

腾讯云TDSQL:真正面向金融行业的典型场景

腾讯云数据库

数据库 tdsql

TDSQL云时代,我们需要怎样的数据库?

腾讯云数据库

数据库 tdsql

TDSQL演进三部曲

腾讯云数据库

tdsql #数据库

如何实现 Android 短视频跨页面的流畅续播?

阿里云视频云

android App Video播放器 APP开发 音视频开发

腾讯云数据库TDSQL:分布式数据库,你真的了解吗?

腾讯云数据库

数据库 tdsql

滴滴最看重的SpringCloud手册曾被疯狂转载,现在学还有用吗?

Java~~~

Java 架构 面试 微服务 Spring Cloud

Java多线程:从基本概念到避坑指南

胧月

Java 架构 后端 JVM 计算机

从动物科学到乐队鼓手,腾讯技术小哥的开源人生

腾源会

腾讯云 开源

实时消息RTM| 多活架构中的数据一致性问题

anyRTC开发者

音视频 WebRTC 数据一致性 实时消息 数据容灾

Github星标百万!终于有人将Spring技术精髓收录成册

Java 白

Java 编程 程序员 架构 面试

33张图解析ReentrantReadWriteLock源码

程序猿阿星

源码分析 读写锁 ReentrantReadWriteLock 源码解读

GitHub上火了这份堪称神级的SpringBoot手册,竟出自滴滴之手

Java~~~

Java spring 架构 面试 Spring Boot

不吹不黑!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

Java 白

Java 程序员 架构 面试 微服务

操作系统的IO模型

云流

Java 程序员 架构 操作系统 计算机

Study Go: From Zero to Hero

Study Go: From Zero to Hero

更完善的 NTFS 支持?Linux 用户等了太久-InfoQ