<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>驱动 on KnightLi的博客</title>
        <link>https://www.knightli.com/tags/%E9%A9%B1%E5%8A%A8/</link>
        <description>Recent content in 驱动 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sat, 02 May 2026 10:26:01 +0800</lastBuildDate><atom:link href="https://www.knightli.com/tags/%E9%A9%B1%E5%8A%A8/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>详解 Linux 7.0 和 7.1 的 NTFS 驱动变化</title>
        <link>https://www.knightli.com/2026/05/02/linux-7-0-7-1-ntfs-driver/</link>
        <pubDate>Sat, 02 May 2026 10:26:01 +0800</pubDate>
        
        <guid>https://www.knightli.com/2026/05/02/linux-7-0-7-1-ntfs-driver/</guid>
        <description>&lt;p&gt;Linux 7.0 发布后，7.1 开始进入下一轮特性合入窗口。其中一个值得关注的变化，是新的 NTFS 内核驱动。&lt;/p&gt;
&lt;p&gt;这里的“新”不是说 Linux 第一次支持 NTFS，也不是说 &lt;code&gt;ntfs3&lt;/code&gt; 被替换。更准确地说，Linux 7.1 合入了一个新的可选内核态 NTFS 读写驱动。它基于早年的内核 &lt;code&gt;ntfs&lt;/code&gt; 驱动重新整理，并补上更完整的读写能力。&lt;/p&gt;
&lt;h2 id=&#34;先说结论&#34;&gt;先说结论
&lt;/h2&gt;&lt;p&gt;Linux 上目前主要有三条 NTFS 路线：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方案&lt;/th&gt;
          &lt;th&gt;位置&lt;/th&gt;
          &lt;th&gt;读写能力&lt;/th&gt;
          &lt;th&gt;适合场景&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;ntfs-3g&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;用户态 FUSE&lt;/td&gt;
          &lt;td&gt;读写&lt;/td&gt;
          &lt;td&gt;稳定优先，发行版长期默认方案&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;ntfs3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;内核态&lt;/td&gt;
          &lt;td&gt;读写&lt;/td&gt;
          &lt;td&gt;追求更直接的内核集成和性能&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;新 &lt;code&gt;ntfs&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;内核态&lt;/td&gt;
          &lt;td&gt;读写&lt;/td&gt;
          &lt;td&gt;Linux 7.1 新增的可选实现&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;所以这次变化不是强制迁移，而是多了一种选择。普通用户短期内继续跟随发行版默认策略即可。&lt;/p&gt;
&lt;h2 id=&#34;70-和-71-的关系&#34;&gt;7.0 和 7.1 的关系
&lt;/h2&gt;&lt;p&gt;Linux 7.0 只是内核版本进入 7.x 系列，不代表 NTFS 支持在 7.0 里突然重写。真正和 NTFS 相关的新变化，出现在 7.1 的特性合入阶段。&lt;/p&gt;
&lt;p&gt;NTFS 一直是 Linux 桌面用户绕不开的文件系统：双系统、移动硬盘、U 盘、Windows 数据盘都会用到它。问题在于，NTFS 写入路径复杂，一旦驱动有 bug，风险可能直接落到数据上。因此内核社区对 NTFS 驱动会比较谨慎。&lt;/p&gt;
&lt;h2 id=&#34;ntfs-3gntfs3-和新-ntfs&#34;&gt;&lt;code&gt;ntfs-3g&lt;/code&gt;、&lt;code&gt;ntfs3&lt;/code&gt; 和新 &lt;code&gt;ntfs&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ntfs-3g&lt;/code&gt; 是用户态 FUSE 驱动，长期承担 Linux 上的 NTFS 读写任务。它性能不一定最好，但成熟、兼容性好，资料也多。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ntfs3&lt;/code&gt; 是 Paragon Software 贡献的内核态 NTFS 驱动，已经进入 Linux 主线。它路径更短，和 VFS 集成更直接，理论性能也更好。但文件系统驱动对维护质量要求很高，&lt;code&gt;ntfs3&lt;/code&gt; 合入后也经历过维护节奏和代码质量方面的讨论。&lt;/p&gt;
&lt;p&gt;Linux 7.1 新增的 &lt;code&gt;ntfs&lt;/code&gt; 驱动，则由 Namjae Jeon 维护。它不是从零开始，而是把旧内核 &lt;code&gt;ntfs&lt;/code&gt; 驱动现代化，补齐读写能力，作为另一套可选实现与 &lt;code&gt;ntfs3&lt;/code&gt; 并存。&lt;/p&gt;
&lt;p&gt;这三者的关系可以简单理解为：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ntfs-3g&lt;/code&gt;：保守、成熟、用户态。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ntfs3&lt;/code&gt;：主线已有的内核态方案。&lt;/li&gt;
&lt;li&gt;新 &lt;code&gt;ntfs&lt;/code&gt;：7.1 新增的内核态方案，还需要观察稳定性。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;应该怎么选&#34;&gt;应该怎么选
&lt;/h2&gt;&lt;p&gt;日常使用不用急着切换。比较稳妥的顺序是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;重要数据继续使用发行版默认方案，通常是 &lt;code&gt;ntfs-3g&lt;/code&gt; 或已验证的 &lt;code&gt;ntfs3&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;需要性能时，可以测试 &lt;code&gt;ntfs3&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;新 &lt;code&gt;ntfs&lt;/code&gt; 驱动先用于测试盘、临时盘或可恢复数据。&lt;/li&gt;
&lt;li&gt;重要 NTFS 分区写入前先备份。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果要手动使用 &lt;code&gt;ntfs3&lt;/code&gt;，常见挂载方式是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mount -t ntfs3 /dev/sdX1 /mnt/ntfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果只是临时读取数据，可以只读挂载：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo mount -o ro /dev/sdX1 /mnt/ntfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;确认当前使用哪个驱动，可以看挂载信息：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;findmnt -T /mnt/ntfs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mount &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep ntfs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;双系统用户要注意&#34;&gt;双系统用户要注意
&lt;/h2&gt;&lt;p&gt;NTFS 分区如果来自 Windows 系统盘，写入前要先确认 Windows 已真正关机。快速启动和休眠会让 NTFS 卷保留未完成状态，Linux 再写入可能造成一致性问题。&lt;/p&gt;
&lt;p&gt;建议检查这几项：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;关闭 Windows 快速启动。&lt;/li&gt;
&lt;li&gt;确认分区不在 hibernation 状态。&lt;/li&gt;
&lt;li&gt;BitLocker 或其他加密状态不会阻碍访问。&lt;/li&gt;
&lt;li&gt;移动硬盘在 Windows 中已正常弹出。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;无论使用 &lt;code&gt;ntfs-3g&lt;/code&gt;、&lt;code&gt;ntfs3&lt;/code&gt; 还是新 &lt;code&gt;ntfs&lt;/code&gt;，这些注意事项都一样。&lt;/p&gt;
&lt;h2 id=&#34;为什么需要多个-ntfs-驱动&#34;&gt;为什么需要多个 NTFS 驱动
&lt;/h2&gt;&lt;p&gt;同一种文件系统有多个实现，在 Linux 里并不罕见。旧实现、新实现、厂商实现、社区实现会并存一段时间，直到维护状态和实际反馈逐渐分出主次。&lt;/p&gt;
&lt;p&gt;NTFS 更适合保守处理，原因很简单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;用户数据风险高。&lt;/li&gt;
&lt;li&gt;兼容场景复杂。&lt;/li&gt;
&lt;li&gt;不同实现的性能和稳定性取舍不同。&lt;/li&gt;
&lt;li&gt;发行版需要时间验证默认策略。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;因此，Linux 7.1 新 &lt;code&gt;ntfs&lt;/code&gt; 驱动的意义，不是立刻淘汰 &lt;code&gt;ntfs-3g&lt;/code&gt; 或 &lt;code&gt;ntfs3&lt;/code&gt;，而是给内核社区多一个可维护的选择。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Linux 7.1 新增的 &lt;code&gt;ntfs&lt;/code&gt; 驱动，是一个可选的内核态 NTFS 读写实现。它和 &lt;code&gt;ntfs-3g&lt;/code&gt;、&lt;code&gt;ntfs3&lt;/code&gt; 并存，不是直接替代谁。&lt;/p&gt;
&lt;p&gt;普通用户可以继续使用发行版默认方案；需要折腾或测试性能的人，可以关注 &lt;code&gt;ntfs3&lt;/code&gt; 和新 &lt;code&gt;ntfs&lt;/code&gt; 的后续稳定性。涉及重要数据时，优先备份，再考虑切换驱动。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
