用WinHex查看SD卡FAT32文件系统结构
? ? 前段時間自己曾經寫了一篇關于sd卡和Fat文件系統的自學筆記(http://blog.chinaaet.com/detail/29284.html),分享了一些當年自己寫SD卡驅動和FAT文件系統的心得。其中大多數內容都是基礎的,而且后來看看頗有些”授之以魚“的嫌疑,與俺一直以來”授之以漁“的宗旨頗有些不符,以致于前段時間還有博友網上問我關于怎么使用WinHex軟件的問題。之后仔細想來還是覺著再細說一下”漁“的問題為妥,下面我就先淺談一下最簡單的WinHex軟件的使用方法,之后再介紹通過它如何分析FAT文件系統結構:
一、如何使用WinHex軟件打開SD卡等相關存儲設備:
? ? 從網上下載免費的WinHex軟件(放心,是真免費的,不用破解,呵呵),一路默認,安裝完之后,雙擊打開WinHex軟件(事先插好U盤或者SD卡(本篇以SD卡為例)),選擇”工具->打開磁盤“,選擇插好的SD卡磁盤驅動器,確定之后即可打開該SD卡,效果如下圖所示(我事先已經格式化好了,所以里面數據為空):
二、分析FAT32文件系統(我把SD卡格式化成FAT32格式)結構:
? ? 對SD卡來說,相當于單個分區,所以比較簡單。我們來分析一下它的組成(按照所占地址空間從低到高排列):啟動扇區(從第0扇區開始,包括保留扇區,包含一定數量的扇區數)、文件分配表FAT1、FAT2(完全是FAT1的備份)、根目錄FDT、數據區(其實FDT算是數據區的一部分)。其中啟動扇區中的第0個扇區是重中之重,里面的參數包含了該SD卡的全部基本信息(想詳細了解可以查詢相關資料),包括保留扇區的數目、FAT表的大小及根目錄所在的位置等等(所以如果自己用MCU讀寫SD卡的話,第0個扇區是必定要查詢的,當然如果你固定使用某個SD卡則可以直接用winhex在PC機上查出來,然后事先存到程序里的參數數組里,嘿嘿,我當年最開始做SD卡開發的時候就是這樣的,雖然是笨法子卻省了不少事)。
? ? 具體詳細的分析方法,我在博客下面分享了一篇期刊論文,里面就是介紹WinHex分析FAT文件系統存儲結構的,可以仔細研究一番。在本篇里,主要以實際為主,下面以我在SD卡根目錄下新建一個001.txt文件為例剖析一下其在里面的存儲結構(另外需要注意的是Winhex查看是以快照的方式,所以如果你對SD卡里面的內容有所更改需要再次獲取新快照,方法為“專業工具->獲取卷快照->選中獲取新快照”):
1.選中001.txt文件,查看文件存儲結構:
2.選中根目錄,查看根目錄內容:
3.選中FAT1(FAT2與FAT1一樣),查看FAT表存儲結構:
4.跳轉到相應地址或者扇區:
? ? 本篇寫到這里就不多說了,詳細的見附件文檔,里面說的比較明白。還有我想說的是WinHex的功能遠遠不止我上面提到的這幾點功能,它真的灰常強大,希望大家能多動手實踐來挖掘它更豐富的功能,也歡迎在博客里留言分享使用經驗,未完待續~
? ? 附件為用WinHex分析FAT文件系統比較詳細的一個期刊文檔,強烈建議看看~
13456491332247.pdf總結
以上是生活随笔為你收集整理的用WinHex查看SD卡FAT32文件系统结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天猫复购预测训练赛技术报告
- 下一篇: 基于飞凌NXP i.MX6UL实现中央空