版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章NTFS文件系統(tǒng)
3.1NTFS基礎(chǔ)知識(shí)3.2NTFS和FAT比較3.3NTFS下的數(shù)據(jù)恢復(fù)思考題
WindowsNT文件系統(tǒng)(即NTFS)提供了FAT文件系統(tǒng)所沒有的性能、可靠性和兼容性。NTFS設(shè)計(jì)上能夠快速實(shí)現(xiàn)標(biāo)準(zhǔn)的文件操作,例如讀寫和查詢,它甚至實(shí)現(xiàn)了在超大容量硬盤上的文件系統(tǒng)恢復(fù)操作。
用NTFS文件系統(tǒng)格式化一個(gè)卷(分區(qū))后,就生成幾個(gè)系統(tǒng)文件和主文件表(MasterFileTable,MFT),MFT包含了NTFS卷上所有文件和文件夾的信息。
NTFS卷開頭包含的信息是分區(qū)引導(dǎo)記錄,始于0扇,最大長(zhǎng)度為16個(gè)扇區(qū)。NTFS卷的第一個(gè)文件是MFT。
格式化后,NTFS卷的布局如圖3-1所示。圖3-1已格式化的NTFS卷
3.1NTFS基礎(chǔ)知識(shí)
NTFS文件系統(tǒng)包含了公司環(huán)境中的文件服務(wù)器和高端個(gè)人計(jì)算機(jī)所要求的安全特性。NTFS文件系統(tǒng)同樣支持?jǐn)?shù)據(jù)訪問控制和對(duì)關(guān)鍵性數(shù)據(jù)很重要的所有者權(quán)限。不僅一個(gè)WindowsNT機(jī)器上共享的文件夾可以賦予特定的許可,NTFS卷的文件和文件夾也可以賦予各種許可,而不論它們是否是共享的。NTFS是WindowsNT上唯一可以對(duì)單個(gè)文件賦予權(quán)限的文件系統(tǒng)。
NTFS文件系統(tǒng)有一個(gè)簡(jiǎn)單而又強(qiáng)大的設(shè)計(jì)思想。簡(jiǎn)言之,卷上的所有東西都是一個(gè)文件,所有東西都是文件的一個(gè)屬性,有數(shù)據(jù)屬性、安全屬性、文件名屬性等。NTFS卷上分配的每個(gè)扇區(qū)屬于某個(gè)文件,甚至文件系統(tǒng)元數(shù)據(jù)(即描述文件系統(tǒng)自身的信息)也是一個(gè)文件的部分。
1.加密技術(shù)
加密文件系統(tǒng)(EFS)提供了核心的用于在NTFS卷上保存加密文件的文件加密技術(shù)。EFS保證了文件的安全,使之免受入侵者對(duì)已保存的敏感數(shù)據(jù)進(jìn)行未授權(quán)的物理訪問(如通過便攜式電腦或外部磁盤竊取信息)。
2.磁盤配額
Windows2000中對(duì)NTFS卷支持磁盤配額,用戶可以通過磁盤配額監(jiān)視和限制磁盤空間的使用。
3.重解析點(diǎn)
重解析點(diǎn)(ReparsePoints)是NTFS中新的用于文件或文件夾的文件系統(tǒng)對(duì)象。一個(gè)包含重解析點(diǎn)的文件或文件夾擁有此前的文件系統(tǒng)所沒有的附加行為。重解析點(diǎn)用于Windows2000中新的存儲(chǔ)特性的很多方面,包括卷掛載點(diǎn)。
4.卷掛載點(diǎn)
卷掛載點(diǎn)(VolumeMountPoints)是NTFS的新特點(diǎn)。基于重解析點(diǎn),卷掛載點(diǎn)允許管理員將對(duì)一個(gè)本地卷的根的訪問移植成對(duì)另一個(gè)本地卷的某個(gè)文件夾的訪問。
5.稀疏文件
稀疏文件(SparseFiles)允許程序生成很大的文件,但在必要的時(shí)候會(huì)消耗磁盤空間。
6.分布式鏈接跟蹤
NTFS提供了一項(xiàng)鏈接跟蹤(link-tracking)服務(wù),即分布式鏈接跟蹤(DistributedLinkTracking),用于維護(hù)文件快捷方式的完整性,類似于復(fù)合文檔中的OLE鏈接。3.1.1NTFS的DBR
表3-1描述了格式化成NTFS卷的引導(dǎo)扇區(qū)。當(dāng)格式化一個(gè)NTFS卷時(shí),格式化程序分配開始的16個(gè)扇區(qū)給引導(dǎo)扇區(qū)和自舉代碼。表3-1NTFS的引導(dǎo)扇區(qū)在NTFS卷上,BPB后面的數(shù)據(jù)字段構(gòu)成擴(kuò)展BPB。啟動(dòng)過程中,這些字段中的數(shù)據(jù)可以使NTLDR(NTloader程序)找到主文件表(MFT)。在NTFS卷上,MFT不會(huì)放在特定的預(yù)定義扇區(qū)上(和FAT16或FAT32不一樣),因此,如果MFT通常的位置有壞扇區(qū),它可以移動(dòng)。但是,如果數(shù)據(jù)遭到破壞,MFT無(wú)法定位,則WindowsNT/2000就認(rèn)為該卷未格
式化。例如,演示運(yùn)行Windows2000時(shí)一個(gè)NTFS卷格式化后的引導(dǎo)扇區(qū)。打印輸出分為三節(jié):字節(jié)0x00~0x0A是jump指令和OEMID(粗體顯示);字節(jié)0x0B~0x53是BPB和擴(kuò)展BPB;剩余的代碼是自舉代碼和扇區(qū)結(jié)束標(biāo)記(粗體顯示)。
物理扇區(qū)為:0柱1面1扇表3-2描述了該例中NTFS卷上BPB和擴(kuò)展BPB的字段。字段和它們?cè)贔AT16、FAT32卷上一樣,開始于0x0B,0x0D,0x15,0x18,0x1A和0x1C。示例值對(duì)應(yīng)該例中的數(shù)據(jù)。
由于一般的系統(tǒng)常依賴引導(dǎo)扇區(qū)來訪問一個(gè)卷,因此應(yīng)經(jīng)常性地運(yùn)行Chkdsk這樣的磁盤掃描工具,以保護(hù)引導(dǎo)扇區(qū),就如同無(wú)法訪問一個(gè)卷就備份所有的數(shù)據(jù)文件以免數(shù)據(jù)丟失一樣。表3-2NTFS卷上的BPB3.1.2NTFS主文件表
NTFS卷上的每個(gè)文件表達(dá)成一個(gè)稱為主文件表(MasterFileTable,MFT)的特殊文件的一個(gè)記錄。NTFS保留了開頭的16個(gè)記錄用于保存特殊的信息。MFT中的第一個(gè)記錄是MFT的自我描述,緊跟其后的第二個(gè)記錄是MFT鏡像文件。如果第一個(gè)MFT記錄被破壞了,則NTFS就讀出第二個(gè)記錄找到MFT鏡像文件,鏡像文件的第一個(gè)記錄和MFT的第一個(gè)記錄完全相同。MFT和MFT鏡像文件的位置記錄在引導(dǎo)扇區(qū)中,引導(dǎo)扇區(qū)的一個(gè)副本放在邏輯磁盤的中間或末尾。
MFT的第三個(gè)記錄是日志文件,用于文件恢復(fù)。MFT第17個(gè)及之后的記錄用于卷上的每個(gè)文件和目錄(NTFS視目錄也為文件)。
圖3-2是MFT結(jié)構(gòu)的簡(jiǎn)單演示。圖3-2MFT的結(jié)構(gòu)主文件表給每個(gè)文件記錄都分配一定的空間,文件的屬性寫入MFT中已分配的空間。像圖3-3中那樣的小文件或小目錄(典型的是1500字節(jié)或更少),可以整個(gè)地包含在主文件表的記錄里。該設(shè)計(jì)使得文件的訪問速度非??臁?/p>
目錄記錄在主文件表中的存放和文件記錄幾乎一樣。目錄包含著索引信息而非數(shù)據(jù)。小的目錄記錄整個(gè)駐留在MFT結(jié)構(gòu)中;大的目錄記錄則組織成B+樹,樹中有些指向外部簇的指針記錄,用于保存無(wú)法容納在MFT結(jié)構(gòu)中的目錄入口。圖3-3小文件或小目錄的MFT記錄3.1.3NTFS文件類型
1.NTFS文件屬性
NTFS文件系統(tǒng)視每個(gè)文件(或文件夾)為一個(gè)文件屬性的集合。集合中的元素,如文件名、安全信息以及數(shù)據(jù),都是文件的屬性。每個(gè)屬性用一個(gè)屬性類型碼(或?qū)傩悦?相互區(qū)分。當(dāng)一個(gè)文件的屬性可以放入MFT文件記錄時(shí),稱之為常駐屬性。如文件名和時(shí)間戳那樣總包括在MFT文件記錄里的信息。當(dāng)一個(gè)文件所擁有的信息太多,以至于MFT容不下時(shí),一些屬性就成為非常駐的。非常駐屬性分配在該卷磁盤空間的其它地方,使用一個(gè)或更多的簇。NTFS創(chuàng)建“屬性列表”屬性來描述所有屬性記錄的位置,該列表是可擴(kuò)展的,這意味著將來可定義其他的文件屬性。
表3-3列出了NTFS文件系統(tǒng)目前定義的所有文件屬性。表3-3NTFS定義的文件屬性
2.NTFS系統(tǒng)文件
NTFS包括幾個(gè)系統(tǒng)文件,從NTFS卷來看,它們都是隱藏的。文件系統(tǒng)用系統(tǒng)文件來存放元數(shù)據(jù)并實(shí)現(xiàn)文件系統(tǒng)。系統(tǒng)文件是用Format實(shí)用程序放在卷上的,如表3-4所示。表3-4記錄在主文件表中的元數(shù)據(jù)
3.NTFS特性
1)?NTFS多數(shù)據(jù)流
NTFS支持多數(shù)據(jù)流,它標(biāo)志著在文件之上的一種新型數(shù)據(jù)。每個(gè)數(shù)據(jù)流可以打開一個(gè)句柄。從而一個(gè)數(shù)據(jù)流是一個(gè)唯一的文件屬性集合。流不但有公共的權(quán)限,而且可以有單獨(dú)的機(jī)會(huì)鎖、文件鎖和大小。
該特性允許把數(shù)據(jù)當(dāng)作單個(gè)的單元來管理。下面是一個(gè)替換流的例子:
myfile.dat:stream2或者存在一個(gè)文件庫(kù),其中的文件定義成替換流,如下例所示:
library:file1
:file2
:file3
一個(gè)文件可以同時(shí)和一個(gè)以上的應(yīng)用程序關(guān)聯(lián),如MicrosoftWord和MicrosoftWordPad。例如,一個(gè)如下所示的文件關(guān)聯(lián)文件結(jié)構(gòu),而不是多個(gè)文件:
program:source_file
:doc_file
:object_file
:executable_file
為創(chuàng)建一個(gè)替換數(shù)據(jù)流,可以在命令提示符下輸入如下命令:
echotext>program:source_file
more<program:source_file
提示:當(dāng)復(fù)制一個(gè)NTFS文件到FAT卷時(shí),如軟盤,F(xiàn)AT不能支持的數(shù)據(jù)流和其他屬性就丟失了。
2)?NTFS壓縮文件
WindowsNT/2000支持對(duì)單個(gè)文件、文件夾和整個(gè)NTFS卷的壓縮。NTFS卷上的壓縮文件可以被任何基于Windows的應(yīng)用程序讀或?qū)?,而不需要先用另外的程序來解壓?/p>
讀文件時(shí)解壓自動(dòng)進(jìn)行,文件關(guān)閉或保存時(shí)又會(huì)被壓縮。當(dāng)在WindowsExplorer中查看壓縮文件和文件夾時(shí),有一個(gè)帶C的屬性。只有NTFS能夠讀取壓縮形式的數(shù)據(jù)。當(dāng)一個(gè)應(yīng)用程序如MicrosoftWord,或像copy那樣的操作系統(tǒng)命令要求訪問文件時(shí),壓縮過濾驅(qū)動(dòng)先解壓縮該文件。例如,如果從另外一臺(tái)WindowsNT/2000機(jī)器上拷貝一個(gè)壓縮文件到你的硬盤上的一個(gè)壓縮文件夾內(nèi),讀文件時(shí)它被解壓,拷貝、保存時(shí)它再次被壓縮。
NTFS壓縮算法近似于Windows98使用的應(yīng)用程序DriveSpace3,但后者局限于壓縮整個(gè)主分區(qū)或邏輯分區(qū)。NTFS允許壓縮整個(gè)卷,卷內(nèi)的一個(gè)或多個(gè)文件夾,甚至NTFS卷文件夾內(nèi)的一個(gè)或多個(gè)文件。
NTFS的壓縮算法設(shè)計(jì)成支持的簇大小最多為4?KB。當(dāng)一個(gè)NTFS卷的簇大小超過4?KB時(shí),NTFS的壓縮功能不可用。
每個(gè)NTFS數(shù)據(jù)流包含著用于指示流的任何部分是否被壓縮的信息。在為那個(gè)流保存的信息中,單個(gè)的壓縮緩沖通過它們之后的“洞”互相區(qū)分。如果存在一個(gè)洞,NTFS自動(dòng)解壓縮之前的緩沖來填充洞。
NTFS提供對(duì)壓縮文件的實(shí)時(shí)訪問,打開時(shí)解壓縮,關(guān)閉時(shí)則壓縮。當(dāng)寫入一個(gè)壓縮文件時(shí),系統(tǒng)保留未壓縮時(shí)文件大小的磁盤空間,當(dāng)每個(gè)單獨(dú)的壓縮緩沖區(qū)被壓縮后,系統(tǒng)將回收未使用的空間。
3)加密文件系統(tǒng)
加密文件系統(tǒng)(EFS)提供用于在NTFS卷上保存加密文件的核心文件加密技術(shù)。EFS保證了文件的安全,使之免受入侵者對(duì)已保存的敏感數(shù)據(jù)進(jìn)行未授權(quán)的物理訪問(如通過便攜式電腦或外部磁盤竊取)。用戶使用加密的文件和文件夾就和使用其他文件和文件夾一樣。加密過程對(duì)加密該文件的用戶來說是透明的,當(dāng)用戶訪問該文件或文件夾時(shí),系統(tǒng)自動(dòng)進(jìn)行解密;當(dāng)保存文件時(shí),加密再次進(jìn)行。沒有權(quán)限訪問加密的文件或文件夾的用戶試圖打開、拷貝、移動(dòng)或重命名加密的文件或文件夾時(shí),會(huì)收到一條“拒絕訪問”消息。確切的消息文本會(huì)隨著試圖訪問該文件的應(yīng)用程序而不同,因?yàn)樗缓臀募挠脩魴?quán)限相關(guān),而是EFS利用用戶私鑰加密文件的能力。相比于第三方加密應(yīng)用程序,EFS有如下優(yōu)勢(shì):
(1)對(duì)用戶和應(yīng)用程序來說,它是透明的。不存在用戶忘記加密文件而使數(shù)據(jù)處于未受保護(hù)狀態(tài)的危險(xiǎn)。文件或文件夾一旦標(biāo)記為加密的,它在后臺(tái)被加密,無(wú)需和用戶交互。用戶不必記住解密文件的密碼。
(2)強(qiáng)大的密鑰安全性。和那些靠用戶輸入密碼的方法不同的是,EFS生成可以抵御基于字典攻擊的密鑰。
(3)所有的加密/解密處理在核心模式執(zhí)行,不存在密鑰保留在頁(yè)面文件的危險(xiǎn),因?yàn)轫?yè)面文件中的密鑰可能被解析出來。
(4)?EFS提供了對(duì)商業(yè)環(huán)境有價(jià)值的數(shù)據(jù)恢復(fù)機(jī)制,甚至在加密數(shù)據(jù)的雇員離開了公司時(shí),給該組織復(fù)原數(shù)據(jù)的機(jī)會(huì)。
用戶可以通過WindowsExplorer或一個(gè)叫做cipher.exe的命令行工具來使用EFS特性。要用WindowsExplorer加密文件時(shí),右擊文件名打開文件屬性窗口,點(diǎn)擊“高級(jí)”按鈕打開高級(jí)屬性對(duì)話框,在該對(duì)話框中進(jìn)行設(shè)置,即可以把文件標(biāo)記為加密的。在保存新的設(shè)置前,Windows會(huì)提示用戶只加密文件還是整個(gè)文件夾。它預(yù)示著:文件自身被完美保護(hù)的同時(shí),打開文件的應(yīng)用程序會(huì)在文檔上工作時(shí)生成該文件的一個(gè)臨時(shí)拷貝。以MicrosoftWord為例,當(dāng)用戶打開加密文檔時(shí),EFS透明地為Word解密,然后在工作時(shí),Word生成隱藏的臨時(shí)文件,以便程序退出時(shí)自動(dòng)保存編輯或者刪除處理過的文檔。該隱藏文件違背了安全原則,因?yàn)樗苯影擞脩魯?shù)據(jù)(未加密的形式)。加密整個(gè)文件夾而不是只加密文件可解決這個(gè)問題。
EFS組合了對(duì)稱密鑰加密法和公鑰加密技術(shù)來保護(hù)文件。文件數(shù)據(jù)用對(duì)稱算法(DESX)加密。對(duì)稱算法的密鑰稱為文件加密密鑰(FEK),F(xiàn)EK本身用公鑰私鑰算法(RSA)加密并隨文件保存。非對(duì)稱算法與對(duì)稱算法的不同在于加密速度的快慢。非對(duì)稱算法在加密大量數(shù)據(jù)時(shí)要耗費(fèi)大量的時(shí)間;對(duì)稱算法則要快約1000倍,從而更適合加密大量的數(shù)據(jù)。
NTFS加密流程如圖3-4所示。圖3-4NTFS加密流程示意圖首先,NTFS在相同的驅(qū)動(dòng)器的系統(tǒng)卷信息文件夾(SystemVolumeInformation)內(nèi)生成一個(gè)叫Efs0.log的日志文件作為加密文件,然后EFS訪問CryptoAPI環(huán)境。CryptoAPI環(huán)境利用MicrosoftBaseCryptographicProvider1.0作為密鑰提供者。密鑰生成環(huán)境打開后,EFS生成文件加密密鑰(FEK)。其次是獲取公鑰/私鑰對(duì),如果它當(dāng)前不存在(EFS首次調(diào)用的情形),EFS生成新的一對(duì)。EFS用1024位的RSA算法來加密FEK。
最后,EFS為當(dāng)前用戶生成數(shù)據(jù)解密域(DDF),其中存放了FEK并用公鑰加密它。如果系統(tǒng)策略中定義了恢復(fù)代理,EFS還生成數(shù)據(jù)恢復(fù)域(DRF),其中存放了恢復(fù)代理的公鑰加密的FEK。每個(gè)定義的恢復(fù)代理有獨(dú)立的DRA。注意,不包括在域中的WindowsXP沒有定義恢復(fù)代理,因此這一步可省略。當(dāng)文件被加密時(shí),在相同的文件夾內(nèi)生成一個(gè)叫Efs0.tmp的臨時(shí)文件。原始文件的內(nèi)容(明文)拷貝到臨時(shí)文件中,之后用加密的數(shù)據(jù)覆蓋原始文件。默認(rèn)情況下,EFS用128位密鑰的DESX算法加密文件數(shù)據(jù),但Windows也可配置成使用強(qiáng)度更大的168位密鑰的3DES算法。這種情形時(shí),在LSA策略中必須開啟FIPS適應(yīng)算法的應(yīng)用(默認(rèn)禁用),如圖3-5所示。圖3-5NTFS系統(tǒng)加密
EFS使用注冊(cè)表決定用DESX或3DES。如果HKLM\
SYSTEM\CurrentControlSet\Control\LSA\
FipsAlgorithmPolicy=1,那么3DES將被使用;如果不是,那么EFS檢測(cè)HKLM\Software\Microsoft\WindowsNT\CurrentVersion\EFS\AlgorithmID(這個(gè)值可能不存在),若存在,則它的ID是CALG_3DES或CALG_DESX,否則,將使用DESX。
加密完成后,臨時(shí)文件和日志文件將被刪除。文件加密后,只有擁有相應(yīng)的DDF或DRF的用戶能夠訪問它。該機(jī)制獨(dú)立于常規(guī)安全,這意味著文件除了訪問它的權(quán)限外,還必須有用用戶公鑰加密的FEK。只有能夠用他的私鑰解密FEK的用戶才能夠訪問該文件。訪問該文件的用戶可以加密它,從而防止擁有者訪問該文件。最初只為加密該文件的用戶生成一個(gè)DDF,后來他可以添加額外的用戶形成鑰匙圈。這種情況下,為了讓另一個(gè)用戶來訪問,EFS簡(jiǎn)單地用用戶私鑰解密FEK,并用目標(biāo)用戶的公鑰加密FEK,因此生成了一個(gè)新的DDF,和第一個(gè)一起存放。
解密過程和加密相反,如圖3-6所示。圖3-6NTFS解密流程示意圖首先,系統(tǒng)檢測(cè)用戶是否有一個(gè)用于EFS的私鑰。如果有,它就讀取EFS屬性并遍歷DDF密鑰圈來查找當(dāng)前用戶的DDF。如果找到了DDF,用戶的私鑰就用于解密從DDF中解析出來的FEK,EFS用解密后的FEK解密文件數(shù)據(jù)。需要注意的是,當(dāng)上層模塊要求特定的扇區(qū)時(shí),文件決不是整個(gè)被解密,而是按扇區(qū)來解密。
恢復(fù)過程近似于解密,除了它使用恢復(fù)代理密鑰來解密DRF而非DDF中的FEK外,如圖3-7所示。圖3-7NTFS恢復(fù)流程示意圖
DRA策略在Windows2000和WindowsXP中的實(shí)現(xiàn)方法不同。Windows2000中默認(rèn)在機(jī)器上,不包括在域中,本地的Administrator作為EncryptedDataRecoveryAgent(加密數(shù)據(jù)恢復(fù)代理)添加到PublicKeyPolicy。所以,當(dāng)用戶加密文件時(shí),DDF和DRF域都生成了。如果最后的DRA被刪除,則整個(gè)EFS功能就喪失了,從而不可能再加密文件,如圖3-8所示。圖3-8無(wú)效的加密恢復(fù)策略
WindowsXP中的情況則不同,既然多數(shù)獨(dú)立工作的本地用戶除了自己外沒必要使其他人也能夠解密文件,就沒有數(shù)據(jù)恢復(fù)代理的必要,所以PublicKeyPolicy中不包括DRA,EFS不需要DRA就能起作用。這種情況下,為加密的文件只生成DDF域。
當(dāng)NTFS加密文件時(shí),它給文件設(shè)置標(biāo)志“加密的”(0x4000),同時(shí)生成$EFS屬性來存放DDF和DDR,如圖3-9所示。在NTFS中,該屬性的屬性ID=0x100,并且可以相當(dāng)長(zhǎng),占用0.5?K到幾K不等的空間,這取決于DDF和DRF的數(shù)量。圖3-9$EFS屬性
$EFS屬性更詳盡的例子如圖3-10所示。
數(shù)據(jù)區(qū)1:$EFS屬性尺寸。
數(shù)據(jù)區(qū)2:計(jì)算機(jī)SID和用戶號(hào)。它用來確定EFS存放證書的文件夾。為了獲取文件夾名稱,EFS做如下處理:
5A56B3781C365429A851FF09D040000存放在?$EFS中的數(shù)據(jù)
78B3565A2954361C09FF51A8000004D0保留
2025018970-693384732-167727528-1232轉(zhuǎn)換成十進(jìn)制
S-1-5-21-2025018970-693384732-167727528-1232添加了SID前綴后圖3-10$EFS實(shí)例最終,文件夾是:
%UserProfile%\ApplicationData\Microsoft\Crypto\RSA\S-1-5-21-2025018970-693384732-167727528-1232\
數(shù)據(jù)區(qū)3:公鑰指紋(Publickeythumbprint)。
數(shù)據(jù)區(qū)4:私鑰GUID(也用作容器名)。當(dāng)EFS從CryptoAPI提供者中獲取上下文時(shí)會(huì)用到這個(gè)名字。如果$EFS屬性中只有一個(gè)DDF,容器名可以從$EFS(這個(gè)域)計(jì)算出來,但更多的用戶(更多DDF和DRF)加入到文件時(shí),不會(huì)都為它們保存PKGUID,而必須從基于公鑰指紋的證書存儲(chǔ)區(qū)中獲取。數(shù)據(jù)區(qū)5:密鑰提供者名稱為MicrosoftBaseCryptographicProviderv.1.0。
數(shù)據(jù)區(qū)6:當(dāng)前DDF或DRF所屬的用戶名。
數(shù)據(jù)區(qū)7:加密的FEK。通常FEK的長(zhǎng)度為128?bit(DESX情形),但因?yàn)樗?024?bit的RSA密鑰加密,所以它加密后的長(zhǎng)度為1024位。臨時(shí)文件沒有擦除。當(dāng)EFS加密文件時(shí),它將自身內(nèi)容拷貝到相同文件夾內(nèi)名為Efs0.tmp的隱藏的臨時(shí)文件中,這個(gè)文件作為加密用文件。然后,它分塊加密明文,并將加密了的數(shù)據(jù)寫入原始文件。處理完成后,臨時(shí)文件即被刪除。但是,EFS只簡(jiǎn)單地將其標(biāo)記為刪除,而沒有真正擦除它的內(nèi)容。這就造成很容易通過Active@Undelete那樣的底層數(shù)據(jù)恢復(fù)軟件來訪問未受保護(hù)的數(shù)據(jù)。解決辦法是擦除空閑的磁盤空間。通常,即使明文有一些覆蓋,微小的磁性痕跡仍可被偵測(cè),從而留下用特殊的設(shè)備讀取已擦除數(shù)據(jù)的機(jī)會(huì)。要減小這種可能性,可使用像Active@Eraser或ZDelete.NET那樣的提供復(fù)雜的數(shù)據(jù)擦除算法的商業(yè)軟件。加密的文件夾內(nèi)的文件名不受保護(hù)。事實(shí)上,加密文件夾內(nèi)容意味著自動(dòng)對(duì)文件夾內(nèi)的所有文件進(jìn)行加密,但并未對(duì)目錄數(shù)據(jù)本身加密。因?yàn)槲募旧砜赡馨嗣舾行畔?,這就可能成為安全漏洞。解決方法是加密.zip壓縮檔而非文件(WindowsXP幾乎視壓縮檔為文件夾),從而,只有一個(gè)文件需要加密并且壓縮數(shù)據(jù)本身就較難破解。
EFS的安全性依賴于保存在本地機(jī)器上的公鑰/私鑰對(duì)。Windows通過保護(hù)存儲(chǔ)服務(wù)(ProtectedStorageService)加密所有的私鑰來保護(hù)它們。保護(hù)存儲(chǔ)用從512位的主密鑰(MasterKey)派生的會(huì)話密鑰(SessionKey)加密所有的私鑰,并將它們存放于%UserProfile%\ApplicationData\Microsoft\Crypto
\RSA\UserSID。主密鑰(MasterKey)用主密鑰加密密鑰(MasterKeyEncryptionKey)加密,后者通過使用基于口令的密鑰派生功能(PasswordBasedKeyDerivationFunction)從用戶口令派生,并存放于%UserProfile%\ApplicationData\Microsoft\
Protect\UserSID。盡管Windows盡力保護(hù)密鑰,但由于所有的信息都保存在本地機(jī)器上,給能夠訪問硬盤的攻擊者一個(gè)機(jī)會(huì),他可以計(jì)算出密鑰,并用密鑰解密受保護(hù)的數(shù)據(jù)。全面的安全可通過用系統(tǒng)密鑰(SystemKey)加密私鑰而明顯加強(qiáng)。syskey.exe實(shí)用程序可以用來把系統(tǒng)密鑰保存到一張軟盤并從計(jì)算機(jī)上取走,這種情形下,用戶必須在計(jì)算機(jī)啟動(dòng)時(shí)插入一張帶有系統(tǒng)密鑰的軟盤。不過這個(gè)辦法應(yīng)慎用,因?yàn)橐坏╄€匙軟盤丟失,就再也不能訪問計(jì)算機(jī)了。
4)?NTFS稀疏文件
一個(gè)稀疏文件有一個(gè)屬性可促使I/O子系統(tǒng)只分配有意義的(非零)數(shù)據(jù)。非零數(shù)據(jù)分配在磁盤上,而無(wú)意義的數(shù)據(jù)(大串的組合在一起的零數(shù)據(jù))不分配。讀取稀疏文件時(shí),分配了的數(shù)據(jù)按存儲(chǔ)狀態(tài)返回,未分配的數(shù)據(jù)默認(rèn)返回零。
NTFS解除分配稀疏數(shù)據(jù)流并保留其他的數(shù)據(jù)為已分配的。當(dāng)程序訪問一個(gè)稀疏文件時(shí),文件系統(tǒng)產(chǎn)生已分配的數(shù)據(jù)作為實(shí)際的數(shù)據(jù),而解除分配的數(shù)據(jù)作為零處理。
NTFS對(duì)壓縮的和非壓縮的文件都包括完全的稀疏文件支持。NTFS處理對(duì)稀疏文件的讀操作時(shí)返回已分配的數(shù)據(jù)和稀疏數(shù)據(jù)。盡管在讀一個(gè)稀疏文件時(shí),NTFS默認(rèn)返回整個(gè)數(shù)據(jù)集,但不獲取整個(gè)數(shù)據(jù)集而讀取已分配的數(shù)據(jù)和一個(gè)范圍內(nèi)的數(shù)據(jù)是可能的。
依靠稀疏文件屬性集,文件系統(tǒng)可以在任何位置解除分配文件中的數(shù)據(jù),應(yīng)用程序調(diào)用時(shí),則產(chǎn)生相應(yīng)范圍的零數(shù)據(jù),而非存儲(chǔ)和返回實(shí)際的數(shù)據(jù)。文件系統(tǒng)應(yīng)用程序接口(API)允許文件按實(shí)際的比特?cái)?shù)和稀疏流范圍拷貝或備份。最終的結(jié)果是高效的文件系統(tǒng)存儲(chǔ)和訪問。圖3-11所示為存在和不存在稀疏文件屬性集時(shí)數(shù)據(jù)是如何存儲(chǔ)的。圖3-11Windows2000的數(shù)據(jù)存儲(chǔ)3.1.4NTFS數(shù)據(jù)完整性和可恢復(fù)性
NTFS是一個(gè)可恢復(fù)的文件系統(tǒng),它使用標(biāo)準(zhǔn)的事務(wù)日志和恢復(fù)技術(shù)保證了卷的持續(xù)性。在發(fā)生磁盤故障事件時(shí),NTFS運(yùn)行一個(gè)訪問日志文件信息的過程來還原持續(xù)性。NTFS恢復(fù)過程真正保證了卷還原到一個(gè)持續(xù)狀態(tài),事務(wù)日志則只需非常少的開銷。計(jì)算機(jī)發(fā)生故障后啟動(dòng),程序第一次訪問NTFS卷的時(shí)候,NTFS自動(dòng)執(zhí)行硬盤恢復(fù)操作來保證所有NTFS卷的完整性。
NTFS還使用一種稱為簇重映射的技術(shù)來減小NTFS卷上的一個(gè)壞扇區(qū)帶來的影響。
提示:如果主引導(dǎo)記錄損壞,又出現(xiàn)引導(dǎo)扇區(qū)損壞,則不能再訪問卷上的數(shù)據(jù)了。
1.NTFS的數(shù)據(jù)恢復(fù)
NTFS視每個(gè)修改NTFS卷系統(tǒng)文件的I/O操作為一個(gè)事務(wù),并將其管理為一個(gè)完整的單元。事務(wù)一旦啟動(dòng),要么完成,要么在發(fā)生磁盤故障時(shí)回滾(如NTFS卷回到事務(wù)初始化之前的狀態(tài))。
為了保證事務(wù)完成或回滾,在寫入磁盤之前,NTFS將一個(gè)事務(wù)的子操作記錄到日志文件。當(dāng)一個(gè)完整的事務(wù)記錄到日志文件后,NTFS執(zhí)行卷緩存中的事務(wù)子操作。NTFS更新緩存后,向日志文件提交事務(wù),整個(gè)事務(wù)便完成了。一旦事務(wù)提交,即使磁盤故障,NTFS也能保證整個(gè)事務(wù)在卷上實(shí)現(xiàn)。在恢復(fù)操作期間,NTFS重做日志文件中發(fā)現(xiàn)的每個(gè)已提交的事務(wù),然后NTFS于日志文件中定位在系統(tǒng)故障時(shí)未提交的事務(wù),并且撤銷記錄在日志文件中的每個(gè)事務(wù)子操作。注:對(duì)卷的不完整修改是絕對(duì)禁止的。
NTFS使用日志文件服務(wù)來記錄一個(gè)事務(wù)的所有重做和撤銷信息。NTFS使用重做信息來重復(fù)事務(wù),撤銷信息使NTFS能夠撤銷不完整的事務(wù)或出錯(cuò)的事務(wù)。
提示:NTFS用事務(wù)日志和恢復(fù)來保證卷結(jié)構(gòu)不被破壞。正因?yàn)榇?,在系統(tǒng)故障后所有的系統(tǒng)文件依舊可訪問。但是,用戶數(shù)據(jù)可能因?yàn)橄到y(tǒng)故障或壞扇區(qū)而丟失。
2.簇重映射
在發(fā)生壞扇區(qū)錯(cuò)誤時(shí),NTFS實(shí)現(xiàn)了一種稱為簇重映射的恢復(fù)技術(shù)。當(dāng)Windows2000偵測(cè)到一個(gè)壞扇區(qū)時(shí),NTFS動(dòng)態(tài)地重映射包含壞扇區(qū)的簇并為數(shù)據(jù)分配一個(gè)新的簇。如果錯(cuò)誤發(fā)生在讀操作,則NTFS返回一個(gè)讀錯(cuò)誤給調(diào)用者程序并且數(shù)據(jù)丟失;如果錯(cuò)誤發(fā)生在寫的時(shí)候,則NTFS將數(shù)據(jù)寫入新的簇,數(shù)據(jù)不會(huì)丟失。
NTFS將包含壞扇區(qū)的簇的地址放入壞簇文件,從而壞扇區(qū)不會(huì)被再次利用。
提示:簇重映射不能代替?zhèn)浞?。一旦錯(cuò)誤被偵測(cè),應(yīng)當(dāng)嚴(yán)密監(jiān)視磁盤,并且如果缺陷列表有所增加就應(yīng)更換磁盤。這類錯(cuò)誤通常會(huì)顯示在事件日志中。
3.2NTFS和FAT比較
與FAT和FAT32相比,NTFS文件系統(tǒng)的功能更強(qiáng)大。Windows2000、WindowsXP和WindowsServer2003家族中包括有新版本的NTFS,它支持各種新功能(如ActiveDirectory功能,這項(xiàng)功能是域、用戶帳戶和其他重要安全功能所必需的)。
FAT和FAT32相似,其差別只是FAT32比FAT更適合于較大磁盤的應(yīng)用。NTFS則是一種最適合大磁盤使用的文件系統(tǒng)。相對(duì)FAT(FAT和FAT32)而言,NTFS具有很多FAT所不具有的特性,主要有以下幾點(diǎn):
(1)容錯(cuò)性:NTFS可以自動(dòng)修復(fù)磁盤錯(cuò)誤而不會(huì)顯示出錯(cuò)信息。Windows2000向NTFS分區(qū)中寫文件時(shí),會(huì)在內(nèi)存中保留文件的一份拷貝,然后檢查向磁盤中所寫的文件是否與內(nèi)存中的一致。如果兩者不一致,則Windows就把相應(yīng)的扇區(qū)標(biāo)記為壞扇區(qū)而不再使用它(簇重映射),然后用內(nèi)存中保留的文件拷貝重新向磁盤上寫文件。如果在讀文件時(shí)出現(xiàn)錯(cuò)誤,NTFS則返回一個(gè)讀錯(cuò)誤信息,并告知相應(yīng)的應(yīng)用程序數(shù)據(jù)已經(jīng)丟失。
(2)安全性:NTFS有許多安全性能方面的選項(xiàng),可以在本機(jī)上和通過遠(yuǎn)程的方法保護(hù)文件、目錄,以阻止沒有授權(quán)的用戶訪問文件。
(3)使用EFS提高安全性:EFS提供對(duì)存儲(chǔ)在NTFS分區(qū)中的文件進(jìn)行加密的功能。EFS加密技術(shù)是基于公共密鑰的,作為集成的系統(tǒng)服務(wù)運(yùn)行,具有管理容易、攻擊困難、對(duì)文件所有者透明等優(yōu)點(diǎn)。
(4)文件壓縮:NTFS文件系統(tǒng)支持文件壓縮功能,用戶可以選擇壓縮單個(gè)文件或整個(gè)文件夾。
(5)磁盤限額:磁盤限額功能允許系統(tǒng)管理員管理分配給各個(gè)用戶的磁盤空間,合法用戶只能訪問屬于自己的文件,Windows2000中的磁盤限額功能是基于用戶和卷的。
NTFS和FAT的比較詳情見表3-5。表3-5NTFS與FAT的比較如果考察一下存儲(chǔ)需求,就可以調(diào)整NTFS的一些全局參數(shù)來獲得磁盤性能上的巨大提升,其它的諸如磁盤碎片整理同樣會(huì)有所幫助。
影響NTFS性能的因素(不考慮磁盤類型、轉(zhuǎn)速等)有:簇大小、MFT和頁(yè)面文件的位置和連續(xù)性、NTFS卷壓縮、NTFS卷來源(從現(xiàn)存的FAT卷生成或轉(zhuǎn)化)。
1.合理定義簇大小
簇是一個(gè)分配單元。假定生成了一個(gè)1字節(jié)大小的文件,在FAT文件系統(tǒng)中,至少要分配一個(gè)簇。在NTFS中,如果文件足夠小,它可以存放于MFT記錄本身,而不必使用額外的簇。當(dāng)文件大到當(dāng)前簇容不下時(shí),就需再分配一個(gè)簇。這意味著單個(gè)簇越大,浪費(fèi)的磁盤空間越多,但性能會(huì)更好。
表3-6為WindowsNT/2000/XP用NTFS格式化后簇大小的默認(rèn)值。表3-6NTFS卷默認(rèn)簇大小當(dāng)手工格式化分區(qū)時(shí),可以在格式化對(duì)話框或FORMAT命令參數(shù)中指定簇大小為512字節(jié)。這有何意義?可確定平均文件大小,再據(jù)此格式化分區(qū)。如何確定呢?最簡(jiǎn)單(但粗糙)的辦法是用總的磁盤已使用容量的千字節(jié)數(shù)除以磁盤上的文件數(shù);另一個(gè)辦法是格式化前就考慮會(huì)在磁盤上存放哪些數(shù)據(jù)。如果打算存放通常尺寸巨大的多媒體素材,可讓簇更大以提升性能;如果是小的網(wǎng)頁(yè)或文本文檔,可讓簇更小以避免磁盤空間的大量浪費(fèi)。
注意:在簇大小超過4?KB的卷上,壓縮不被支持。
2.MFT預(yù)約和離散性
MFT包含經(jīng)常使用的系統(tǒng)文件和索引,因此MFT的性能很大程度上影響著整個(gè)卷的性能。
默認(rèn)的,NTFS保留卷容量的12.5%的一塊區(qū)域給MFT,這塊區(qū)域不允許寫入任何用戶數(shù)據(jù),以便MFT增大時(shí)用。然而,當(dāng)在磁盤上放了很多文件時(shí),MFT將增長(zhǎng)到超過保留區(qū)而變得零碎。另一個(gè)原因是,當(dāng)刪除文件時(shí),NTFS不會(huì)總利用MFT中的這個(gè)空間來存放新的文件,它僅僅標(biāo)記MFT入口為“刪除的”,并給新文件分配新的入口。這種方式提高了性能,并可恢復(fù),但它讓MFT零碎了。
MFT越零碎,訪問數(shù)據(jù)時(shí)硬盤磁頭移動(dòng)就越頻繁,文件系統(tǒng)的總體性能將更低。
從WindowsNT4.0sp4啟動(dòng)時(shí),可以通過如下鍵值來定義MFT保留區(qū)的大小。鍵:HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Control\FileSystemDWORD型值
(1~4)NtfsMftZoneReservation允許指定新生成/格式化的卷的MFT區(qū)域(相應(yīng)為卷容量的12.5%、25%、37.5%、50%)。
3.文件和目錄的碎片化
當(dāng)磁盤變滿和執(zhí)行了很多拷貝和刪除文件的操作時(shí),不僅是MFT,還有其它文件和目錄都會(huì)變零碎,這也使得系統(tǒng)在性能上變慢。因此,當(dāng)在卷上執(zhí)行了很多拷貝/移動(dòng)/刪除操作時(shí),建議經(jīng)常使用標(biāo)準(zhǔn)的碎片整理工具。若從Windows2000啟動(dòng),磁盤碎片整理是操作系統(tǒng)的一部分,可以在計(jì)算機(jī)管理控制臺(tái)中找到。如果沒有這類工具,可以試著手工執(zhí)行。方法為:拷貝文件和文件夾到另一個(gè)分區(qū),讓原來的分區(qū)幾乎空白,然后再把它們拷貝回來。這個(gè)辦法不如用標(biāo)準(zhǔn)的碎片整理工具高效,但它可以在分區(qū)碎片非常嚴(yán)重時(shí)極大地提高卷的性能。
注意:如果你對(duì)這些文件有安全/許可設(shè)置,這個(gè)方法將不能令人滿意,當(dāng)在分區(qū)之間拷貝時(shí)將會(huì)失去這樣的信息。
為了防止目錄碎片化,在安裝新的應(yīng)用程序或拷貝許多文件到卷上前就應(yīng)執(zhí)行完全的磁盤碎片整理。
4.頁(yè)面文件碎片化
不能用標(biāo)準(zhǔn)的碎片整理工具來對(duì)頁(yè)面文件(PAGEFILE.SYS)進(jìn)行碎片整理,因?yàn)樗恢北徊僮飨到y(tǒng)用作虛擬內(nèi)存。解決辦法是通過手工操作改變頁(yè)面文件的位置到其它盤(如果沒有其它盤就減小尺寸到最小),再重新啟動(dòng)機(jī)器,執(zhí)行卷碎片整理,然后把頁(yè)面文件的參數(shù)改回原來的狀態(tài)。
5.NTFS卷的壓縮
壓縮可以節(jié)省卷空間,并可提升或降低總體性能,這取決于CPU速度、卷大小和可壓縮的數(shù)據(jù)。如果有快的CPU和相對(duì)慢的硬盤,壓縮是值得推薦的,因?yàn)閴嚎s數(shù)據(jù)占用更少的卷空間,讀到內(nèi)存并解壓比從慢的磁盤讀取整個(gè)未壓縮的數(shù)據(jù)塊要快得多。卷容量越大(>8?GB),壓縮后性能就越低。但如果壓縮包含有不可壓縮數(shù)據(jù)的卷或文件夾(如JPG圖片、ZIP文件等)則是沒有用的。壓縮的理想數(shù)據(jù)是文本和辦公文檔,以及位圖圖片和其它包含大量重復(fù)字符的文件。
若要壓縮文件/文件夾/卷,就在Windows資源管理器中打開它的屬性,選中“壓縮”復(fù)選框即可。
6.轉(zhuǎn)換FAT卷為NTFS卷
如果沒有在新生成的NTFS卷上安裝Windows,但卷是從FAT轉(zhuǎn)到NTFS的,這通常會(huì)引發(fā)普遍的MFT碎片化,轉(zhuǎn)換后的卷比原始生成的NTFS卷慢得多。碎片整理工具一般不能處理MFT,但是可以備份整個(gè)系統(tǒng),用合理的簇大小重新格式化卷,再把系統(tǒng)恢復(fù)回去。
3.3NTFS下的數(shù)據(jù)恢復(fù)
因?yàn)镹TFS文件系統(tǒng)與FAT和FAT32文件系統(tǒng)完全不同,故數(shù)據(jù)恢復(fù)通常需要采用不同的方法。如果用Google搜索一下NTFS數(shù)據(jù)恢復(fù)技術(shù),可能得到最多的鏈接是關(guān)于銷售數(shù)據(jù)恢復(fù)產(chǎn)品的網(wǎng)站。這是因?yàn)镹TFS被設(shè)計(jì)成可以自己執(zhí)行數(shù)據(jù)恢復(fù),而不需要使用第三方數(shù)據(jù)恢復(fù)軟件或者操作。簇重映射(clusterremapping)和事務(wù)日志(transactionlogging)這兩項(xiàng)技術(shù)可用來實(shí)現(xiàn)數(shù)據(jù)的恢復(fù)。但是,通常我們還是會(huì)遇到NTFS文件系統(tǒng)的系統(tǒng)數(shù)據(jù)被破壞無(wú)法運(yùn)行或者用戶誤操作文件丟失的情形。3.3.1NTFS的DBR恢復(fù)
NTFS分區(qū)的DBR參數(shù)和FAT16/32分區(qū)的DBR參數(shù)不同,NTFS文件系統(tǒng)也不依賴FAT和FDT來管理分區(qū)中的文件,而是通過元文件來管理整個(gè)分區(qū)。從文件系統(tǒng)結(jié)構(gòu)來看,NTFS遠(yuǎn)比FAT要復(fù)雜,但對(duì)于DBR的恢復(fù),NTFS系統(tǒng)反而更容易。NTFS分區(qū)一般在分區(qū)的最后一個(gè)扇區(qū)對(duì)DBR進(jìn)行了備份,因此,只要將備份DBR復(fù)制到DBR扇區(qū)即可。如果沒有備份的DBR,也可以通過復(fù)制正常NTFS分區(qū)的DBR,并根據(jù)分區(qū)實(shí)際情況修正參數(shù)的方法來修復(fù)NTFS分區(qū)的DBR。
某NTFS分區(qū)的DBR扇區(qū)的參數(shù)部分如圖3-12所示。
利用WinHex軟件的模板功能對(duì)NTFS分區(qū)DBR參數(shù)的分析如圖3-13所示。圖3-12NTFS分區(qū)的DBR參數(shù)部分圖3-13用WinHex模板分析NTFS分區(qū)DBR的參數(shù)從圖3-13可以看到,NTFS分區(qū)的DBR與FAT分區(qū)的DBR不同,其結(jié)構(gòu)相對(duì)來說要簡(jiǎn)單一些,需要恢復(fù)的內(nèi)容也不是太多。下面按順序進(jìn)行分析。
①?0D:每簇扇區(qū)數(shù)。需要修改。對(duì)此項(xiàng)的修改,一般參照微軟默認(rèn)設(shè)置進(jìn)行即可。微軟系統(tǒng)在格式化NTFS分區(qū)時(shí)對(duì)該項(xiàng)的默認(rèn)設(shè)置可以參考表3-5。
②?1C~1F:隱含扇區(qū)??蓮姆謪^(qū)表計(jì)算。
③?28~2F:扇區(qū)總數(shù)??蓮姆謪^(qū)表計(jì)算。
④?30~37:$MFT的位置(邏輯簇號(hào))。需要修改??梢酝ㄟ^查找$MFT的特征字符來定位該文件所處的位置,其起始的4個(gè)字節(jié)一定是46494C45,即FILE的ASCII碼,如圖
3-14所示。
按字符串或按十六進(jìn)制值查找均可,找到之后記錄下起始扇區(qū)號(hào),換算成簇號(hào)(即除以每簇扇區(qū)數(shù))填入相應(yīng)位置即可。圖3-14$MFT的位置⑤?38~3F:$MFTMirr位置的(邏輯簇號(hào))。需要修改。$MFTMirr位置的確定和$MFT位置的確定應(yīng)當(dāng)同時(shí)進(jìn)行,即查找特征字節(jié)“FILE”的時(shí)候會(huì)找到兩個(gè)區(qū)域,其中大的是$MFT,小的是$MFTMirr。常見的情況是$MFT在前,$MFTMirr在后,但也不絕對(duì)。
⑥?40:每個(gè)MFT文件記錄的簇?cái)?shù)(如果是負(fù)數(shù),就表示2扇區(qū))。需要修改。找到$MFT后,相鄰兩個(gè)$MFT記錄(根據(jù)頭部“FILE”確定)之間的扇區(qū)數(shù)根據(jù)簇大小換算成簇?cái)?shù)就是一個(gè)MFT記錄占用的簇?cái)?shù)。⑦?44:每個(gè)索引塊(索引緩沖區(qū))的簇?cái)?shù)(如果是負(fù)數(shù),就表示2扇區(qū))。需要修改。兩個(gè)索引之間的扇區(qū)數(shù)按簇大小換算成簇?cái)?shù)就是每個(gè)索引所占用的簇?cái)?shù)。索引的特征字節(jié)為494E4458,即INDX的ASCII碼,如圖3-15所示。
因?yàn)镹TFS會(huì)對(duì)DBR進(jìn)行備份,且一般情況下兩個(gè)DBR同時(shí)遭到破壞的概率極小(除非有意地同時(shí)破壞),所以NTFS分區(qū)的DBR恢復(fù)相對(duì)容易,問題轉(zhuǎn)換成如何去定位分區(qū)的尾部。分區(qū)的定位問題和分區(qū)的恢復(fù)是一樣的。另外,還有一些其他的工具軟件也能夠完成分區(qū)的定位。圖3-15索引塊的簇?cái)?shù)3.3.2系統(tǒng)文件缺失的恢復(fù)
在NTFS卷上,MFT僅供系統(tǒng)本身組織、架構(gòu)文件系統(tǒng)使用,在NTFS中稱為元數(shù)據(jù)(Metadata,即存儲(chǔ)在卷上支持文件系統(tǒng)格式管理的數(shù)據(jù)。它不能被應(yīng)用程序訪問,只能為系統(tǒng)提供服務(wù))。其中最基本的前16個(gè)記錄是操作系統(tǒng)使用的非常重要的元數(shù)據(jù)文件。這些元數(shù)據(jù)文件的名字都以“$”開始,是隱藏文件,在WindowsNT/2000/XP/2003中不能使用dir命令(甚至加上/ah參數(shù))像普通文件一樣列出。這些元數(shù)據(jù)文件是系統(tǒng)驅(qū)動(dòng)程序管理卷所必需的,因此非常重要。為了防止數(shù)據(jù)丟失或者損壞導(dǎo)致NTFS卷無(wú)法訪問,NTFS系統(tǒng)在卷存儲(chǔ)中部對(duì)它們進(jìn)行了備份,即$MftMirr。$MftMirr備份了$Mft的前4個(gè)記錄(如以每個(gè)記錄1?KB計(jì)算,即8個(gè)扇區(qū)),以保證卷的可訪問性。和NTFS卷的DBR恢復(fù)一樣,我們通??梢杂?MftMirr來恢復(fù)$Mft的起始部分,但這種恢復(fù)非常少見。下面以一個(gè)例子來進(jìn)行說明。
首先,使用WinHex軟件將安裝了WindowsXP操作系統(tǒng)的主分區(qū)(NTFS文件系統(tǒng))的主文件表MFT破壞掉(將起始的128字節(jié)填充為0),如圖3-16所示。圖3-16用WinHex軟件將$Mft起始的128字節(jié)清零(破壞)
其次,再次在WinHex的文件瀏覽器中點(diǎn)擊$MFT,WinHex提示$MFT找不到,如圖3-17所示。這是因?yàn)?MFT已經(jīng)被破壞了,從而NTFS卷不能正常訪問,通過文件系統(tǒng),$MFT本身也不能訪問了。圖3-17$MFT已被破壞,通過文件系統(tǒng)找不到再次,重新啟動(dòng)計(jì)算機(jī),出現(xiàn)“Adiskreaderroroccurred…”的錯(cuò)誤提示,然后機(jī)器死機(jī),如圖3-18所示。圖3-18$MFT起始受損,WindowsXP無(wú)法啟動(dòng)出現(xiàn)這樣的提示并不是$MFT受損特有的,主要是因?yàn)?MFT受損引起分區(qū)引導(dǎo)扇區(qū)的引導(dǎo)代碼(即$Boot)不能定位操作系統(tǒng)引導(dǎo)文件NTLDR等引起的。下面通過DiskEdit軟件利用$MFT的備份來恢復(fù)該故障。
用DiskEdit打開物理硬盤,定位到絕對(duì)扇區(qū)0,即MBR扇區(qū),點(diǎn)選“View”→“AsPartitionTable”查看,可以看到第一個(gè)分區(qū)(主分區(qū))的相對(duì)扇區(qū)數(shù)(隱含扇區(qū)數(shù))為63,如圖
3-19所示。圖3-19定位$MFT受損的分區(qū)(查找相對(duì)扇區(qū)數(shù))
打開絕對(duì)扇區(qū)63,如圖3-20所示。
從扇區(qū)偏移0x30處讀取8個(gè)字節(jié),為“0000040000000000”,這就是$MFT的起始邏輯簇號(hào)0x0000000000040000(64位整數(shù)),點(diǎn)選“Tools”→“Calculator”可以化成十進(jìn)制數(shù)262?144。同理,從扇區(qū)偏移0x38處讀取8個(gè)字節(jié),得到$MFTMirr的起始邏輯簇號(hào)0x04FDB4=327?092。從扇區(qū)偏移0x0D處讀取一個(gè)字節(jié),得到每簇扇區(qū)數(shù)為8。從“Info”→“Drive”可以知道硬盤共365柱面,228磁頭,63扇區(qū)。圖3-20絕對(duì)扇區(qū)63(分區(qū)引導(dǎo)扇區(qū)和BPB參數(shù))
$MFT在262144簇,即絕對(duì)扇區(qū)262?144×8+63=
2?097?215。將線性地址2?097?215化成CHS幾何參數(shù),(2?097?215/(228×63))=146(柱面),(2?097?215/63)除以228的余數(shù)為1(磁頭),2?097?215除以63的余數(shù)再加1為9(扇區(qū))。$MFTMirr在327?092簇,即絕對(duì)扇區(qū)327?092×8+63=
2?616?799。
打開絕對(duì)扇區(qū)2?097?215,長(zhǎng)度為8扇區(qū)??梢钥吹?MFT的開頭都是一些0字節(jié),再向后可看到文件名(Unicode)$MFT,如圖3-21所示。圖3-21開頭受損的MFT向下翻頁(yè),可以看到第2個(gè)1?KB的文件記錄(絕對(duì)扇區(qū)2097217)正常,開頭有“FILE”字樣,文件名(Unicode)為$MFTMirr,如圖3-22所示。
打開絕對(duì)扇區(qū)2616799,長(zhǎng)度8扇區(qū)(4個(gè)記錄),可以看到$MFTMirr包含了主文件表前4個(gè)記錄的完整備份,如圖
3-23所示。圖3-22MFT第2個(gè)記錄$MFTFMirr圖3-23$MFTMirr包含了主文件表前4個(gè)記錄的備份
點(diǎn)選“Tools”→“WriteObjectto”,寫入物理扇區(qū),目標(biāo)位置為146柱面,1磁頭(盤面),9扇區(qū),用這8個(gè)扇區(qū)的備份覆蓋$MFT開頭4個(gè)記錄。覆蓋后,再次打開絕對(duì)扇區(qū)2097215,可發(fā)現(xiàn)$MFT已經(jīng)修復(fù),如圖3-24所示。圖3-24修復(fù)后的$MFT再次啟動(dòng)計(jì)算機(jī),發(fā)現(xiàn)WindowsXP系統(tǒng)可正常啟動(dòng)。
NTFS元文件損壞會(huì)導(dǎo)致分區(qū)無(wú)法訪問,但同時(shí)操作系統(tǒng)要正確引導(dǎo),操作系統(tǒng)的系統(tǒng)文件必須安全。
對(duì)于Windows95/98/ME,這些文件是msdos.sys、config.sys、autoexec.bat、system.ini、system.dat和user.dat等;對(duì)于WindowsNT/2000/XP,這些文件是NTLDR、和boot.ini(位于引導(dǎo)卷的根目錄),注冊(cè)表文件即SAM、SECURITY、SYSTEM和SOFTWARE等。如果這些文件被刪除,或受損,或被病毒破壞,Windows將不能引導(dǎo),將會(huì)出現(xiàn)錯(cuò)誤消息“NTLDRismissing”。因此,恢復(fù)進(jìn)程的下一步是檢查這些系統(tǒng)文件是否存在且完好。(當(dāng)然,不可能全部都檢查,但至少必須檢查NTLDR、和boot.ini,因?yàn)槎鄶?shù)問題由這幾個(gè)文件引起。)
若在Windows95/98/ME下操作,可以啟動(dòng)到CommandPrompt模式,或者從啟動(dòng)盤啟動(dòng),在命令行下檢查系統(tǒng)文件或者在第三方恢復(fù)軟件幫助下進(jìn)行;若在WindowsNT/2000/XP下,可以使用緊急修復(fù)進(jìn)程,恢復(fù)控制臺(tái)或第三方恢復(fù)軟件。
1)緊急修復(fù)進(jìn)程
要執(zhí)行緊急修復(fù)進(jìn)程,需要緊急修復(fù)磁盤(ERD)。推薦在安裝定制Windows后生成這個(gè)磁盤。要生成該盤,可以使用系統(tǒng)工具中的“備份”實(shí)用工具。使用ERD可以修復(fù)受損的引導(dǎo)扇區(qū)、MBR,修復(fù)或者替換受損的NT引導(dǎo)器(NTLDR)和文件。
如果沒有ERD,緊急修復(fù)進(jìn)程會(huì)試圖定位你的Windows安裝并開始修復(fù)你的系統(tǒng),但這不一定可行。要運(yùn)行該進(jìn)程,從可引導(dǎo)的Windows磁盤或CD啟動(dòng),當(dāng)系統(tǒng)提示安裝還是修復(fù)時(shí)選擇修復(fù)選項(xiàng),然后按R運(yùn)行緊急修復(fù)進(jìn)程并選擇快速或者手動(dòng)修復(fù)選項(xiàng)。建議一般用戶選擇快速修復(fù),手動(dòng)修復(fù)只適于管理員或者高級(jí)用戶。
如果緊急修復(fù)進(jìn)程成功,機(jī)器會(huì)自動(dòng)重啟并且系統(tǒng)也可以工作了。
2)恢復(fù)控制臺(tái)
恢復(fù)控制臺(tái)是一個(gè)類似MS-DOS命令行的命令行實(shí)用工具,可以列舉并顯示文件夾內(nèi)容,拷貝、刪除、替換文件,格式化驅(qū)動(dòng)器和執(zhí)行很多其它的管理任務(wù)。
要運(yùn)行恢復(fù)控制臺(tái),應(yīng)從可引導(dǎo)的Windows磁盤或CD啟動(dòng),當(dāng)系統(tǒng)提示安裝還是修復(fù)時(shí)選擇修復(fù)選項(xiàng)并按C來運(yùn)行恢復(fù)控制臺(tái),隨之出現(xiàn)要登錄到哪個(gè)系統(tǒng)的提問并會(huì)要求輸入管理員密碼。登錄后,會(huì)顯示驅(qū)動(dòng)器的內(nèi)容,如圖3-25所示,可檢查關(guān)鍵文件是否存在并完好,若它們被意外刪除,則應(yīng)拷貝回來。圖3-25恢復(fù)控制臺(tái)
3)恢復(fù)軟件
第三方恢復(fù)軟件通常不允許處理系統(tǒng)文件以防止對(duì)系統(tǒng)造成進(jìn)一步的破壞,但是可以使用它們檢查系統(tǒng)文件是否完好。3.3.3一般文件的恢復(fù)
在NTFS下,對(duì)于一般文件的恢復(fù),同樣可以使用EasyRecovery和FinalData之類的軟件,它們?cè)贜TFS下的操作方法和在FAT32下的類似,因此,對(duì)于使用工具軟件進(jìn)行一般文件的恢復(fù)此處不再講解。
這里主要介紹不使用自動(dòng)恢復(fù)工具,如何通過對(duì)磁盤數(shù)據(jù)的掃描和分析來手工恢復(fù)NTFS卷的文件。為了能夠更清晰地了解NTFS下一般文件的恢復(fù)和FAT32下恢復(fù)的異同,以下通過一個(gè)例子中的對(duì)比來進(jìn)行分析。文件恢復(fù)過程可以簡(jiǎn)單描述為掃描驅(qū)動(dòng)器或文件夾,以找到根文件夾(FAT)或主文件表(NTFS)被刪除的入口,然后對(duì)指定的被刪除的入口定義恢復(fù)的簇鏈,再將這些簇的內(nèi)容拷貝到新建的文件中。
不同的文件系統(tǒng)維護(hù)其特定的邏輯數(shù)據(jù)結(jié)構(gòu),但基本上每種文件系統(tǒng)都包括:
①有文件入口的列表或者目錄,所以可以枚舉這些帶刪除標(biāo)記的列表和入口;
②為每個(gè)入口保留數(shù)據(jù)簇的列表,所以可以試著找出這些簇的集合重新組合成文件。在找出正確的文件入口和簇的集合后,組合成文件,讀取并拷貝這些簇到其他地方。
我們用例子一步一步來看:對(duì)已刪除的入口掃描磁盤,給被刪除的入口定義簇鏈和簇鏈恢復(fù)。
然而,并非每個(gè)被刪除的文件都可以被恢復(fù),須滿足以下條件:
首先,假定文件入口依然存在(沒有被其它數(shù)據(jù)覆蓋)。被刪除文件所在驅(qū)動(dòng)器新建的文件越少,被刪除文件入口使用的空間未被其它入口使用的機(jī)會(huì)越大。其次,假定文件入口所指向的一定的文件簇的所的地有更多或更少的安全性。在某些情形下(已知在WindowsXP的FAT32大卷下),操作系統(tǒng)在刪除文件時(shí)立刻銷毀文件入口以至于第一個(gè)數(shù)據(jù)簇變得無(wú)效,從而進(jìn)一步的入口恢復(fù)變得不可能。
再次,假定文件數(shù)據(jù)簇完好(未被其它數(shù)據(jù)覆蓋)。被刪除文件所在驅(qū)動(dòng)器上寫的操作越少,被刪除文件數(shù)據(jù)簇占用的空間未被其他數(shù)據(jù)存儲(chǔ)使用的機(jī)會(huì)越大。數(shù)據(jù)丟失后的通用建議:
(1)不要在剛剛意外刪除重要數(shù)據(jù)的驅(qū)動(dòng)器中寫入任何東西!甚至安裝數(shù)據(jù)恢復(fù)軟件也可能破壞所需要的數(shù)據(jù)。如果數(shù)據(jù)非常重要且沒有其它的邏輯驅(qū)動(dòng)器用來安裝軟件,就把整個(gè)硬盤從計(jì)算機(jī)上拆下來,裝到另一臺(tái)已經(jīng)安裝數(shù)據(jù)恢復(fù)軟件的機(jī)器上進(jìn)行數(shù)據(jù)恢復(fù)。
(2)不要試著把找到的和試著恢復(fù)的數(shù)據(jù)保存到相同的驅(qū)動(dòng)器上!當(dāng)已恢復(fù)的數(shù)據(jù)保存到敏感數(shù)據(jù)所在的相同的驅(qū)動(dòng)器時(shí),可能正好覆蓋了FAT/MFT記錄和其它被刪的入口而破壞了恢復(fù)進(jìn)程。因此,最好把數(shù)據(jù)保存到其它盤上。
1.對(duì)已刪除的入口磁盤掃描
磁盤掃描是對(duì)根文件夾(FAT12,F(xiàn)AT16,F(xiàn)AT32)或主文件表(NTFS,NTFS5.0)中所有入口進(jìn)行枚舉的一個(gè)底層操作,目的是找到并顯示被刪除的入口。
盡管不同的文件系統(tǒng)有不同的文件/文件夾入口結(jié)構(gòu),但它們都包含著基本的文件屬性,如文件名、大小、創(chuàng)建和修改的日期/時(shí)間,文件屬性,存在/刪除狀態(tài)等。給定一個(gè)驅(qū)動(dòng)器,包含有根文件表和任何有位置、大小和預(yù)定義結(jié)構(gòu)的文件表(MFT,驅(qū)動(dòng)器根文件夾,普通文件夾或者甚至是刪除的文件夾),可以從頭至尾掃描每個(gè)入口,不論它是已刪除的或未刪除的,然后顯示所有找到的已刪除的入口的信息。
隨著文件系統(tǒng)的不同,被刪除的入口標(biāo)記也不同。例如,F(xiàn)AT的任何已刪除入口、文件或者文件夾都會(huì)將入口的第一個(gè)字符標(biāo)記成ASCII字符229(0xE5)。在NTFS上,已刪除的入口在文件頭中有一個(gè)特殊的屬性用來指示文件是否已經(jīng)刪除。例如:掃描FAT16文件夾。
(1)存在的文件夾MyFolder的入口(長(zhǎng)文件名入口和短文件名入口),如圖3-26所示。
(2)被刪除的文件MyFile.txt的入口(長(zhǎng)文件名入口和短文件名入口),如圖3-27所示。
(3)存在的文件Setuplog.txt的入口(只有短文件名入口),如圖3-28所示。
圖3-26文件夾MyFolder入口圖3-27文件MyFile.txt入口圖3-28文件Setuplog.txt入口這個(gè)根目錄表包含3個(gè)入口,其中1個(gè)已經(jīng)被刪除了。第1個(gè)入口是存在的文件夾MyFolder,第2個(gè)是被刪除的文件MyFile.txt,第3個(gè)是存在的文件Setuplog.txt。
被刪除的文件入口的第一個(gè)字符標(biāo)記為E5字符,因此磁盤掃描器會(huì)認(rèn)為這個(gè)入口已經(jīng)刪除了。
例如:掃描NTFS5.0(Windows2000)文件夾。
考察的驅(qū)動(dòng)器的入口參數(shù)如下:
總扇區(qū)數(shù)為610406;扇區(qū)大小為512字節(jié);每簇1個(gè)扇區(qū);MFT起始偏移地址為0x4000,且是未分段的;MFT記錄大小為1024字節(jié);MFT大小為1968個(gè)記錄。因此可以遍歷所有1968個(gè)MFT記錄,從卷的絕對(duì)偏移0x4000開始查找已刪除的入口。鎖定對(duì)57號(hào)MFT入口(偏移0x4000+57×1024=74752=0x12400),因?yàn)樗俗罱鼊h除的文件“MyPresentation.ppt”。
MFT記錄號(hào)#57顯示如圖3-29所示。
MFT記錄有預(yù)定義的結(jié)構(gòu),它用屬性集合來定義任何文件夾中文件的參數(shù)。
MFT記錄由標(biāo)準(zhǔn)文件記錄頭開始(第一個(gè)粗體部分,偏移0x00),如表3-7所示。表3-7MFT文件記錄頭部的結(jié)構(gòu)布局圖3-29MFT記錄號(hào)#57對(duì)我們而言,這塊數(shù)據(jù)中最重要的信息是文件狀態(tài)(標(biāo)志字段,偏移0x16):刪除的還是在使用的。如果標(biāo)志字段(紅色)置1,則意味著文件正在使用。在例中它為0,即文件是刪除的。
從這塊數(shù)據(jù)中還可以知道,第一個(gè)屬性的偏移地址(偏移0x14)為0x30。所有的屬性流都由屬性頭部和屬性值組成,對(duì)于標(biāo)準(zhǔn)屬性也一樣,有一個(gè)標(biāo)準(zhǔn)的屬性頭,之后是標(biāo)準(zhǔn)屬性的屬性值。對(duì)于標(biāo)準(zhǔn)屬性的頭部分析如表3-8所示。表3-8標(biāo)準(zhǔn)屬性的屬性頭結(jié)構(gòu)從0x48(即0x30+0x18)開始是標(biāo)準(zhǔn)信息屬性(第二個(gè)粗體部分,長(zhǎng)度L=0x48),如表3-9所示。
緊隨標(biāo)準(zhǔn)信息屬性之后的是文件名屬性,文件名屬性也一定是常駐屬性,用于存儲(chǔ)文件名。如$AttrDef中定義,其大小從68~578字節(jié)不等,與最大文件名為255個(gè)Unicode字符相對(duì)應(yīng)。文件名屬性同樣由一個(gè)標(biāo)準(zhǔn)的屬性頭和可變長(zhǎng)度的屬性內(nèi)容兩部分組成,其頭部結(jié)構(gòu)與標(biāo)準(zhǔn)屬性的頭部結(jié)構(gòu)相同,屬性類型為30H。表3-9標(biāo)準(zhǔn)信息屬性的屬性結(jié)構(gòu)接著標(biāo)準(zhǔn)屬性頭,有屬于DOS命名空間(標(biāo)志字節(jié)0x02)的文件名屬性,短文件名(第三個(gè)粗體部分,偏移0xA8,即0x30+0x60+0x18)。之后,有屬于Win32命名空間(標(biāo)志字節(jié)0x01)的文件名屬性,長(zhǎng)文件名(第三個(gè)粗體部分,偏移0x120,即0x30+0x60+0x78+0x18),如表3-10所示。表3-10文件名屬性的結(jié)構(gòu)布局在這個(gè)部分可以解析出文件名“MyPresentation.ppt”、文件創(chuàng)建和修改時(shí)間以及根目錄記錄數(shù)。
從偏移0x188(即0x30+0x60+0x78+0x80)開始,有一個(gè)非常駐數(shù)據(jù)屬性(綠色部分)。數(shù)據(jù)流屬性同樣由標(biāo)準(zhǔn)屬性頭和屬性內(nèi)容組成,由于此處的數(shù)據(jù)流為未命名非常駐屬性,所以其屬性頭結(jié)構(gòu)與前面的標(biāo)準(zhǔn)屬性和文件名屬性的標(biāo)準(zhǔn)屬性頭結(jié)構(gòu)不同,其結(jié)構(gòu)如表3-11所示。表3-11數(shù)據(jù)流屬性的屬性頭結(jié)構(gòu)在該部分,我們對(duì)壓縮單元大小(0意味著未壓縮)感興趣,屬性分配的和真實(shí)的大小等于文件大小(0xDC00=56?320B)和數(shù)據(jù)運(yùn)行(見下一個(gè)部分)。關(guān)于NTFS文件系統(tǒng)結(jié)構(gòu)分析更詳細(xì)的情況,讀者可以參考戴士劍和涂彥暉編著的《數(shù)據(jù)恢復(fù)技術(shù)(第2版)》(電子工業(yè)出版社出版)。
2.為已刪除的入口定義簇鏈
要定義簇鏈,就需要掃描磁盤,一個(gè)接一個(gè)地遍歷所有屬于該文件的文件簇(NTFS)或空閑簇(FAT),直到選擇的簇大小等于文件大小。如果文件是不連續(xù)的,則簇鏈由若干個(gè)運(yùn)行組成(NTFS情形),或獲取的簇跨越了已占用的簇(FAT情形)。簇的位置隨文件系統(tǒng)不同而不同。例如,F(xiàn)AT卷已刪除的文件在根入口包含首簇號(hào),其它簇號(hào)在文件分配表中。在NTFS卷,每個(gè)文件用_DATA_屬性來描述“數(shù)據(jù)運(yùn)行”。數(shù)據(jù)運(yùn)行分解成“擴(kuò)展”,對(duì)每個(gè)擴(kuò)展我們有起始簇偏移和擴(kuò)展中的簇號(hào),從而列舉擴(kuò)展,可以組成文件的簇鏈。
可以試著用底層磁盤編輯器手工定義簇鏈,但是使用類似Active@UNERASER那樣的數(shù)據(jù)恢復(fù)工具要簡(jiǎn)單得多。
1)在FAT16下定義簇鏈
此處繼續(xù)前一個(gè)主題來考察已刪除的文件MyFile.txt,如圖3-30所示。
根據(jù)根入口結(jié)構(gòu)可以計(jì)算已刪除的文件的大小。最后4個(gè)字節(jié)是33B70100,轉(zhuǎn)換成十進(jìn)制(先改變字節(jié)順序),得到112?435字節(jié)。向前2個(gè)字節(jié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)型煤煤炭洗選商業(yè)計(jì)劃書
- 梅河口康美職業(yè)技術(shù)學(xué)院《用戶界面設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 眉山藥科職業(yè)學(xué)院《搜索引擎營(yíng)銷SEM》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025土方工程承包合同
- 2025工程合同終止條款協(xié)議
- 2025二手房中介買賣合同二手房中介買賣合同范本
- 住宅新風(fēng)系統(tǒng)安裝合同
- 教育培訓(xùn)師續(xù)簽合同確認(rèn)函
- 機(jī)場(chǎng)高鐵廣告字施工合同
- 武術(shù)館硅PU施工合同
- 鐵路裝卸搬運(yùn)管理制度
- 隱蔽型無(wú)追索權(quán)國(guó)內(nèi)保理合同模板范本
- 精選四川省2023年普通高中學(xué)業(yè)水平考試物理學(xué)科實(shí)驗(yàn)操作考查試題
- 數(shù)字孿生技術(shù)在智慧工廠中的應(yīng)用解決方案
- 《卵巢腫瘤》ppt課件(PPT 101頁(yè))
- 洪水預(yù)報(bào)講座20150628
- 部編版六年級(jí)上冊(cè)語(yǔ)文非連續(xù)性文本閱讀
- 企業(yè)現(xiàn)場(chǎng)6S改進(jìn)方案
- 咬合樁施工工藝
- 汽輪機(jī)課程設(shè)計(jì)
- CRTSⅠ型雙塊式無(wú)砟軌道施工技術(shù)
評(píng)論
0/150
提交評(píng)論