第七章 數碼設備
7.1.數碼設備
數碼照相機、U盤、MP3隨身聽、數碼攝像機等電存放裝置。
7.2.數碼照相機存儲原理
和電腦硬碟的磁片管理方式一樣,數碼照相機的存儲卡也是採用邏輯磁區的管理方式對存放裝置進行管理。也就是在邏輯上將存儲卡分成若干個磁區,每個磁區存儲量為512個位元組。
數碼照相機的存儲卡採用FAT12的存儲管理方式,這種存儲方式在軟碟中被廣泛使用。
存儲卡的邏輯結構可以分為MBR、DBR、FAT、DIR和資料區。
7.3.數碼照相機的存儲特點
數碼照相機的存儲卡是用來存儲拍攝的照片,對所有照片來說,按照先拍先存的原則,對照片依次編號存儲。而對每一張照片,則是連續存儲。這與電腦硬碟的存儲方式略有不同。
.. 檔的刪除:刪除過程是將目錄區中的檔記錄項頭一個位元組改為“E5”,把FAT表中記錄該檔的簇號全改為“0”,通過這兩個改變,就完成檔的刪除並實現對存儲空間的釋放,而實際的資料並沒有被真正更改。
.. 存儲卡格式化:格式化過程則是把FDT和FAT全部清零,實現空間的釋放,也沒有更改實際的資料。
.. 手工將照片讀出:利用“搜索”功能找到所需檔的頭部,再搜索下一檔位置,把兩個檔頭之間的資料依次讀出寫入一個新的檔,即可恢復丟失的照片。
7.4.流行優盤磁片格式分析
如今,隨著記憶體的容量越來越大,大部分的硬碟採用了FAT32或者NTFS格式的分區,少數採用了FAT16格式。人們大都對這些分區格式較為瞭解。但對於現今人們樂於使用的U盤,尤其是32M以下的U盤,大部分採用的卻是FAT12的格式,因為它的廣泛應用,有必要瞭解一下這種分區格式。
雖然U盤的存儲方式及原理與硬碟略有差異,但從分區格式上來講卻大同小異,同樣是由主引導磁區MBR(因為USB設備一般是只有在windows下才可以驅動識別的,所以有些U盤類似於軟碟,沒有這個主引導磁區)、引導磁區(DBR)、檔案配置表FAT、目錄區和資料區組成。我們主要需要分析一下主引導磁區和引導磁區。
以一個容量為16M的U盤為例,我們用windows下的磁片編器來查看,第一個磁區即為主引導磁區,就是我們通常所說的0磁區(物理磁區),如下顯示:
8001 01000101 3FFE3F00
0000437D 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
00000000 000055AA
我們逐個進行分析:
80 這個位元組是"引導指示符"代表該分區可以自舉。
01 這個位元組是分區的啟始磁頭號。
0100 這個字佔用兩個位元組的位置,表示了分區引導記錄的磁區號和柱面號。
01 這個位元組的位置是系統指示符的位置,比如FAT16格式為06,FAT32格式的這個位置為0B或0C等。
後面的三個位元組正好與前面提到的分區啟始磁頭號和磁區號、柱面號相對應,這裡01是一個位元組,表示分區結束的磁頭號。
3FFE 這兩個位元組組成的字表示分區結束的磁區號與柱面號。
3F000000 組成了雙字表示分區前面的磁區數,也可以說是前面隱含的磁區數。
下面的一組雙字,表示的是分區的總的磁區數,其中並不包含上面提到的隱含磁區數。這裡是437D0000 說明這個分區或者說這個U盤使用了32067個磁區,其演算法同樣是先進行高位與低位元的交換後轉換成十進位數字得來的。
結尾的55AA依然表示一個分區的結束標誌。
從以上分析看,主引導磁區的每一位元所表示的含意與其它標準分區的分區格式基本是相同的,主要的區別是在系統指示符上。
下面我們翻過63個隱含磁區來看它的引導記錄區,也就是通常所說的I/O表:
EB3E902A 5B7D342A 49484300 02080100 02000243 7DF80C00
20004000 3F000000 00000000
EB3E90 是一個跳轉指令,據分區格式不同,及format命令的版本不同略有不同。
2A5B7D342A494843 是一個OEM號,對於其後面的資料無實際意義。
0002 表示每磁區位元組數,這裡應該為512個位元組。
08 表示每簇磁區數
0100 則表示保留磁區數,我們可以簡單的理解為從此磁區(I/O表)到FAT表之區想隔多少個磁區,這裡計算值為1,就表示此磁區的下一個磁區即是FAT檔案配置表。
02 表示此分區FAT表的份數,通常都會有兩份FAT表。
0002 表示根目錄的項數。
437D 表示磁片的總磁區數,此數與主引導磁區的437D所表示的意義相同,應相對應。
F8 是磁介質類型的說明符。
0C00 表示該磁片FAT表所佔用的磁區數,這個位置所表示的含意與FAT16分區格式是相同的。
2000 這個字經過換們後再轉換成十進位計算得出32這個位置表示是每磁軌磁區數。
4000 表示的是該磁片的磁頭數。
3F000000 這個雙字表示的是隱含磁區數,與主引導區的3F000000相互對應。
00000000 在FAT32或FAT16中表示的是磁片總磁區數,而FAT12分區格式這裡明顯不同,它的這部分含意表示在磁介質類型說明符的前面,這裡需要特別注意。
以上按各部分的含意,逐個分成位元組、字、雙字說明了FAT12格式的主引導磁區和引導磁區,這裡只是以一個16M的U盤為例,在處理實際問題中各部分數值可能會發生變化,但表示的含意大致相同,需要靈活運用。
轉自:http://bbs.intohard.com/index.php
0 意見: