exfat檔案系統相關資料結構以及資料恢復方法

2021-06-09 07:44:49 字數 2063 閱讀 8962

exfat(擴充套件fat)是microsoft在windows embeded 6.0中引入的一種適合於快閃儲存器的檔案系統。對於快閃儲存器,ntfs檔案系統過於複雜,exfat更為適用。

相對fat檔案系統,exfat有如下好處:

•增強了台式電腦與移動裝置的互操作能力

•沒有檔案大小4g的限制(具體多大ms沒有給出,wiki上的介紹有誤)

•簇大小可高達32mb

•採用了剩餘空間分配表,剩餘空間分配效能改進

•同一目錄下最大檔案數超過1000個

•支援訪問控制

•支援tfat

採用該檔案系統的快閃儲存器盤不支援windows vista readyboost。windows vista sp1支援該檔案系統。

xp系統(sp3)下不能認識exfat格式的u盤!

2 exfat檔案系統相關的資料結構

#define exfat_first_data_cluster 2

#define exfat_cluster_free 0 /* free cluster */

#define exfat_cluster_bad 0xfffffff7 /* cluster contains bad block */

#define exfat_cluster_end 0xffffffff /* final cluster of file or directory */

struct exfat_super_block

;#define exfat_entry_valid 0x80

#define exfat_entry_continued 0x40

#define exfat_entry_eod (0x00)

#define exfat_entry_bitmap (0x01 | exfat_entry_valid)

#define exfat_entry_upcase (0x02 | exfat_entry_valid)

#define exfat_entry_label (0x03 | exfat_entry_valid)

#define exfat_entry_file (0x05 | exfat_entry_valid)

#define exfat_entry_file_info (0x00 | exfat_entry_valid | exfat_entry_continued)

#define exfat_entry_file_name (0x01 | exfat_entry_valid | exfat_entry_continued)

struct exfat_entry /* common container for all entries */

;#define exfat_ename_max 15

struct exfat_entry_bitmap /* allocated clusters bitmap */

;struct exfat_entry_upcase /* upper case translation table */

;struct exfat_entry_label /* volume label */

;#define exfat_attrib_ro 0x01

#define exfat_attrib_hidden 0x02

#define exfat_attrib_system 0x04

#define exfat_attrib_volume 0x08

#define exfat_attrib_dir 0x10

#define exfat_attrib_arch 0x20

struct exfat_entry_meta1 /* file or directory info (part 1) */

;#define exfat_flag_fragmented 1

#define exfat_flag_contiguous 3

struct exfat_entry_meta2 /* file or directory info (part 2) */

;struct exfat_entry_name /* file or directory name */

;

exfat檔案系統(二)

獲取到exfat nofuse 後,先看看 中自帶的readme.md文件,check發現該開源 是在linux系統中以命令modprobe exfat方式load the driver manually,然後使用標準的mount載入exfat檔案系統。modprobe exfat的控制主要是執行 ...

exFAT檔案系統介紹

exfat 全稱extended file allocation table file system,擴充套件fat,即擴充套件檔案分配表 是microsoft在windows embeded 5.0以上 包括windows ce 5.0 6.0 windows mobile5 6 6.1 中引入的...

exFAT檔案系統例項(二)

在sd卡根目錄下複製乙個abc.txt的測試檔案進入,檔案中包含一些內容,如下圖所示 在分析之前,先回顧一下使用者目錄項的基礎知識 exfat檔案系統中每個使用者檔案至少有三個目錄項,稱為三個屬性 屬性1 目錄項首位元組的特徵值為 85h 描述檔案的基本資訊,修改日期等 屬性2 目錄項首位元組的特徵...