Ext2 是 GNU/Linux 系統中的標準檔案系統,其優點在於存取檔案的效能極佳,尤其在處理中小型檔案時表現出色,這主要歸功於其叢集快取層的優良設計。
單一檔案大小與檔案系統的容量上限取決於叢集大小。在常見的 x86 電腦系統中,叢集最大為 4KB,此時單一檔案大小上限為 2048GB,檔案系統容量上限為 16384GB。然而,由於 Linux 核心 2.4 所能使用的單一分割區最大僅為 2048GB,實際上可使用的檔案系統容量最多也不超過 2048GB。
Ext3 是一種日誌式檔案系統,為 Ext2 的延伸擴展。它完全兼容 Ext2,並且從 Ext2 轉換成 Ext3 的過程並不複雜。
用來支援 Ext3 的套件均已包含在 LFS 基本系統中,無需額外安裝其他程式。
編譯核心時,請確認已啟用 Ext3 支援。若要在根分區使用 Ext3,須將 Ext3 支援編譯為內嵌支援;若非根分區使用,編譯成模組即可。
接著編輯 /etc/fstab,將欲轉換為 Ext3 的分區條目修改為類似以下格式:
/dev/hdXX /mnt_point ext3 defaults 1 0
其中 /dev/hdXX 請替換為實際分區(例如 /dev/hda2),/mnt_point 替換為掛載點(例如 /home)。末尾的 0 可確保啟動時不會由 fsck 腳本對該分區進行一致性檢查。若不確定核心是否支援 Ext3,可將 ext3 改為 auto。
啟動已改為 Ext3 的分區日誌功能,執行以下指令:
tune2fs -j /dev/hdXX
完成後重新掛載分區,或重新啟動系統(若已重新編譯核心)。
日誌式檔案系統的核心優勢在於其可靠性。檔案系統在運作時依賴快取層,若未正常卸載,則必須將快取層的資料寫回磁碟後才能關機。因此,系統關機時必須先將所有檔案系統完整 shutdown。
若在檔案系統尚未完成 shutdown 時就發生意外關機(如停電),下次開機時將造成資料不一致,必須執行檔案系統重整來修復錯誤。然而,此重整過程非常耗時,特別是對於大型檔案系統,且無法百分之百保證所有資料都不會遺失。
日誌式檔案系統透過將整個磁碟的寫入動作完整記錄在磁碟的特定區域中,以便需要時能回溯追蹤。資料的寫入動作涉及許多細節——例如修改檔案標頭資料、搜尋磁碟可寫入空間、逐一寫入資料區段等——每個細節若在中途被中斷,都會導致檔案系統不一致。
但在日誌式檔案系統中,由於詳細記錄了每個步驟,當某個過程被中斷時,系統能根據這些記錄直接回溯並重整被中斷的部分,無需逐一檢查其他區域,因此重整速度極快,幾乎不費時間。
Linux 中另有一種專門用於交換分區的 Swap 檔案系統。Linux 使用整個分區來作為交換空間,這與 Windows 使用交換檔案的方式不同。一般而言,Swap 分區的大小為主記憶體的 2 倍。