2.3 文件系統
2.3.1 文件系統定義
操作系統中負責管理和存儲文件信息的軟件機構稱為文件管理系統(簡稱文件系統),它是操作系統的重要組成部分。從系統角度來看,文件系統是指對外存儲器空間按一定的格式進行有效地組織、分配與管理,負責文件存儲并對存入的文件進行保護、檢索等的系統。具體來說,它負責為用戶將存儲在外存儲器上的數據以文件的形式進行管理,提供在外存儲器上建立、復制、修改、移動、刪除、控制文件的存取權限等操作。文件系統主要由3部分組成:與文件管理有關軟件、被管理文件以及實施文件管理所需數據結構。
2.3.2 常見文件系統
目前,用戶經常使用到的文件系統主要有:FAT32、NTFS、exFAT、EXT2、EXT3、UFS、GFS、CDFS等。
1.FAT32文件系統
FAT32文件系統是硬盤分區格式中最常見的一種。采用32位文件分配表,使其對磁盤的管理能力大大增強,突破了FAT16對每一個分區的容量只有2GB的限制。由于硬盤生產成本下降,容量越來越大,運用FAT32分區格式后,可以將一個大硬盤定義成一個分區而不必再劃分為幾個分區使用,大大提高了對大容量硬盤的管理能力。U盤、SD卡、CF卡等一般都使用FAT32文件系統,詳見第5章。
2.NTFS文件系統
NTFS文件系統(New Technology File System)隨著Windows NT操作系統的誕生而產生,它是微軟Windows NT內核的系列操作系統支持的,特別為網絡、磁盤配額、文件加密等管理安全特性而設計的磁盤格式。它支持文件系統故障恢復,尤其是大存儲媒體、長文件名等。NTFS文件系統的設計目標就是用來提高大容量硬盤的速度,如:讀/寫和搜索標準文件的速度、快速恢復受損的文件系統等。它的主要優點是:安全性高、穩定性好、不易產生文件碎片、提供容錯結構日志等,詳見第6章。
3.exFAT文件系統
exFAT文件系統(extended File Allocation Table)是微軟公司在Windows Embeded 6.0(包括Windows CE6.0、Windows Mobile)中引入的一種適合于閃存的文件系統。因為NTFS文件系統結構復雜,且系統開銷大,在某些場合(如:閃存、嵌入式系統等)并不適用,這時候exFAT是最好的選擇。
4.EXT2和EXT3文件系統
EXT2和EXT3是許多Linux操作系統版本的默認文件系統,均基于UFS文件系統,是一種快速、穩定的文件系統。
隨著Linux操作系統在關鍵業務中的應用,EXT2文件系統的弱點也漸漸顯露出來;其中,非日志式是EXT2文件系統的一個致命弱點;而EXT3文件系統直接從EXT2文件系統發展而來,目前EXT3文件系統已經非常穩定、可靠;它完全兼容EXT2文件系統;并彌補了EXT2文件系統非日志式的這一缺點。
5.UFS文件系統
UFS是UNIX文件系統的簡稱,是大部分UNIX類操作系統默認的基于磁盤的文件系統,甚至Apple的OS X也能支持UFS文件系統。
在UFS中,重要的數據結構貫穿于整個文件系統,并且數據做到了局部化,因此在讀取文件的時候,磁頭的運動量大大降低。UFS使用“柱面組”對數據進行分段組織,每個柱面組的大小與磁盤的幾何特性關聯。
6.GFS文件系統
GFS文件系統(Google File System)是谷歌公司為了滿足其迅速增長的數據處理要求,設計并實現的一種大型的、可擴展的、分布式的文件系統,主要用于大型的、分布式的、對大量數據進行訪問。它運行于廉價的普通硬件上,可以給大量的用戶提供總體性能較高的服務,也可以提供容錯功能。
7.HFS+文件系統
HFS+(HFS Plus)是蘋果公司為替代其分層文件系統(HFS)而開發的一種文件系統。它被用在macintosh計算機(或者其他運行Mac OS的計算機)上。它也是iPod上使用的一種格式。HFS+也被稱為Mac OS Extended(或稱為HFS Extended)。在開發過程中,蘋果公司也把這個文件系統的代號命名為“Sequoia”,HFS+是一個HFS的改進版本,支持更大的文件,并用Unicode來命名文件或文件夾,代替了Mac OS Roman或其他一些字符集。
8.CDFS文件系統
CDFS(Compact Disc File System)是一種適合光存儲的文件系統。CDFS是指專門的CD格式的文件系統,只針對CD唱片,也就是我們平時說的音軌。這都是針對兼容計算機上現有的文件系統而定義的,僅僅是為了兼容。不能直接打開,可以用軟件進行抓音軌。部分U盤也可通過量化軟件進行CDFS系統化,如:銀行的網銀U盾HDZB_USBKEY就是使用這樣的方法。
9.RAW文件系統
準確地說,RAW不能認為是一種文件系統,它是一種沒有被Windows操作系統所識別的文件系統。如果“單擊”邏輯盤,系統會提示“磁盤未格式化,是否進行格式化”。
切記!此時“千萬不要對邏輯盤進行格式化”操作。
排除此類故障的基本思路、方法和步驟在7.2節中將有詳細介紹。
一般來說,有以下6種情況,可能造成正常文件系統變成RAW文件系統。
【情況1】分區表所對應邏輯盤開始扇區的DBR被破壞。
【情況2】對于FAT32文件系統而言,FAT1表和FAT2表的開始值不是“F8 FF FF 0F”(存儲形式)。
【情況3】如果是剛剛重裝系統,發現有幾個邏輯盤出現“磁盤未格式化”提示。原因很可能是這幾個邏輯盤的文件系統都是exFAT,操作系統還未及時更新,所以不支持新文件系統。
【情況4】如果是無緣無故地出現“磁盤未格式化”提示,那很可能是文件系統結構損壞,具體哪里被破壞則需要手工進行分析。
【情況5】如果是U盤出現“磁盤未格式化”提示,則需要查看設備狀態是否良好。如果良好,一般是軟故障;如果是無媒體或不可讀取,則是硬件故障。
【情況6】如果U盤分區表被破壞后,U盤分區表所對應的文件系統也會變成RAW文件系統。
解決問題需要對癥下藥,如果是分區表被破壞,則需要恢復對應的分區表;如果邏輯盤的FAT32_DBR或NTFS_DBR被破壞,則需要恢復FAT32_DBR或NTFS_DBR;對于FAT32文件系統而言,如果FAT1表和FAT2表的開始值不是“F8 FF FF 0F”(存儲形式),則將FAT1表和FAT2表的開始值修改為“F8 FF FF 0F”(存儲形式),等等。