導航:首頁 > 文件目錄 > fat文件系統詳解

fat文件系統詳解

發布時間:2023-12-29 13:32:04

『壹』 windows下,磁碟的文件系統有哪幾種簡述NTFS系統相對其他文件系統的好處是什

常見的文件系統大多是FAT或NTFS。

一、FAT文件系統:

1、FAT16格式

其中FAT16是自DOS、Windows 3.x以來廣泛使用的硬碟分區格式,是傳統的16位文件系統。它有極好的兼容性,DOS、Windows 、Windows NT的各種版本,以及其他各類操作系統都支持FAT16。它相對速度快, CPU資源耗用少,所以至今仍是各類機器硬碟常用的分區格式。但是傳統FAT16得不支持長文件名,受到8+3,即8個字元的文件名加3個字元擴展名的限制。單個分區的最大尺寸為2GB,單個硬碟的最大容量一般不能超過8GB,所以如果硬碟容量超過8GB,8GB以上空間則因無法利用而浪費。

2、FAT32格式

FAT32是Windows 95 OSR2版開始推出兼容16位的32位文件系統。最大特點為使用較小的簇(每簇僅為4KB)分配文件單元,大大提高硬碟空間利用率,減少了浪費。單個硬碟的最大容量達到2TB(1TB=1024GB),為海量硬碟的使用者提供了方便。它支持長文件名,能很好運行 DOS、Windows 95-2000的各種版本,但系統開銷要大於FAT16。這種文件系統的安全性仍然較差。目前,支持這一磁碟分區格式的操作系統有Win 97、Win 98和Win 2000/XP。但是,這種分區格式也有它的缺點,首先是採用FAT32格式分區的磁碟,由於文件分配表的擴大,運行速度比採用FAT16格式分區的硬碟要慢;另外,由於DOS系統和某些早期的應用軟體不支持這種分區格式,所以採用這種分區格式後,就無法再使用老的DOS操作系統和某些舊的應用軟體了。

二、NTFS文件系統

NTFS具有FAT的所有基本功能,並提供了優於FAT和FAT 32文件系統的特點:

1、更好的文件安全性和更大的磁碟壓縮。 支持大磁碟,最大可達2tb(NTFS的最大驅動器容量遠遠大於FAT的最大驅動器容量,並且隨著驅動器容量的增加,NTFS的性能並不下降,這與FAT有很大不同)。

2、可以在安裝過程中,將現有的分區轉換為NTFS。也可以在安裝後的任何時候,通過在命令提示符下使用convert.exe程序,將文件系統從FAT轉換為NTFS。但是只有Windows NT/2000/XP才能識別NTFS系統,Windows 9x/Me以及DOS等操作系統都不能支持、識別NTFS格式的磁碟。

3、由於DOS系統不支持NTFS系統,所以最好不要將C:盤製作為NTFS系統,這樣在系統崩潰後便於在DOS系統下修復。但是NTFS文件系統存在一個明顯的不足,就是如果使用NTFS格式化分區,那麼只有Windows 2000可以訪問在該分區上創建的文件,其他操作系統不能使用Windows 2000 NTFS分區。

NTFS文件系統也不是全都是優點,有些操作還是需要FAT文件系統中運行的。

『貳』 u盤中FAT32,NTFS,等文件系統是什麼意思

FAT32,NTFS都是硬碟分區格式的類型。

FAT32

FAT32指的是文件分配表是採用32位二進制數記錄管理的磁碟文件管理方式,因FAT類文件系統的核心是文件分配表,命局塌名由此得來,FAT32隻能支持32GB分區,單個文件也只能支持最大4GB。

NTFS

NTFS分區是New Technology File System的縮寫,為Windows NT 系列所設計,被用來代替File Allocation Table(FAT)文件系統。

NTFS 提供長文件名、數據保護和恢復,並通過目錄和文桐槐圓件許可實現安全性。NTFS 支持大硬碟和在多個硬碟上存儲文件(稱為卷)。NTFS可以支持的分區(如果採用動態磁碟則稱為卷)大小可以達到2TB。



(2)fat文件系統詳解擴展閱讀

FAT32和NTFS的區別

1、磁碟分區容量區別

NTFS可以支持的分區(如果採用動態磁碟則稱為卷)大小可以達到2TB(2048GB),而FAT32支持分區的大小最大為32GB。

2、單個文件容量區別

FAT32在實際運行中不支持單個文件大於4GB的文件,一旦超過容量限制那麼系統就會提示磁碟空間不足。NTFS就目前來說已經突破了單個文件4GB的容量限制,目前來說似乎沒容量限制,只要硬碟空間容量有多大,那麼就NTFS就可以分到多大。

3、安全方面區別明態

FAT32文件安全設置:不支持;NTFS文件安全設置:支持。

『叄』 FAT是什麼格式

FAT不是指格式,FAT是文件配置表(全稱是File Allocation Table),是一種由微軟發明並擁有部分專利的文件系統,供MS-DOS使用,也是所有非NT核心的微軟窗口使用的文件系統。

一個FAT文件系統包括四個不同的部分。保留扇區,位於最開始的位置。第一個保留扇區是引導區(分區啟動記錄);FAT區域,它包含有兩份文件分配表,是分區信息的映射表;根目錄區域,它是在根目錄中存儲文件和目錄信息的目錄表;數據區域,是實際的文件和目錄數據存儲的區域。

(3)fat文件系統詳解擴展閱讀:

FAT的最大分區

在FAT16中,採用了16bit寬的簇地址,32bit寬扇區地址。雖然32bit的扇區地址可以定址2^32*512,約2個TB的容量,但於由規定每簇最大的容量不超過1024*32,所以FAT16文件系統的容量也就限制到了2^16*1024*32,大約2.1GB的空量。

FAT32文件系統使用了32bit寬的簇地址,所以稱為FAT32。但在微軟體的文件系統中只使用了低28位,最大容量為2^28*1024*32,約8.7TB的空量。

雖然FAT32具有容納近乎8.7TB的容量,但實際應用中通常不使用超過32GB的FAT32分區。WIN2000及之上的OS已經不直接支持對超過32GB的分區格式化成FAT32,但WIN98依然可以格式化大到127GB的FAT32分區。

『肆』 請簡述FAT、FAT32、和NTFS三種文件系統的區別

在推出fat32文件系統之前,通常pc機使用的文件系統是fat16。像基於ms-dos,win
95等系統都採用了fat16文件系統。在win
9x下,fat16支持的分區最大為2gb。我們知道計算機將信息保存在硬碟上稱為「簇」的區域內。使用的簇越小,保存信息的效率就越高。在fat16的情況下,分區越大簇就相應的要增大,存儲效率就越低,勢必造成存儲空間的浪費。並且隨著計算機硬體和應用的不斷提高,fat16文件系統已不能很好地適應系統的要求。在這種情況下,推出了增強的文件系統fat32。同fat16相比,fat32主要具有以下特點:
1.
同fat16相比fat32最大的優點是可以支持的磁碟大小達到2tb(2047gb),但是不能支持小於512mb的分區。基於fat32的win
2000可以支持分區最大為32gb;而基於
fat16的win
2000支持的分區最大為4gb。
2.
由於採用了更小的簇,fat32文件系統可以更有效率地保存信息。如兩個分區大小都為2gb,一個分區採用了fat16文件系統,另一個分區採用了fat32文件系統。採用fat16的分區的簇大小為32kb,而fat32分區的簇只有4kb的大小。這樣fat32就比fat16的存儲效率要高很多,通常情況下可以提高15%。
3.
fat32文件系統可以重新定位根目錄和使用fat的備份副本。另外fat32分區的啟動記錄被

『伍』 一、嵌入式之FAT32文件系統(1)

參考文件

FAT32文件系統有幾個基本的幾個概念:

先拿一個真實的4G SD卡分析數據:

使用winhex物理方式查看,截一部分圖:

全稱Master Boot Record,即主引導記錄。
主引導記錄分為兩個部分,一個部分是前446位元組,另外一個部分是後64位元組。

前446個位元組,一般取值為0,不過有的時候也會有其他的設置值。

這部分也叫DPT,全稱Disk Partition Table,即磁碟分區表。
磁碟分區表有4個區,每個區有16位元組,總體是64位元組。因此,MBR位元組數為512位元組,剛好是一個扇區的數量。

DPT的4個部分,每一個部分的16位元組含義如下表:

00 82 03 00 0B E6 DC CA 00 20 00 00 00 E0 ED 00(16進制)

這里,就貼出來上面截圖的數據內容。(我們使用的是小位元組序)
0x00 :
通常的取值。

0x82 :
開始磁頭。

0x03 0x00 :
實際為0x0003,按照2進制編碼為0000 0000 0000 0011。
那麼開始扇區為:0。
開始柱面為:3。

0x0B :
分區類型,為Win95 FAT32類型。

0xE6 :
結束磁頭為230。

0xDC 0xCA:
實際為0xCADC,按照2進制編碼為1101 1100 1100 1010。
那麼結束扇區為:55。
結束柱面為:220。

0x00 0x20 0x00 0x00 :
實際為:0x00002000,也就是8192,為分區的開始扇區地址。那麼我們後面就可以從這里去找DBR。

0x00 0xE0 0xED 0x00 :
實際為:0x00EDE000,也就是15589376,為分區的總扇區數。
從這里其實可以算出SD卡的容量。
也就是:
分區大小:15589376x512 = 7981760512。這個值大約是7.612G。
從物理0地址到起始地址:8192*512 = 4194304
那麼總容量為:7981760512+4194304 = 7985954816。

該部分包括一個叫BPB的內容。

先截出DBR部分的實際SD卡上的內容:

在WinHex下使用邏輯磁碟打開FAT32文件系統的存儲介質來看,偏移位置與表示的含義有如下表所示:

25位元組的分區塊(BPB):

擴展分區BPB:

按照定義,將實際的圖 MBR.png分析如下:
從偏移為0x0BH地址開始:
00 02 10 96 04 02 00 00 00 00 F8 00 00 3F 00 FF 00 00 20 00 00 00 E0 ED 00 B5 1D 00 00

00 02 :
即0x0200,表示扇區位元組數,也就是512位元組。

10:
即0x10,每簇扇區數為16。也就是16 512=8 1024=8K。

96 04:
即0x0496,保留扇區數為1174。

02:
即0x02,FAT表份數為2。

00 00:
即0x0000,為保留。

00 00:
即0x0000,為保留。

F8:
即為本地硬碟。

00 00:
即0x0000,為保留。

3F 00:
即0x003F,即每磁軌扇區數為63。

FF 00:
即0x00FF,即磁頭數為255。

00 20 00 00:
即0x00002000,即隱藏扇區數為8192。

00 E0 ED 00:
即0x00EDE000,即磁碟總扇區數為15589376。

B5 1D 00 00 :
即0x001DB5,即FAT表佔用扇區數為7605。

好了,根據這些內容,可以計算出兩個參數:

FAT1的開始扇區 = 分區開始扇區+ 保留扇區=8192+1174 = 9366。
FAT2的開始扇區 = FAT1的開始扇區+FAT表佔用的大小 = 9366 + 7605 = 16971。
首目錄簇 = FAT1的開始扇區+FAT的表份數 x FAT表佔用的大小=9366+2*7605 = 24576。

繼續追蹤,找到首目錄簇中的已經新建的文件。

現在,先解析粘貼出來的每個部分的內容的含義。

具體內容下面的FAT中會說。

a.txt部分的解析:
41 20 20 20 20 20 20 20 54 58 54 20 18 8B 2A 90
96 4A A1 4A 00 00 0F 8C A1 4A 03 00 10 00 00 00

41 20 20 20 20 20 20 20:
表示文件名:「A TXT」

20 :
表示的是文件的屬性。歸檔。

18:
為系統保留。

8B:
創建時間的10ms位。也就是1390ms。

2A 90:
也就是0x902A,換成2進制為1001 0000 0010 1010 。表示的是創建時間。
細分如下:

則時間值為:
時:0x12 = 18,
分:0x1 = 1,
秒:0xAx 2s + 1390ms= 10x 2s + (1390ms) = 21s,
所以創建時間為18:01:21。

96 4A:
也就是0x4A96,換成2進制為0100 1010 1001 0110,表示的是創建日期。
細分如下:

則日期值為:
年:1980+0x25 = 2017,
月:0x4 = 4,
日:0x16= 22,

所以,創建日期為2017年4月22日。

A1 4A:
也就是0x4AA1,換成2進制為0100 1010 1010 0001,表示的是最後訪問日期。
則日期為:
年:1980+0x25 = 2017,
月:0x5 = 5,
日:0x1= 1,
所以,最後訪問日期為2017年5月1日。

00 00:
起始簇高16位。

0F 8C:
也就是0x8C0F,換成2進制為1000 1100 0000 1111,表示的是最近修改時間。

時:0x11 = 17,
分:0x20 = 32,
秒:0xf x 2 = 30s,
所以最近修改時間為17:32:30。

A1 4A:
也就是0x4AA1,換成2進制為0100 1010 1010 0001,表示的是最近修改日期。
則日期為:
年:1980+0x25 = 2017,
月:0x5 = 5,
日:0x1= 1,
所以,最近修改日期為2017年5月1日。

03 00:
即0x0003,表示起始簇低16位,也就是說,起始簇高位與起始簇低位相或,得到0x00000003,起始簇為3。

10 00 00 00:
即0x00000010,表示文件數據長度,也就是16位元組。

分析完a.txt,b.txt也一樣分析即可。

從而可以得到的是,a.txt的內容位置在:(3-2)*16+24576 = 24592上。
後使用winhex進行驗證,確認是正確的。

文件分配表(FAT),是FAT文件系統中用於磁碟數據索引和定位而引進的一種鏈式結構。在FAT文件系統中,文件的存儲依照FAT表制定的簇鏈式數據結構來進行。同時,FAT文件系統將組織數據時使用的目錄也抽象為文件,以簡化對數據的管理。

如DBR所述,偏移0EH處存儲了保留扇區的個數,而保留扇區數指的就是當前分區內DBR到FAT表之間的所有扇區的個數(包括DBR但不包括FAT表)。據此,可以定位FAT表所在的起始偏移位置了。

如DBR所述,偏移24H處存儲了保留扇區的個數,知道FAT2是緊鄰FAT1的。那麼FAT2表的位置為:FAT1的起始偏移地址+FAT1的大小。

FAT表由一系列大小相等的FAT表項組成,它有如下特性:

在FAT32文件系統中,根目錄的位置不再硬性地固定,可以存儲在分區內可定址的任意簇內,不過通常根目錄是最早建立的(格式化就生成了)目錄表。所以,我們看到的情況基本上都是根目錄首簇緊鄰FAT2,占簇區順序上的第1個簇(即2號簇)。同時,FAT32文件系統將根目錄當做普通的數據文件來看,所有沒有了目錄項數的限制,在需要的時候可以分配空簇,存儲更多的目錄項。

對於短文件名格式的目錄項:

注意:*表示此欄位在段文件目錄項中,不可取值0FH。若取值為0FH,目錄段為長文件名目錄段。

0BH欄位取值如下:

FAT32的一個重要的特點是完全支持長文件名。長文件名依然是記錄在目錄項中的。為了低版本的OS或程序能正確讀取長文件名文件,系統自動為所有長文件名文件創建了一個對應的短文件名,使對應數據既可以用長文件名定址,也可以用短文件名定址。不支持長文件名的OS或程序會忽略它認為不合法的長文件名欄位,而支持長文件名的OS或程序則會以長文件名為顯式項來記錄和編輯,並隱藏起短文件名。

長文件名的實現有賴於目錄項第12位元組屬性位元組,當此位元組的值為0FH時,支持長文件名的系統會將其當做長文件名的依據,而只支持短文件名的系統會認為是異常而忽略掉。系統將長文件名以13個字元為單位進行切割,每一組占據一個目錄項。所以可能一個文件需要多個目錄項,這時長文件名的各個目錄項按倒序排列在目錄表中,以防與其他文件名混淆。
長文件名中的字元採用unicode形式編碼,每個字元占據2位元組的空間。其目錄項定義如:

閱讀全文

與fat文件系統詳解相關的資料

熱點內容
245倒角編程怎麼計算 瀏覽:599
可以買生活用品的app有哪些 瀏覽:175
cad在c盤產生的文件夾 瀏覽:541
聯想手機解鎖工具 瀏覽:696
瑞銀3887win10 瀏覽:833
學網路編程哪個好 瀏覽:805
手機vmos導入的文件在哪裡 瀏覽:115
蘋果手機可以把文件傳到華為嗎 瀏覽:63
海川化工下載的文件默認到哪裡 瀏覽:343
學唱粵語歌app 瀏覽:975
qq游戲生死狙擊玩不了 瀏覽:120
win10郵件不顯示圖片 瀏覽:922
口袋妖怪所有版本下載 瀏覽:504
我們身邊都有哪些大數據例子 瀏覽:25
震旦adc307掃描的文件在哪裡 瀏覽:999
圖片打開變成文件 瀏覽:194
松下微單電腦傳文件軟體 瀏覽:574
蘋果藍牙鍵盤surface 瀏覽:170
mindmaplinux 瀏覽:733
oppo手機怎麼連接電腦傳輸數據 瀏覽:624

友情鏈接