NTFS-3G

NTFS-3G是一個由Tuxera公司開發並維護的自由軟體項目,採用GNU通用公共許可證釋出,旨在為非微軟Windows NT系作業系統提供安全快速、具備讀寫功能的NTFS檔案系統驅動程式

NTFS-3G
開發者Szabolcs Szakacsits,Tuxera Inc.
穩定版本
ntfs-3g-2017.3.23
(2017年3月28日2017-03-28[1]
编程语言C
操作系统主要是類Unix系統
类型檔案系統驅動程式
许可协议GNU GPL
网站http://www.ntfs-3g.org/

NTFS-3G最初由資深Linux驅動程式開發者Szabolcs Szakacsits(匈牙利语发音:[ˈsɒbolt͡ʃ ˈsɒkɒt͡ʃit͡ʃ])於2006年發起並主導,2007年初公佈了第一個穩定版本ntfs-3g-2007.02.21,原始碼託管於SourceForge。隨後NTFS-3G團隊成立了Tuxera Inc.,負責NTFS-3G的進一步發展、商業推廣以及爲專案提供開發資金。目前Tuxera公司還推出了NTFS-3G的商用版本Tuxera NTFS及NTFS for Mac,後兩者除了NTFS-3G的原始碼以外還有一些非Tuxera開發的用以加強存取效能的專有元件。[2]

主要特性

Linux核心裡所包含的NTFS驱动程序(在一些發行版上則是作爲單獨的內核模組)在內核空間上執行,僅提供讀取操作(包括列出檔案清單、開啓、複製檔案),而缺少寫入操作(包括建立檔案,對檔案的修改、更名、移動和刪除)的支援。

而NTFS-3G則是藉助使用者空間檔案系統Filesystem in Userspace,FUSE)框架完成掛載,以此支援對NTFS分区的大部分寫入操作。

目前實現的特性有:

  • 在NTFS分割上建立任意大小的檔案
  • 在NTFS分割上對檔案進行更名、移動、刪除、修改
  • 支援UTF-8字元集
  • 支援存取控制串列權限的修改[3]
  • 支援NTFS硬連結符号链接
  • 支援NTFS透明壓縮:對經過NTFS透明壓縮的檔案進行讀取、更名、移動、新增、刪除、修改[4]
  • 對NTFS日誌的基本支援,除了基本的檔案寫入操作記錄以外,還可完成對NTFS卷檔案系統層面上的修復操作
  • 對NTFS加密檔案的重命名、複製、移動、刪除操作等不涉及檔案加密/解密過程的存取操作。

對於NTFS加密,目前爲止加密檔案的建立、對已有檔案進行加密等涉及檔案加密/解密的存取操作仍未實現支援。[5]

自ntfs-3g-2009.2.1起,NTFS-3G已經可以預設對含不完整日誌的NTFS卷進行恢復及掛接,需要時可通過「norecover」參數禁用這個設定。[6]

支援的作業系統

最初NTFS-3G是Linux-NTFS專案的分支,第一個穩定版本也只運行於Linux上。後來先後被移植至FreeBSDNetBSDOpenSolarisBeOSQNXNucleusVxWorksHaikuMorphOSMinixMac OS X/macOS(除10.13外[2])、OpenBSDAndroid[1][7][8][9],甚至WinCE等微軟尚未有NTFS支援的微軟作業系統也有移植支援。

不過,由於NTFS-3G需要依賴FUSE框架運行,像是macOS等類UNIX作業系統並沒有內建FUSE,需要先安裝FUSE框架方能安裝NTFS-3G並使用(像是macOS需要安裝FUSE for macOS等FUSE框架。而NTFS-3G的商用版本Tuxera NTFS for Mac則是附帶了MacFUSE作爲FUSE框架)。[10]

Android對NTFS的支援,理論上以基於Linux核心載入NTFS-3G驅動的方式實現,但AOSP並沒有整合任何的NTFS驅動程式,而且也不是所有的Android裝置廠商原廠就會用此種支援方式,甚至缺乏對NTFS的支援(如小米系列手機,原廠預載的MIUI缺少一些檔案系統的驅動程式,包括NTFS[11]),不過在一些客製韌體上,絕大多數通過移植NTFS-3G驅動程式至Linux核心來實現對NTFS的支援。[12]此外,一些裝置可以通過獲取root權限並安裝具備NTFS驅動程式供作業系統核心載入的App,實現對NTFS分割的掛載(如SD卡、通過USB OTG掛載的移动硬盘)。

效能

2007年与2008年的两个評測顯示,NTFS-3G的驅動程式效能已能與其它一些使用FUSE的檔案系統相比,但較依賴CPU的效能,表示NTFS-3G尚未完成對效能的最佳化[13][14]

Tuxera官方的使用手冊及NTFS-3G手册页上也提到,NTFS-3G當前的開發焦點仍集中在可靠性和實作欠缺的POSIX功能性,存取效能並不是優先考量的,至少需要效能較好的CPU方能取得較好的存取效能。[15]在一些較老的系統或需要低功耗的嵌入式裝置上,高CPU使用量會極大地限制NTFS-3G的存取效能(尤其是寫入效能),[16]OpenWRT/LEDE的官方說明文檔中也告知對效能較爲注意的使用者儘量避免使用NTFS檔案系統。[17]

延伸專案

ntfsprogs是一套類Unix系統下的工具集,用於對NTFS卷進行建立、修改、刪除等多種操作。最初復刻自NTFS-3G。2011年4月,ntfsprogs合併至NTFS-3G專案,並持續維護至今。

發展過程

  • 自2006年10月31日起,NTFS-3G獨立成專案,不再是Linux-NTFS專案的一部分。
  • 於2007年2月21日,Szabolcs Szakacsits宣布「第一個開放原始碼、完全自由、穩定的讀寫NTFS的驅動程式,NTFS-3G 1.0釋出」。
  • 自ntfs-3g-2009.1.1版起已經對UTF-8字元集實現完整支援
  • 2009年10月5日,Tuxera釋出NTFS-3G for Mac,並推出了含專有元件的商用版Tuxera NTFS。[18]
  • 自ntfs-3g-2009.11.14版開始支援新增透明壓縮的檔案、對透明壓縮檔案的更名。
  • 自ntfs-3g-2010.8.8版開始可對已有經過透明壓縮的檔案的修改操作。
  • 2011年4月12日,宣佈ntfsprogs專案合併至NTFS-3G。

類似軟體

  • Tuxera NTFS及NTFS for Mac —— NTFS-3G的商用版,內含一些對存取效能有提升的專有元件
  • Paragon NTFS —— 專有軟體,Paragon Software Group開發的一套運行於作業系統核心空間的NTFS檔案系統驅動程式
  • NTFS4DOS —— 專有免費軟體,運行於MS-DOS上的NTFS檔案系統驅動程式

參考資料

  1. . Tuxera. Tuxera. 2017-03-23 [2017-03-23]. (原始内容存档于2017-03-27).
  2. . alexw. 2017-04-14 [2018-04-05]. (原始内容存档于2018-04-05).
  3. . [2008-04-23]. (原始内容存档于2019-10-18).
  4. . [2018-02-15]. (原始内容存档于2018-02-16).
  5. . [2018-04-02]. (原始内容存档于2018-02-19).
  6. . [2018-04-02]. (原始内容存档于2009-03-23).
  7. . OpenBSD Journal. 2013-11-08 [2013-11-08]. (原始内容存档于2013-11-10).
  8. . OpenBSD ports. 2014-01-05 [2015-02-14]. (原始内容存档于2014-11-08).
  9. . [2018-04-02]. (原始内容存档于2017-11-28).
  10. . osxfuse.github.io. [2018-04-03]. (原始内容存档于2018-02-26).
  11. Forum, Xiaomi MIUI Official. . en.miui.com. [2018-04-04]. (原始内容存档于2018-04-05).
  12. . xda-developers. 2012-06-25 [2018-04-04]. (原始内容存档于2017-01-11).
  13. . [2008-04-23]. (原始内容存档于2008-04-30).
  14. . [2017-09-05]. (原始内容存档于2008-02-16).
  15. . [2018-04-02]. (原始内容存档于2011-05-22).
  16. . HTPC Guides. 2015-03-19 [2018-04-05]. (原始内容存档于2017-07-19).
  17. . openwrt.org. [2018-04-05]. (原始内容存档于2018-04-05) (英语).
  18. . [2018-04-02]. (原始内容存档于2018-04-03).

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.