Filesystems
文件或塊在磁碟上是如何分隔的?
我正在嘗試通過
grep
掃描硬碟來恢復一些失去的文件。(作業系統為 Darwin 11.4.2。文件系統為 HFS。)如何確定文件(或其連續塊)在磁碟上的開始和結束位置?我正在考慮類似於通用文件開頭 (BOF) 和文件結尾 (EOF) 序列的內容。
我希望搜尋可以自動將掃描的內容“解析”成(至少)連貫的塊(通過在 BOF 或 EOF 處拆分它)。
沒有通用文件系統使用文件開頭或文件結尾序列。它們將是非常不切實際的:如果文件包含這些字元序列怎麼辦?
大多數基本文件系統將儲存劃分為固定大小的塊,並為每個文件維護一個塊列表。文件大小是分開保存的,文件使用了多少最後的部分塊是由它決定的。複雜的文件系統完善了這個基本思想。
使用HFS,構成文件內容的塊列表作為範圍儲存在文件記錄和範圍溢出文件中。分配塊的大小(文件內容的基本完整單元)儲存在文件系統頭中。