數據恢復:硬盤結構和存儲原理
數據恢復:硬盤結構和存儲原理
文件分配表
文中分配表即FAT (File Allocation Table),看到它我們一定會首先想到FAT16和FAT32這兩種 分區格式。當文件分配表和分區格式這兩個概念放在一起時,很多讀者可能會不理解,那么就來做一個比喻。
把一塊出廠的還沒有進行過任何操作的硬盤比喻成一個大倉庫,把具體的文件比喻成倉庫中的貨物。那么,FA就可以認為是記錄貨物在倉庫中的擺放位置的登記表。數據恢復
如圖1所示,如果把FAT16認為是所有貨物都橫向擺放的話,那么FAT32就可能是縱向擺放。如圖2所示。也就是說,同樣的貨物在同樣的倉庫中,因為記錄貨物的登記表不同,那么存取方式也肯定不同。
圖1 圖2
當需要取倉庫中的某…個貨物時,首先要根據登記表來找到倉庫的位置,然后才能進行搬運。同樣的道理,文件存儲在硬盤中也是如此,因此FAT16和FAT32是DOS/Windows系統的文件尋址系統。Windows 2000/XP出現了新的文件系統NTFS,Windows Vista/7使用WinFS文件系統。
經過上面的講解,相信讀者已經了解了FAT文件分配表的重要性,理解了上述道理也就明白了為什么Linux操作系統不能夠識別Windows操作系統的分區格式了。
提條:正因為文件分配表的重要性,因此一般在創建時程序會自動備份文件分配表。
目錄區
Directory(即根目錄區)的簡寫,DIR緊接在第二個備份FAT表之后,其實,僅有FAT還不能定位文件在磁盤中的位置,FAT還需要DIR的一些信息才能準確定位文件的位置。
DIR主要記錄每個文件(目錄)的起始單元、相關文件屬性等。其中,起始單元是定位文最為重要的一個信息,文件屬性也就是我們所熟悉的“是否為只讀、隱藏”等。
在計算機中尋找一個文件的位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在磁盤的具體位置及大小。在確定了文件的位置和大小后,只要將存放該文件內容的數據區中的數據讀出來就完成了一個文件(文件夾)的讀取。