複製鏈接
請複製以下鏈接發送給好友

文件系統損壞

鎖定
文件系統損壞一般都表現分區無法訪問、目錄結構損壞。
中文名
文件系統損壞
外文名
The file system damage

文件系統損壞文件系統

文件系統是操作系統用於明確存儲設備(常見的是磁盤,也有基於NAND Flash的固態硬盤)或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件機構稱為文件管理系統,簡稱文件系統。文件系統由三部分組成:文件系統的接口,對對象操縱和管理的軟件集合,對象及屬性。從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地説,它負責為用户建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,當用户不再使用時撤銷文件等。
文件的系統是操作系統用於明確磁盤或分區上的文件的方法和數據結構;即在磁盤上組織文件的方法。也指用於存儲文件的磁盤或分區,或文件系統種類。因此,可以説"我有2個文件系統"意思是他有2個分區,一個存文件,或他用 "擴展文件系統",意思是文件系統的種類。
磁盤或分區和它所包括的文件系統的不同是很重要的。少數程序(包括最有理由的產生文件系統的程序)直接對磁盤或分區的原始扇區進行操作;這可能破壞一個存在的文件系統。大部分程序基於文件系統進行操作,在不同種文件系統上不能工作。
一個分區或磁盤在作為文件系統使用前,需要初始化,並將記錄數據結構寫到磁盤上。這個過程就叫建立文件系統。
大部分UNIX文件系統種類具有類似的通用結構,即使細節有些變化。其中心概念是超級塊superblock,i節點inode,數據塊data block,目錄塊directory block,和間接塊indirection block。超級塊包括文件系統的總體信息,比如大小(其準確信息依賴文件系統)。i節點包括除了名字外的一個文件的所有信息,名字與i節點數目一起存在目錄中,目錄條目包括文件名和文件的i節點數目。i節點包括幾個數據塊的數目,用於存儲文件的數據。i節點中只有少量數據塊數的空間,如果需要更多,會動態分配指向數據塊的指針空間。這些動態分配的塊是間接塊;為了找到數據塊,這名字指出它必須先找到間接塊的號碼。
UNIX文件系統通常允許在文件中產生孔,意思是文件系統假裝文件中有一個特殊的位置只有0字節,但沒有為這文件的這個位置保留實際的磁盤空間。這對小的二進制文件經常發生,Linux共享庫、一些數據庫和其他一些特殊情況。
孔有一定的用處。在筆者的系統中,一個簡單的測量工具顯示在200MB使用的磁盤空間中,由於孔,節約了大約4MB。在這個系統中,程序相對較少,沒有數據庫文件
文件系統的功能包括:管理和調度文件的存儲空間,提供文件的邏輯結構、物理結構和存儲方法;實現文件從標識到實際地址的映射,實現文件的控制操作和存取操作,實現文件信息的共享並提供可靠的文件保密和保護措施,提供文件的安全措施。
文件的邏輯結構是依照文件的內容的邏輯關係組織文件結構。文件的邏輯結構可以分為流式文件和記錄式文件。
流式文件:文件中的數據是一串字符流,沒有結構。
記錄文件:由若干邏輯記錄組成,每條記錄又由相同的數據項組成,數據項的長度可以是確定的,也可以是不確定的。
主要缺陷:數據關聯差,數據不一致,冗餘性。

文件系統損壞分析NTFS文件系統的結構

當用户將硬盤的一個分區格式化為NTFS分區時,就建立了一個NTFS文件系統。NTFS文件系統同FAT32文件系統一樣,也是用“簇”為存儲單位,一個文件總是佔用一個或多個簇。
NTFS文件系統使用邏輯簇號(LCN)和虛擬簇號(VCN)對分區進行管理。
邏輯簇號:既對分區內的第一個簇到最後一個簇進行編號,NTFS使用邏輯簇號對簇進行定位。
虛擬簇號:既將文件所佔用的簇從開頭到尾進行編號的,虛擬簇號不要求在物理上是連續的。
NTFS文件系統一共由16個“元文件”構成,它們是在分區格式化時寫入到硬盤的隱藏文件(以"$"開頭),也是NTFS文件系統的系統信息。
在NTFS文件系統中這樣的文件主要有16個,包括MFT本身($MFT)、MFT鏡像、日誌文件、卷文件、屬性定義表、根目錄、位圖文件、引導文件、壞簇文件、安全文件、大寫文件、擴展元數據文件、重解析點文件、變更日誌文件、配額管理文件、對象ID文件等,這16個元數據文件總是佔據着MFT的前16項紀錄,在16項以後就是用户建立的文件和文件夾的記錄了。

文件系統損壞分析NTFS文件系統的元文件

磁盤採用的是MBR分區結構的話,則硬盤的第一個扇區是MBR扇區,MBR扇區中有分區表,可以根據分區表得知分區的起始位置(也就是DBR的位置)。如果磁盤採用的是GPT的分區結構,那麼磁盤的第一個扇區應該是MBR保留扇區,第二個扇區應該是GPT頭,第三個扇區應該是分區表,從分區表中我就可以找到分區的起始位置(既DBR)。因此,作者後面的內容都是從分區起始位置(既DBR)開始的,而不是磁盤的0號扇區 [1] 

文件系統損壞分析$Boot元文件

$Boot元文件由分區的第一個扇區(既DBR)和後面的15個扇區(既NTLDR區域)組成,其中DBR由“跳轉指令”、“OEM代號”、“BPB”、“引導程序”和“結束標誌”組成,這裏和FAT32文件系統的DBR一樣。
下面我們分析一下DBR中的各參數
跳轉指令:本身佔2字節它將程序執行流程跳轉到引導程序處。
OEM代號:這部分佔8字節,其內容由創建該文件系統的OEM廠商具體安排。
BPB:NTFS文件系統的BPB從DBR的第12個字節開始,佔用73字節,記錄了有關該文件系統的重要信息,下表中的內容包含了“跳轉指令”、“OEM代號”以及“BPB”的參數。
引導程序:DBR的引導程序佔用426字節,其負責完成將系統文件NTLDR裝入,對於沒有安裝系統的分區是無效的。
結束標誌:DBR的結束標誌與MBR,EBR的結束標誌相同,為“55 AA”。
在文件系統損壞之後,可以對16個元文件進行查看修復。
參考資料
  • 1.    劉偉.數據恢復技術深度揭秘:電子工業出版社,2010