幻女free性zozo交孩交/亚洲成人直播/日本视频免费/国产国语videosex另类

數(shù)據(jù)恢復(fù)之NTFS文件系統(tǒng)結(jié)構(gòu)解析

2014-01-06 22:54:37 來(lái)源:華軍數(shù)據(jù)恢復(fù) 作者:網(wǎng)站管理員 閱讀:

 

       微軟已經(jīng)宣布WINDOWS XP操作系統(tǒng)即將在今年的4月份退出市場(chǎng),而作為未來(lái)主力軍WINDOWS 8操作系統(tǒng),目前在市場(chǎng)也大展拳腳。NTFS是隨著Windows NT操作系統(tǒng)而產(chǎn)生的,全稱(chēng)為“NT File System”,中文意為NT文件系統(tǒng),如今已是windows類(lèi)操作系統(tǒng)中的主力分區(qū)格式了,WINDOWS 8操作系統(tǒng)普遍應(yīng)用NTFS作為文件系統(tǒng)。它的優(yōu)點(diǎn)是安全性和穩(wěn)定性極其出色,在使用中不易產(chǎn)生文件碎片,NTFS分區(qū)對(duì)用戶權(quán)限作出了非常嚴(yán)格的限制,每個(gè)用戶都只能按著系統(tǒng)賦予的權(quán)限進(jìn)行操作,任何試圖越權(quán)的操作都將被系統(tǒng)禁止,同時(shí)它還提供了容錯(cuò)結(jié)構(gòu)日志,可以將用戶的操作全部記錄下來(lái),從而保護(hù)了系統(tǒng)的安全。本文主要論述的就是NTFS在系統(tǒng)崩潰或磁盤(pán)出現(xiàn)故障后,如何借助NTFS文件系結(jié)構(gòu),安全的恢復(fù)文件系統(tǒng)數(shù)據(jù)

  NTFS是一個(gè)具備錯(cuò)誤預(yù)警的文件系統(tǒng)。由于NTFS對(duì)關(guān)鍵文件系統(tǒng)的系統(tǒng)信息采用了冗余存儲(chǔ),故而當(dāng)磁盤(pán)上的某個(gè)扇區(qū)損壞時(shí),NTFS仍可以訪問(wèn)卷上的關(guān)鍵數(shù)據(jù)。NTFS分區(qū)的最開(kāi)始的16個(gè)扇區(qū)是分區(qū)引導(dǎo)扇區(qū),用以保存分區(qū)引導(dǎo)代碼,接下來(lái)是主文件表(MFT),如果MFT所在的磁盤(pán)扇區(qū)出現(xiàn)損壞,NTFS文件系統(tǒng)會(huì)將MFT轉(zhuǎn)移到到硬盤(pán)的其他扇區(qū),這樣就保證了NTFS文件系統(tǒng)和Windows操作系統(tǒng)的正常運(yùn)行。比之先前的FAT16和FAT32文件系統(tǒng)的FAT(文件分配表),F(xiàn)AT只能固定在分區(qū)引導(dǎo)扇區(qū)的后面,一旦該扇區(qū),整個(gè)文件系統(tǒng)就會(huì)癱瘓,NTFS文件系統(tǒng)顯然要先進(jìn)的多了。不過(guò)這種移動(dòng)MFT的做法卻也并非十全十美,如果分區(qū)引導(dǎo)代碼中指向MFT的部分出現(xiàn)錯(cuò)誤,那么NTFS文件系統(tǒng)便會(huì)不知道到哪里尋找MFT ,從而會(huì)報(bào)告“磁盤(pán)沒(méi)有格式化”這樣的錯(cuò)誤信息。為了避免這樣的問(wèn)題發(fā)生,分區(qū)引導(dǎo)代碼中會(huì)包含一段校驗(yàn)程序,專(zhuān)門(mén)負(fù)責(zé)偵錯(cuò)。

  NTFS文件系統(tǒng)通過(guò)基于事務(wù)處理模式的日志記錄技術(shù)(transaction logging and recovery techniques),成功保證了NTFS卷的一致性,實(shí)現(xiàn)了文件系統(tǒng)的可恢復(fù)性。在 FAT 或 HPFS 上執(zhí)行 CHKDSK 時(shí),系統(tǒng)會(huì)檢查目錄、分配和文件表中指針的一致性;但是在 NTFS 下,系統(tǒng)會(huì)維護(hù)針對(duì)這些組件的事務(wù)日志,因此,CHKDSK 只需將事務(wù)回滾到上一個(gè)提交點(diǎn)就可以恢復(fù)文件系統(tǒng)中的一致性。事務(wù)日志方法需要的系統(tǒng)開(kāi)銷(xiāo)是很小的。NTFS并不是直接在日志文件中存取記錄,而是通過(guò)LFS來(lái)讀寫(xiě)。LFS提供了包括打開(kāi),寫(xiě)入,向前,向后,更新等操作來(lái)幫助NTFS處理日志文件。

  我們把每一個(gè)具體的對(duì)NTFS卷文件的I/O操作看作一個(gè)事務(wù),每個(gè)事務(wù)都是一個(gè)原子操作。這樣,任何復(fù)雜的操作都可以分解成很多個(gè)事務(wù)。系統(tǒng)面對(duì)的就是許許多多的不同的事務(wù)。當(dāng)一個(gè)事務(wù)開(kāi)始后,它要么被順利的完成,要么當(dāng)遇到某些意外而出錯(cuò)時(shí)能回滾到上一個(gè)提交點(diǎn),這時(shí)候NTFS卷處于該事務(wù)開(kāi)始前的狀態(tài)。很多原因都可以導(dǎo)致事務(wù)操作失敗,如磁盤(pán)壞道、內(nèi)存不足、設(shè)備連接錯(cuò)誤等等。

  為了確保每個(gè)事務(wù)都能順利的完成或出錯(cuò)回滾到上一狀態(tài),對(duì)于每個(gè)事務(wù)NTFS文件系統(tǒng)都會(huì)執(zhí)行以下步驟:

  (1) 把此次事務(wù)中的子操作記錄到已緩存在內(nèi)存的日志文件里;

  (2) 把實(shí)際的子操作數(shù)據(jù)記錄到內(nèi)存中;

  (3) 在緩存于內(nèi)存的日志文件里把此次事務(wù)標(biāo)記為已提交;

  (4) 把日志寫(xiě)入磁盤(pán);

  (5) 把數(shù)據(jù)寫(xiě)入磁盤(pán)。

  事實(shí)上,對(duì)于步驟 (4) 和步驟 (5) ,NTFS并不是即時(shí)寫(xiě)入磁盤(pán)的,而是采用了延遲寫(xiě)(lazy-write)技術(shù),選擇在之后一個(gè)適當(dāng)?shù)臅r(shí)機(jī)用最佳方式把很多數(shù)據(jù)批處理到磁盤(pán)上。使用延遲寫(xiě)技術(shù)大大減少了磁盤(pán)操作的頻率,從而極大地改善了系統(tǒng)的性能,但是在系統(tǒng)崩潰時(shí)有可能導(dǎo)致磁盤(pán)的不一致性,有一定風(fēng)險(xiǎn)。在我們自己編寫(xiě)的應(yīng)用程序中可以通過(guò)設(shè)定FILE_FLAG_WRITE_THROUGH讓系統(tǒng)不通過(guò)緩存而講數(shù)據(jù)直接寫(xiě)入磁盤(pán)中——這時(shí)候系統(tǒng)其實(shí)仍然會(huì)緩存寫(xiě)操作只是沒(méi)有延遲寫(xiě)入磁盤(pán)而已。

  NTFS文件系統(tǒng)保證了緩存的日志先于事務(wù)中更改的數(shù)據(jù)存入磁盤(pán)。當(dāng)文件系統(tǒng)更新緩存后,NTFS通過(guò)記錄在緩存的日志里被標(biāo)記為已完成的事務(wù)來(lái)提交這些事務(wù)。當(dāng)緩存的日志刷新到磁盤(pán)上時(shí),所有標(biāo)記為提交的事務(wù)都要保證已經(jīng)被完成了,即使系統(tǒng)可能會(huì)在把這些事務(wù)對(duì)數(shù)據(jù)的實(shí)際變動(dòng)都存入磁盤(pán)之前崩潰掉。

  當(dāng)系統(tǒng)發(fā)生錯(cuò)誤時(shí),NTFS文件系統(tǒng)的日志中有足夠的信息去完成或中斷任何出問(wèn)題的事務(wù)。執(zhí)行恢復(fù)操作的時(shí)候,NTFS文件系統(tǒng)重做日志里每一個(gè)標(biāo)記為提交的事務(wù);然后文件系統(tǒng)在日志中查找那些在上一次系統(tǒng)崩潰時(shí)沒(méi)有提交的事務(wù),把日志中這些沒(méi)有提交的事務(wù)的子操作統(tǒng)統(tǒng)撤銷(xiāo)掉。因?yàn)镹TFS文件系統(tǒng)在任何數(shù)據(jù)變動(dòng)寫(xiě)入硬盤(pán)之前已經(jīng)把這些變動(dòng)的日志先寫(xiě)入了硬盤(pán),所以NTFS擁有那些在恢復(fù)過(guò)程中需要回滾的子操作的所有的有效信息。

  但是實(shí)際上,NTFS用這種事務(wù)日志技術(shù)來(lái)恢復(fù)數(shù)據(jù)也并不是那么保險(xiǎn)的。而且,因?yàn)橄到y(tǒng)是通過(guò)日志來(lái)恢復(fù)的,恢復(fù)的過(guò)程對(duì)文件系統(tǒng)的所有數(shù)據(jù)都有可能造成影響——除非用戶在存取數(shù)據(jù)的時(shí)候使用了FILE_FLAG_WRITE_THROUGH標(biāo)志。如果用戶程序沒(méi)有使用FILE_FLAG_WRITE_THROUGH存取數(shù)據(jù),那么在系統(tǒng)崩潰后用戶數(shù)據(jù)很有可能會(huì)丟失。有可能系統(tǒng)只恢復(fù)出很陳舊的數(shù)據(jù),或者恢復(fù)出不可意料的錯(cuò)誤數(shù)據(jù),或者無(wú)法恢復(fù)任何數(shù)據(jù)。

  硬盤(pán)故障的修復(fù)

  NTFS文件系統(tǒng)利用cluster remapping技術(shù)來(lái)減小磁盤(pán)的壞扇區(qū)對(duì)NTFS卷的影響。NTFS可以對(duì)硬盤(pán)上的邏輯錯(cuò)誤和物理錯(cuò)誤進(jìn)行自動(dòng)偵測(cè)和修復(fù),但在FAT16和FAT32時(shí)代,我們需要借助 Scandisk這個(gè)程序來(lái)標(biāo)記磁盤(pán)上的壞扇區(qū),但當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),數(shù)據(jù)往往已經(jīng)被寫(xiě)在了壞的扇區(qū)上了,損失已經(jīng)造成。

  NTFS 文件系統(tǒng)則不然,每次讀寫(xiě)時(shí),它都會(huì)檢查扇區(qū)正確與否。當(dāng)讀取時(shí)發(fā)現(xiàn)錯(cuò)誤,NTFS會(huì)報(bào)告這個(gè)錯(cuò)誤;當(dāng)向磁盤(pán)寫(xiě)文件時(shí)發(fā)現(xiàn)錯(cuò)誤, NTFS將會(huì)十分智能地 換一個(gè)完好位置存儲(chǔ)數(shù)據(jù),操作不會(huì)受到任何影響。在這兩種情況下,NTFS都會(huì)在壞扇區(qū)上作標(biāo)記,以防今后被使用。這種工作模式可以使磁盤(pán)錯(cuò)誤可以較早地被發(fā)現(xiàn),避免災(zāi)難性的事故發(fā)生。

  在 FAT 或 HPFS 下,只要位于文件系統(tǒng)的特殊體中的一個(gè)扇區(qū)失效,簡(jiǎn)單扇區(qū)失效(single sector failure)就會(huì)發(fā)生。 NTFS 在兩方面阻止這種情況的發(fā)生:第一,不在磁盤(pán)上使用特殊數(shù)據(jù)體且跟蹤并保護(hù)磁盤(pán)上的所有對(duì)象。第二,在 NTFS 下,會(huì)保存有多份(數(shù)量是由卷的大小決定的)主文件表。

  在系統(tǒng)的可靠性與可恢復(fù)性方面,NTFS文件系統(tǒng)比以往的FAT32文件系統(tǒng)體現(xiàn)了極大的優(yōu)勢(shì)。自從Windows2000開(kāi)始,微軟開(kāi)始推薦大家使用NTFS的磁盤(pán)格式,其后推出的XP更是要配合這種磁盤(pán)格式才能發(fā)揮其最大的性能優(yōu)勢(shì)。而且實(shí)際上隨著海量硬盤(pán)的發(fā)展,使用NTFS的分區(qū)格式將越來(lái)越必要;在新一代的windows系統(tǒng)中,F(xiàn)AT系統(tǒng)也勢(shì)必會(huì)被NTFS逐漸取代。NTFS的安全性、可靠性與高效性即使與ext3、reiserfs等優(yōu)秀文件系統(tǒng)相比也毫不遜色,相信如果將來(lái)微軟能開(kāi)放更多NTFS技術(shù)細(xì)節(jié)的話,NTFS必將得到更廣泛的應(yīng)用,必將在文件系統(tǒng)世界里大放異彩。

       華軍深圳數(shù)據(jù)恢復(fù)中心建議,用戶在給硬盤(pán)重新分區(qū)格式化時(shí),如果操作系統(tǒng)是WINDOWS系列的,NTFS文件系統(tǒng)將是最佳選擇對(duì)象。硬盤(pán)有價(jià),數(shù)據(jù)無(wú)價(jià),請(qǐng)及時(shí)做好重要數(shù)據(jù)備份!

  • 華軍行數(shù)據(jù)恢復(fù) - 最新圖文資訊
  • 最新資訊導(dǎo)讀
  • 推薦內(nèi)容
  • 熱點(diǎn)內(nèi)容
CopyRight2014-2016 華軍數(shù)據(jù)恢復(fù)中心 版權(quán)所有 浙ICP備15017254號(hào)-4 成功案例 | 華軍資訊 | 技術(shù)專(zhuān)題 | RSS地圖