同一顆硬碟,三種方式讀寫
同一台 Mac、同一顆 USB 3.2 SSD,分別以傳統應用層方案、CrossDriver 新一代和 CrossDriver 核心版測試。
NTFS
Ext4
XFS
測試環境(示意,待定):MacBook Pro(M3 Pro,macOS 15),Samsung T7 Shield 1 TB(USB 3.2 Gen 2)。循序讀寫為單一 10 GB 檔案,小檔案為 10,000 個 100 KB 檔案。每項測試 5 次取中位數,測試前清除快取。
查看資料表
| 格式 | 指標 | 傳統應用層方案 | CrossDriver 新一代 | CrossDriver 核心版 |
|---|---|---|---|---|
| NTFS | 循序讀取(MB/s) | 420 | 880 | 960 |
| NTFS | 循序寫入(MB/s) | 180 | 760 | 880 |
| NTFS | 小檔案寫入(個/秒) | 150 | 900 | 1,150 |
| Ext4 | 循序讀取(MB/s) | 380 | 900 | 980 |
| Ext4 | 循序寫入(MB/s) | 150 | 820 | 920 |
| Ext4 | 小檔案寫入(個/秒) | 120 | 1,050 | 1,300 |
| XFS | 循序讀取(MB/s) | — | 910 | 990 |
| XFS | 循序寫入(MB/s) | — | 850 | 930 |
| XFS | 小檔案寫入(個/秒) | — | 980 | 1,200 |
差別在資料走的路
三種方式都能在 Finder 裡看到磁碟,但每一次讀寫經過的路徑完全不同。
使用者空間轉譯
- Finder / 你的 App
- macOS 核心(檔案請求轉送層)
- 使用者空間程式轉譯 NTFS / Ext4
- macOS 核心(再次進出)
- 磁碟
- 也有不需降低系統安全性的方案
- 每次讀寫都要在核心與普通程式之間多次往返
- 轉譯程式多為單執行緒,大檔案寫入、小檔案複製最慢
- Ext4 寫入、XFS 讀寫幾乎沒有成熟方案
Linux 原生驅動程式 + 系統高速通道
- Finder / 你的 App
- macOS 核心內建的網路檔案系統用戶端(含快取)
- 隔離引擎:Linux 核心原生 NTFS / Ext4 / XFS 驅動程式
- 磁碟(整顆直通引擎)
- 檔案系統由 Linux 自己的驅動程式處理,數十年的最佳化與多執行緒回寫
- 大區塊連續傳輸,兩端都用上系統快取
- 無需核心延伸功能、無需降低安全性
- 引擎出錯只影響引擎,Mac 照常運作
macOS 核心直接讀寫
- Finder / 你的 App
- CrossDriver 核心延伸功能
- 磁碟
- 路徑最短,速度最快
- Apple 晶片 Mac 需進入復原模式降低安全性並允許核心延伸功能
- macOS 重大版本更新後,可能需要等待更新
- 驅動程式出錯可能導致整台 Mac 重新開機
Mac 讀寫其他格式磁碟的四種做法
市面上的產品大致分為這四代。CrossDriver 同時提供第四代(新一代)和第二代(核心版,即 crossdriver.com 上的經典版)。
| 使用者空間框架(FUSE 類) | 核心延伸功能 | Apple FSKit | 虛擬化引擎(CrossDriver 新一代) | |
|---|---|---|---|---|
| 檔案系統由誰實作 | 第三方重寫(如 ntfs-3g) | 第三方核心驅動程式 | 第三方使用者空間實作 | Linux 核心原生驅動程式 |
| 需要核心延伸功能 | 部分需要 | 需要 | 不需要 | 不需要 |
| 需要降低 Mac 的安全性 | 部分需要 | 需要(Apple 晶片) | 不需要 | 不需要 |
| 速度 | 慢 | 最快 | 待實測 | 接近核心級 |
| 出錯時的影響 | 該程式結束 | 可能整台重新開機 | 該延伸功能結束 | 只影響引擎 |
| 系統需求 | 視方案而定 | 隨 macOS 版本更新 | 較新的 macOS | macOS 12 或更新版本 |
| 能支援的格式 | 取決於有無使用者空間實作 | 逐一開發 | 逐一開發 | Linux 支援的都能接入 |
各代表現依產品而異;FSKit 方案的速度我們會納入正式測試。
三種模式,依你的需求選
大多數人選新一代就夠了:夠快、夠安全、裝完就能用。需要榨出每一分速度、又能接受降低安全性的,再考慮核心版。
| 傳統應用層方案 | CrossDriver 新一代 | CrossDriver 核心版(經典版) | |
|---|---|---|---|
| 循序讀寫速度 | 慢 | 快(接近核心級) | 最快 |
| 小檔案複製 | 很慢 | 快 | 最快 |
| 需要降低 Mac 的安全性設定 | 視方案而定 | 不需要 | 需要(Apple 晶片) |
| 安裝後重新開機 | 視方案而定 | 不需要 | 需要 |
| macOS 更新後 | 可能失效 | 通常照常使用 | 可能需等待更新 |
| 驅動程式出錯的影響 | 該程式結束 | 只影響引擎,Mac 不受影響 | 可能整台重新開機 |
| 檔案系統實作 | 第三方重寫 | Linux 核心原生驅動程式 | CrossDriver 核心驅動程式 |
| 適合 | 偶爾讀取檔案 | 日常讀寫、大檔案、開發與 NAS 資料 | 追求極限傳輸量的專業使用者 |
| 價格(NTFS / Ext4 · XFS,終身授權) | 視產品而定 | US$19.95 / US$39.95 | US$29.95 / US$59.95 |
傳統應用層方案指市面上基於 FUSE 等使用者空間框架的工具,實際表現依產品而異。
新一代為什麼能接近核心級
原生驅動程式
NTFS、Ext4、XFS 由 Linux 核心自己的驅動程式讀寫,與 Linux 電腦、伺服器使用的是同一套程式碼。
大區塊傳輸
Finder 透過 macOS 核心內建的網路檔案系統用戶端讀寫,以大區塊連續傳輸,兩端都有快取。
整顆直通
磁碟整顆交給引擎,不經過檔案模擬層;寫入由 Linux 合併後再寫進磁碟。
輕量引擎
引擎幾秒內啟動,只為目前的磁碟工作,不執行任何多餘的服務。
數據是怎麼測的
發布前我們會公開完整的測試腳本與原始數據,任何人都可以重現。
測試環境(待定)
- Mac
- MacBook Pro M3 Pro · 36 GB 記憶體
- 系統
- macOS 15
- 磁碟
- Samsung T7 Shield 1 TB · USB 3.2 Gen 2
- 比較對象
- 市售 FUSE 類方案、CrossDriver 新一代、CrossDriver 核心版(crossdriver.com 經典版)
測試項目
- 循序讀取 / 寫入
- 單一 10 GB 檔案,1 MB 區塊
- 小檔案寫入
- 10,000 個 100 KB 檔案
- 重複次數
- 每項 5 次,取中位數
- 快取
- 每次測試前退出並重新連接磁碟
目前頁面上的數字為預估值,僅供排版示意。
問與答
新一代為什麼不直接做成核心延伸功能?
核心延伸功能在 Apple 晶片 Mac 上需要進入復原模式降低安全性,每次 macOS 重大版本更新也可能失效。新一代採用 macOS 內建的虛擬化框架,裝完就能用,速度接近核心級。
核心版在哪裡買?
核心版就是 crossdriver.com 上已經推出的經典版:NTFS For Mac、Ext4 For MAC、XFS For MAC。
核心版怎麼安裝?
Apple 晶片 Mac 需要在復原模式的「啟動安全性工具程式」中選擇「降低安全性」並允許核心延伸功能,然後重新開機;Intel Mac 需要在「隱私權與安全性」中允許。新一代不需要這些步驟。
為什麼 XFS 沒有傳統應用層方案的數據?
我們沒有找到成熟、可讀寫的 XFS 應用層方案,所以只比較新一代和核心版。
我的磁碟能跑這麼快嗎?
速度上限取決於磁碟與連接埠。傳統硬碟的瓶頸在硬碟本身(通常 100–200 MB/s),三種方式的循序讀寫差異不大,但小檔案複製依然差距明顯;隨身碟和 USB 2.0 也是如此。差距最大的是 USB 3.2 及更快的 SSD。