電腦數據恢復基本原理(doc 50頁).doc_第1頁
電腦數據恢復基本原理(doc 50頁).doc_第2頁
電腦數據恢復基本原理(doc 50頁).doc_第3頁
電腦數據恢復基本原理(doc 50頁).doc_第4頁
電腦數據恢復基本原理(doc 50頁).doc_第5頁
已閱讀5頁,還剩47頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

飛客數據恢復中心培訓教材(技術篇)目 錄第一章 數據恢復基本原理41.1.數據恢復41.2.常見的軟件、硬件故障及可修復性51.2.1.軟性故障51.2.2.硬件故障5第二章 硬盤物理和邏輯結構72.1主流磁盤介質72.2.硬盤的外部結構82.3硬盤內部結構92.4.硬盤的邏輯結構122.4.1.盤片132.4.2.磁道142.4.3.柱面142.4.4.扇區142.4.5.容量152.4.6.線性地址扇區16第三章 硬盤分區表原理173.1.硬盤分區格式化173.2.硬盤分區表結構183.2.1.主引導扇區193.2.2.操作系統引導扇區203.2.3.文件分配表213.2.4.目錄區213.2.5.數據區223.3.硬盤分區方式223.4.數據存儲原理22第四章 FAT原理234.1.FAT文件分配表基礎234.1.1.什么是FAT234.1.2.FAT的類型244.1.3.FAT的特點244.1.4.FAT簇大小244.1.5.文件系統的簇的大小25第五章 NTFS文件系統原理255.1.NTFS概述255.2.NTFS的DBR265.3.NTFS的元文件275.4.$MFT文件分析27第六章 RAID原理與數碼設備296.1.RAID簡介296.2.RAID的優點306.3.RAID的產生原因306.4.RAID的分類316.4.1.RAID0級316.4.2.RAID1級326.4.3.RAID Level 0+1326.3.4.RAID2級336.4.5.RAID 3346.4.6.RAID4346.4.7.RAID-30356.4.8.RAID 5:分布式奇偶校驗的獨立磁盤結構356.4.9.RAID 50366.4.10.RAID6: 帶有兩種分布存儲的奇偶校驗碼的獨立磁盤結構366.4.11.RAID 7: 優化的高速數據傳送磁盤結構366.4.12 RAID10:高可靠性與高效磁盤結構376.4.13 RAID53:高效數據傳送磁盤結構376.5.RAID的應用396.6.RAID使用的基本思想406.6.1數據冗余416.6.2數據劃分416.7.RAID恢復技術426.7.1.RAID類型的判斷426.7.2.RAID5的局限性及使用范圍426.7.3.RAID 5的重組實現數據恢復436.8.數碼設備436.8.1.數碼設備436.8.2.數碼照相機存儲原理446.8.3.數碼照相機的存儲特點446.8.4.流行優盤磁盤格式分析44第八章 硬盤硬件恢復技術508.1.硬盤的組成508.2.硬盤各部位常見故障匯總:508.2.1.硬盤的供電:508.2.2.接口:508.2.3.緩存:518.2.4.BIOS:518.2.5.磁頭芯片:518.2.6.前置信號處理器:518.2.7.數字信號處理器:518.2.8.電機驅動芯片:518.2.9.盤片:518.2.10.主軸電機:528.2.11.磁頭:528.2.12.音圈電機:528.2.13.定位卡子:52第一章 數據恢復基本原理1.1.數據恢復 數據恢復就是把由于硬件缺陷導致不可訪問、不可獲得、或由于誤操作等各種原因破壞或丟失的數據還原成正常數據。 數據恢復是出現問題之后的一種補救措施,既不是預防措施,也不是備份,所以,在一些特殊情況下數據將很難被恢復,如數據被覆蓋、低級格式化清零、磁盤盤片嚴重損傷等。 1.2.常見的軟件、硬件故障及可修復性 1.2.1.軟性故障 . 修復被CIH病毒破壞的硬盤; . 修復被惡意程序鎖住硬盤; . 修復被引導區破壞的硬盤(WYX.B); . 個別磁盤介質老化的修復; . 介紹一些特殊硬盤:DELL引導區的特殊(不能用SYS.COM)、PQ分區的特殊; . 正常硬盤不要隨便用Fdisk進行查看,常常會出現的故障每隔63個扇區被破壞; . FAT16/FAT32/NTFS格式; . 誤刪除文件、誤格式化分區; . 誤克隆導致分區出錯; . 誤刪除分區; . 用系統恢復盤恢復系統導致分區數據丟失; . RAID陣列數據修復; . Windows 2000/XP操作系統密碼破解; . 文檔密碼破解(.doc、.xls、.RAR、.zip等文檔); . 文檔修復、Foxmail郵件修復等; . 硬盤殺手破壞前8G數據、挪威客變種E刪除文件情況,七月殺手、12月13日(w97/thus)、屏幕保護者等; . BIOS能檢測到硬盤但是無法啟動系統 1.2.2.硬件故障 1、磁頭定位不準; 2、電路板燒毀; 3、電機不轉; 4、盤片劃傷; 硬盤硬性故障數據恢復情況: 硬盤:l 電路板(芯片燒壞或擊穿、三極管等故障),數據修復率 100% l 盤體 盤片 壞道 邏輯性壞道,修復壞道工具MHDD 物理性壞道 重要信息丟失或損壞(指廠家寫的信息:如固件又稱伺服信息,用PC3000進 行修復)。 磁頭組件(包括磁頭、磁頭臂、小車、預放大器稱磁頭芯片又放大芯片) 第二章 硬盤物理和邏輯結構2.1主流磁盤介質 下面我們先通過不同的存儲介質來看一看當今市場上流行的主機信息存儲技術,根據使用的材料和存儲原理的不同,存儲介質可分為三大類: 電存儲技術介質,如內存、閃存等; 磁存儲技術介質,如磁帶、磁盤等; 光存儲技術介質,如光盤、DVD等。 2.2.硬盤的外部結構 硬盤是一個集機、電、磁于一體的高精密系統。其內部是密封的,對用戶而言既是黑匣子,也是透明的,用戶根本不用關心其內部的運行,只需把標準接口接上即可正常使用。 圖 2-1 對上圖的解釋: 1. 緩存:這就是我們經常說的緩存,其實就和內存條上的內存顆粒一樣,是一片SDRAM。緩存的作用主要是和硬盤內部交換數據,我們平時所說的內部傳輸率其實也就是緩存和硬盤內部之間的數據傳輸速率。 2. 電源接口和光驅一樣,硬盤的電源接口也是由4針組成。其中,紅線所對應的+5V電壓輸入,黃線對應輸出的是+12V電壓。現在的硬盤電源接口都是梯形,不會因為插反方向而使硬盤燒毀。 3. 跳線:跳線的作用是使IDE設備在工作時能夠一致。當一個IDE接口上接兩個設備時,就需要設置跳線為“主盤”或者“從盤”,具體的設置可以參考硬盤上的說明。 4. IDE接口:硬盤IDE接口是和主板IDE接口進行數據交換的通道。我們通常說的UDMA/33模式就是指緩存和主板IDE接口之間的數據傳輸率(也就是外部數據傳輸率)為33.3MB/s,目前的接口規范已經從UDMA/33發展到UDMA/66和UDMA/100。但是由于內部傳輸率的限制,實際上外部傳輸率達不到理論上的那么高。為了使數據傳輸更加可靠,UDMA/66模式要求使用80針的數據傳輸線,增加接地功能,使得高速傳輸的數據不致出錯。在UDMA/66線的使用中還要注意,其蘭色的一端要接在主板IDE口上,而黑色的一端接在硬盤上。 5. 電容:硬盤存儲了大量的數據,為了保證數據傳輸時的安全,需要高質量的電容使電路穩定。這種黃色的鉭電容質量穩定,屬于優質元件,但價格較貴,所以一般用量都比較少,只是在最需要的地方才使用。 6. 控制芯片:硬盤的主要控制芯片,負責數據的交換和處理,是硬盤的核心部件之一。硬盤的電路板可以互相換(當然要同型號的),在硬盤不能讀出數據的時候,只要硬盤本身沒有物理損壞且能夠加電,我們就可以通過更換電路板的方式來使硬盤“起死回生”。 圖 2-2圖 2-32.3硬盤內部結構 A、 磁頭組件:這個組件是硬盤中最精密的部位之一,它由讀寫磁頭、傳動手臂、傳動軸三部分組成。磁頭是硬盤技術中最重要和關鍵的一環,實際上是集成工藝制成的多個磁頭的組合,采用非接觸式磁頭盤片結構,加電后在高速旋轉的磁盤表面移動,與盤片之間的間隙只有0.10.3m,這樣可以獲得很好的數據傳輸率。 B、 磁頭驅動機構:磁頭驅動機構由電磁線圈電機、磁頭驅動小車、防震動裝置構成,高精度的輕型磁頭驅動機構能夠對磁頭進行正確的驅動和定位,并能在很短的時間內精確定位系統指令指定的磁道。 C、 磁盤片:盤片是硬盤存儲數據的載體,現在硬盤盤片大多采用金屬薄膜材料,這種金屬薄膜與軟盤的不連續顆粒載體相比具有更高的存儲密度、高剩磁及高矯頑力等優點。 D、 主軸組件:主軸組件包括主軸部件,如軸承和驅動電機等。隨著硬盤容量的擴大和速度的提高,主軸電機的速度也在不斷提升,有廠商開始采用精密機械工業的液態軸承電機技術(FDB)。采用FDB電機不僅可以使硬盤的工作噪音降低許多,而且還可以增加硬盤的工作穩定性。 E、 前置控制電路:前置電路控制磁頭感應的信號、主軸電機調速、磁頭驅動和伺服定位等,由于磁頭讀取的信號微弱,將放大電路密封在腔體內可減少外來信號的干擾,提高操作指令的準確性。 目前,微機上安裝的硬盤幾乎都是采用溫徹斯特(Winchester)技術制造的硬盤,這種硬盤也被稱為溫盤。這種結構的特點為: (1)、磁頭、盤片及運動機構密封在盤體內; (2)、磁頭在啟動、停止時與盤片接觸,而在工作時因盤片高速旋轉,從而帶動磁頭“懸浮”在盤片上面呈飛行狀態(空氣動力學原理),這個“懸浮”的高度約為0.1微米0.3微米,這個高度是非常小的,圖2-4標出了這個高度與頭發、煙塵和手指印的大小比較關系,從這里就可以直觀的“看”出這個高度到底有多“高”了。 圖 2-4 磁頭高度 (3)、磁頭工作時與盤片不直接接觸,所以磁頭的加載較小,磁頭可以做得很精致,檢測磁道的能力很強,可大大提高位密度; (4)、磁盤表面非常平整光滑,可以做鏡面使用。 綜上所述,硬盤內部的完整結構如圖2-5所示。 圖 2-5每個盤片的每個面都有一個讀寫磁頭,磁盤盤面區域的劃分如圖20所示。與磁頭接觸的表面靠近主軸,即線速度最小的地方,是一個特殊的區域,它不存放任何數據,稱為啟停區或著陸區(LandingZone),啟停區外就是數據區。在最外圈,離主軸最遠的地方是“0”磁道,而硬盤數據的存放就是從最外圈開始的,所以在硬盤啟動的時候有時能聽到“吧嗒、吧嗒”聲,這是磁頭從啟停區轉到“0”磁道尋道時,由于轉速不夠,又被磁力拉回,與主軸磕碰發出的聲音,很顯然,出現這種聲音可不是什么好兆頭。那么磁頭是如何找到“0”磁道的位置的呢? 從圖2-6中還可以看到,有一個“0”磁道檢測器,就是由它來完成硬盤的初始定位的。早期的硬盤,每次關機之前需要運行一個叫Parking的程序,其作用就是讓磁頭回到啟停區,現代硬盤在設計上已摒棄了這個雖不復雜卻很讓人不愉快的小缺陷,硬盤不工作的時候,磁頭就停留在這個啟停區。當需要從硬盤讀寫數據時,磁盤開始旋轉,當旋轉速度達到額定的高速時,磁頭就會被盤片旋轉產生的氣流所抬起,這時磁頭才向盤片存放數據的區域移動。讀寫完畢,盤片停止旋轉,磁頭又回歸到啟停區。盤片旋轉產生的氣流相當強,足以使磁頭托起與盤面保持一個微小的距離。這個距離越小,磁頭讀寫數據的速度就越快,當然對硬盤各部件的要求也越高。早期設計的磁盤驅動器使磁頭保持在盤面上方幾微米處飛行。稍后一些設計使磁頭在盤面上的飛行高度降到約 0.10.5 微米,現在的水平已經達到 0.005 圖 2-6 硬盤內部結構0.01微米,這只是人類頭發直徑的千分之一。氣流既能使磁頭脫離開盤面,又能使它保持在離盤足夠近的地方,非常緊密地跟隨著磁盤表面呈起伏運動,使磁頭飛行處于嚴格受控狀態。磁頭必須飛行在盤面上方,而不是接觸盤面,這種位置可避免擦傷磁性涂層,更重要的是,不讓磁性層損傷磁頭。但是,磁頭也不能離盤面太遠,否則就不能使盤面達到足夠強的磁化,也就難以讀出盤上的磁化翻轉(磁極轉換形式,也就是磁盤上實際記錄數據的方式)。 磁盤上的磁道與唱片上的紋路很類似,其區別就在于磁盤盤面上的磁道是一個個的同心各磁道之間互不相連,而唱片只有一條從外側向中心呈螺旋狀的紋路(光盤的紋路和唱片的紋路是非常相象的,不過光盤是從內向外)。放送唱片時,唱針從唱片外側向中心連續移動。而在磁盤上讀/寫數據時,磁頭保持靜止不動,只有在需要從一條磁道進到另一條磁道時,磁頭才會移動。 硬盤驅動器內的電機都是無刷電機,在高速軸承支持下機械磨損很小,可以長時間連續工作。高速旋轉的盤體產生明顯的陀螺效應,所以在硬盤工作時不宜搬動,否則會增加軸承的工作負荷。為了長時間高速存儲和讀取信息,硬盤驅動器的磁頭小,慣性也小,所以硬盤驅動器的尋道速度要明顯快于軟驅和光驅。 硬盤驅動器磁頭的飛行懸浮高度低,飛行一旦磁頭與盤體發生碰撞,就可能造成數據丟失,形成壞塊,甚至造成損壞磁頭和盤體的嚴重后果。所以,硬盤系統的密封一定要可靠,在非專業條件下絕對不能開啟硬盤密封腔,否則灰塵進入后會加速硬盤的損壞。另外,硬盤驅動器磁頭的尋道伺服電機多采用音圈式旋轉或直線運動步進電機,在伺服跟蹤的調節下精確地跟蹤盤片的磁道,所以硬盤工作時不要有沖擊碰撞,搬動時要小心輕放。 硬盤的盤片是硬質磁性合金盤片片厚一般在 0.5 毫米左右,直徑主要有 1.8 英寸、2.5英寸、3.5英寸和5.25英寸四種,其中2.5英寸和3.5英寸盤片應用最廣,目前也有大量的新型硬盤如微型硬盤上市,直徑為0.8英寸或1英寸。盤片的轉速與盤片大小有關,考慮到慣性及盤片的穩定性,盤片越大轉速越低。一般來講,2.5英寸硬盤的轉速在5400r/min7200r/min之間,3.5英寸硬盤的轉速在4500r/min5400r/min之間,而5.25英寸硬盤轉速則在3600r/min4500r/min之間。現在2.5英寸硬盤的轉速最高已達15000r/min,3.5英寸硬盤的轉速最高已達12000r/min。 舊式硬盤驅動器的磁頭是一種讀寫合一的薄膜磁頭,這種磁頭體積小重量輕,與盤片的 磨擦較小。但在盤片高速旋轉時磁頭仍然與盤片產生較大的磨擦,因而容易引起盤片發熱,增加能耗,從而限制了盤片的轉速。又因為磁頭是讀寫合一,磁頭只能單向工作,讀寫不能同時進行,影響了數據傳輸速率。現在的硬盤驅動器磁頭已從MR磁頭(磁致電阻磁頭,這種磁頭不但輕小,而且還可以做到讀寫分離),發展到GMR(巨磁阻)磁頭、MRX(擴展磁阻)磁頭、窄磁道薄膜感應性寫入磁頭等新型磁頭,而且還有更多采用最新技術的新型磁頭不斷面世,其性能也更加優越。 2.4.硬盤的邏輯結構 硬盤的邏輯結構基本如下: A、 磁面(Side) 硬盤的每個盤片都有兩個盤面(Side),即上、下盤盤面,按照順序從上至下從“0”開始依次編號。 B、 磁道(Track)磁盤在格式化時被劃分成許多同心圓,這些同心圓軌跡叫磁道(Track)。磁道從外向內從0開始順序編號。 C、 柱面(Cylinder) 所有盤面上的同一磁道構成的一個圓柱,通常稱做柱面(Cylinder),每個柱面上的磁頭由上而下從“0”開始編號。 D、 扇區(Sector) 操作系統以扇區(Sector)形式將信息存儲在硬盤上,每個扇區包括 512 個字節的數據和一些其他信息。 E、 硬盤的容量=硬盤盤面(磁頭數)*柱面數*扇區數*512(字節) F、 換算公式1KB=2的10次方 1MB=2的20次方 1GB=2的30次方 1TB=2的40次方 1PB=2的50次方 1PB=1,125,899,906,842,624Byte G、C/H/S與LBA地址的對應關系假設用C表示當前柱面號,H表示當前磁頭號,Cs表示起始柱面號,Hs 表示起始磁頭號,Ss表示起始扇區號,PS表示每磁道有多少個扇區,PH表示每柱面有多少個磁道,則有: LBA=(C-Cs)*PH*一般情況下,CS=0、HS=0、SS=1;PS=63、PH=2552.4.1.盤片 硬盤的盤片一般用鋁合金作基片。 硬盤的每一個盤片都有兩個盤面(Side),即上、下盤面,一般每個盤面都利用上,即都裝上磁頭可以存儲數據,成為有效盤片,也有極個別的硬盤其盤面數為單數。每一個這樣的有效盤面都有一個盤面號,按順序從上而下自“0”開始依次編號。在硬盤系統中,盤面號又叫磁頭號,就是因為每一個有效盤面都有一個對應的讀寫磁頭。硬盤的盤片組在214片不等,通常有23個盤片,故盤面號(磁頭號)為03或05。 圖27磁道2.4.2.磁道 磁盤在格式化時被劃分成許多同心圓,這些同心圓軌跡叫做磁道(Track)。磁道從外向內自0開始順序編號。硬盤的每一個盤面有3001024個磁道,新式大容量硬盤每面的磁道數更多,如上圖2-7所示。信息以脈沖串的形式記錄在這些軌跡中,這些同心圓不是連續記錄數據,而是被劃分成一段段的圓弧,由于徑向長度不一樣,這些圓弧的角速度一樣,而線速度不一樣,外圈的線速度較內圈的線速度大,即同樣的轉速下,外圈在同樣時間段里,劃過的圓弧長度要比內圈劃過的圓弧長度大。每段圓弧叫做一個扇區,扇區從“1”開始編號,每個扇區中的數據是作為一個單元同時讀出或寫入的。一個標準的3.5英寸硬盤盤面通常有幾百到幾千條磁道。這些磁道是看不見的,它們只是盤面上以特殊形式磁化了的一些磁化區。這些磁道是在磁盤格式化時就規劃好了的。 2.4.3.柱面 所有盤面上的同一磁道構成一個圓柱,通常稱作柱面(Cylinder),每個圓柱上的磁頭,由上而下從“0”開始編號。數據的讀寫是按柱面進行的,即磁頭在讀寫數據時首先在同一柱面內從“0”磁頭開始進行操作,依次向下在同一柱面的不同盤面即磁頭上進行操作,只在同一柱面所有的磁頭全部讀寫完畢后才移動磁頭轉移到下一柱面,這是因為選取磁頭只需通過電子切換即可,而選取柱面則必須通過機械切換。電子切換相當快,比在機械上磁頭向鄰近磁道移動快得多,所以數據的讀/寫是按柱面來進行的,而不是按盤面來進行的。也就是說,一個磁道已寫滿數據,就在同一柱面的下一個盤面來寫,一個柱面寫滿后,才移到下一個柱面,從下一個柱面的1扇區開始寫數據。而不是在同一盤面的下一磁道來寫,一個盤面寫滿后再從下一個盤面的0磁道開始寫。讀數據也是按照這種方式進行,這樣就提高了硬盤的讀/寫效率。 2.4.4.扇區 我們知道,操作系統是以扇區(Sector)形式將信息存儲在硬盤上的。每個扇區包括512字節的數據和一些其他信息。一個扇區有兩個主要部分:即存儲數據地點的標識符和存儲數據的數據段,如圖2-8所示。 標識符就是扇區頭標,包括有組成扇區三維地址的三個數字:扇區所在的磁頭(或盤面)、磁道(或柱面號),以及扇區在磁道上的位置即扇區號。頭標中還包括一個字段,其中有顯示扇區是否能可靠存儲數據,或者是否已發現某個故障因而不宜使用的標記。有些硬盤控制器在扇區頭標中還記錄有指示字,可在原扇區出錯時指引磁盤轉到替換扇區或磁道。最后,扇區頭標以循環冗余校驗(CRC)值作為結束,以供控制器檢驗扇區頭標的讀出情況,確保準確無誤。 扇區的第二個主要部分是存儲數據的數據段,可分為數據和保護數據的糾錯碼(ECC)。在初始準備期間,計算機用512個虛擬信息字節(實際數據的存放地)和與這些虛擬信息字節相對應的ECC數字填入這個部分。 扇區頭標包括有一個可識別磁道上該扇區的扇區號。有趣的是這些扇區號物理上并不是象我們想象的那樣是連續編號的,它們不必用任何特定的順序指定。扇區頭標的設計允許扇區號可以從1到某個最大值,某些情況下可達256。磁盤控制器并不關心上述范圍中什么編號安排在哪一個扇區頭標中。在很特殊的情況下,扇區還可以共用相同的編號。磁盤控制器甚至還不管數據區有多大,它只管讀出它所找到的數據,或者寫入要求它寫的數據。 給扇區編號的最簡單方法是l、2、3、4、5、6等順序編號,而扇區交叉指的就是下一個扇區的編號不是連續的下一個數字,而是跳過幾個數字的編號,如1、7、13、2、8、14等。使用的交叉量是由扇區的交叉因子規定的。交叉因子用比值的方法來表示,如3:1,表示磁道上的第一個扇區為1號扇區,跳過兩個扇區即第四個扇區編號為2號扇區,這個過程持續下去直到給每個物理扇區編上邏輯號為止。圖 2-8扇區的結構2.4.5.容量 硬盤的容量由盤面數(磁頭數)、柱面數和扇區數決定,其計算公式為: 硬盤容量盤面數柱面數扇區數512字節 關于硬盤容量的大小,經常有人感到迷惑,為什么同一塊硬盤,有時顯示或報為40GB,有時卻只有37GB,這主要是表示方法不標準造成的,如1MB到底代表1,000,000字節還是代表1,048,576字節。在有些軟件中把1,000,000字節作為1MB,如DM等,硬盤上標稱容量一般也是按1MB1,000,000字節計算的;而在另一些軟件中1MB是1,048,576字節,如FDISK等。一些書籍或報刊雜志上發表的論文中,硬盤空間容量的單位也表示不一,有以1,000,000字節為1MB的,也有把1,048,576字節作為1MB的。依據計算機表示數據的特點、數制的表示方式及計算機本身的發展,硬盤容量單位還是應該以2的多少次方表示比較符合實際情況,即以KB(Kilobyte)、MB(Megabyte)、GB(Gigabyte)、TB(Terabyte)、PB(Petabyte)、EB(Exabyte)為單位 在對硬盤進行分區時,常常是實際的分區大小約大于用戶指定的分區大小,如輸入的基本分區大小為400MB,實際結果卻是402MB。這種情況的產生與Fdisk的分區機制有關。Fdisk分區的最小單位是柱面(Cylinder),它不會把一個柱面分配到兩個不同的分區中,這就是Fdisk的分區粒度。所以,Fdisk分區時分配的實際容量不小于用戶指定的分區容量。 2.4.6.線性地址扇區 系統在管理硬盤扇區時以簇為單位進行,并采用LBA方式來定位扇區。 LBA,全稱為Logic Block Address(即扇區的邏輯塊地址)。顯然,它是相對硬盤扇區三維物理地址而言的。扇區的三維物理地址與硬盤上的物理扇區一一對應,即三維物理地址可完全確定硬盤上的物理扇區。那么為什么還要引入LBA地址呢?首先,由于INT 13的限制,三維地址C/H/S的最大值只能為1024/16/63,容量最大只能達到10241663512 Byte =1032192Byte=504MB。另外,在系統管理文件時去記錄煩瑣的C/H/S也非常吃力,效率非常低,使用邏輯扇區后,可在硬盤讀寫操作時脫離柱面、磁頭等硬件參數的制約。 由DOS假設硬盤的全部存儲區域都由一系列的扇區組成,每個扇區固定包含512個字節。此外,在硬盤中每4,8,16個或更多的扇區組成一個簇,在對一個具體的簇進行讀寫操作時,DOS劃分一個一維數據的邏輯扇區號要比指出“簇200”在“柱面40、磁頭2、扇區512”要簡單一些。如果一個簇的扇區跨越在兩個盤面(即兩個磁頭)之間,用“柱面、磁頭、扇區”的表示方法就更復雜了,這樣就引入了LBA的概念。在LBA方式下,系統把所有的物理扇區都按照某種方式或規則看做是一線性編號的扇區,即從0到某個最大值方式排列,并連成一條線,把LBA作為一個整體來對待,而不再是具體的實際的C/H/S值,這樣只用一個序數就確定了一個惟一的物理扇區,這就是線性地址扇區的由來,顯然線性地址是物理扇區的邏輯地址。 那么線性地址如何與實際的C/H/S值相對應呢?如何把C/H/S值轉換為線性地址,把線性地址轉換成C/H/S值呢? 首先,要了解從C/H/S到LBA線性地址的轉換規則。由于系統在寫入數據時是按照從柱面到柱面的方式,在上一個柱面寫滿數據后才移動磁頭到下一個柱面,并從下一柱面的第一個磁頭的第一個扇區開始寫入,從而使磁盤性能最優,所以,在對物理扇區進行線性編址時,也按照這種方式進行。即把第一柱面(0柱)第一磁頭(0面)的第一扇區(1扇區)編為邏輯“0”扇區,把第一柱面(0柱)第一磁頭(0面)的第二扇區(2扇區)編為邏輯“1”扇區,直至第一柱面(0柱)第一磁頭(0面)的第63扇區(63扇區)編為邏輯“62”扇區,然后轉到第一柱面(0柱)第二磁頭(1面)的第一扇區(1扇區),接著上一面編為邏輯“63”扇區,0柱面所有扇區編號完畢后轉到1柱面的0磁頭1扇區,依次往下進行,直至把所有的扇區都編上號。 其次,要注意C/H/S中的扇區編號從“1”至“63”,而LBA方式下扇區從“0”開始編號,所有扇區順序進行編號。 1. 從C/H/S到LBA 通過對編號規則的介紹,很容易看出C/H/S與LBA地址的對應關系。用C表示當前柱面號,H表示當前磁頭號,S表示當前扇區號,CS表示起始柱面號,HS表示起始磁頭號,SS表示起始扇區號,PS表示每磁道有多少個扇區,PH表示每柱面有多少個磁道,則有: LBA=(CCS)PHPS+(HHS)PS+(SSS) 公式(2-1) 從C/H/S到LBA的轉換比較簡單,只用代入公式(2-1)計算即可,系統在管理扇區(簇)時就是按照LBA地址進行的,而在最終寫入(或讀出)硬盤,進行ATA調用時需要C/H/S參數,下面就看看從LBA到C/H/S的轉換關系。 2. 從LBA到C/H/S 先介紹兩種運算DIV和MOD(這里指對正整數的操作)。DIV稱做整除運算,即被除數除以除數所得商的整數部分。比如,5 DIV 2=2,33 DIV 5=6;MOD運算則是取商的余數。比如,5 MOD 2=1,33 MOD 5=3。DIV和MOD是一對搭檔,一個取整數部分,一個取余數部分。 各變量仍按上述假設進行,則有: C=LBA DIV (PHPS)+CS H=(LBA DIV PS)MOD PH+HS (2-2) S=LBA MOD PS+SS 如果不運用MOD運算符,只運用DIV運算符,也可按式(2-3)進行轉換,兩者的結果相同,只是運算的復雜度不同。 C=LBA DIV (PHPS)+CS H=LBA DIV PS(CCS)PH+HS (2-3) S=LBA(CCS)PHPS(HHS)PS+SS 第三章 硬盤分區表原理3.1.硬盤分區格式化 1、 硬盤低級格式化(low level format)簡稱低級格式化,也稱為物理格式化 (physical format) 2、Format 高級格式化。 3、 硬盤先分區(Fdisk、Partition Magic),分區是用來建立一些分區表等信息; 以下是fdisk分區的一部分信息: 圖3-1 Fdisk界面4、Format主要作用如下: A、從各個邏輯盤指定的柱面開始,對扇區進行邏輯編號(分區內的編號); B、創建引導記錄(DBR或成為引導區),如果命令中帶上“/S”則裝入msdos.sys、 、IO.SYS等3個文件; C、在各個硬盤上建立文件分配表(FAT); D、建立對應的文件目錄表(FDT)及數據區(DATA)。 3.2.硬盤分區表結構 新購買來一塊硬盤需要將它分區、格式化,然后才能安裝操作系統方可以使用。以Win9x/Me系列來說,我們一般要將硬盤分成主引導扇區(MBR)、操作系統引導扇區(DBR)、FAT(文件分配表)、DIR(目錄區)和Data(數據區)等五部分(其中只有主引導扇區是唯一的,其它的隨你的分區數的增加而增加)。 . MBR(Main Boot Record)即主引導記錄區,它位于整個硬盤的0磁道0柱面1扇區,包括硬盤引導程序和分區表。 . DBR(Dos Boot Record)即操作系統引導記錄區,通常位于硬盤的0磁道1柱面1扇區,是操作系統可直接訪問的第一個扇區,它也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區參數記錄表。每個邏輯分區都有一個DBR。 . FAT(File Allocation Table)即文件分配表,是DOS、Windows9X系統的文件尋址格式,為了數據安全起見,FAT一般做成兩個,第二FAT為第一FAT的備份。 . DIR是Directory即根目錄區的簡寫,DIR緊接在第二FAT表之后。 . Data既是數據區,在目錄區之后就是數據區,所有的文件等數據均存放在此區域。 3.2.1.主引導扇區 主引導扇區位于整個硬盤的0磁道0柱面1扇區,包括硬盤主引導記錄MBR(Main Boot Record)和分區表DPT(Disk Partition Table)。其中主引導記錄的作用就是檢查分區表是否正確以及確定哪個分區為引導分區,并在程序結束時把該分區的啟動程序(也就是操作系統引導扇區)調入內存加以執行。至于分區表,很多人都知道,以80H或00H為開始標志,以55AAH為結束標志,共64字節,位于本扇區的最末端。值得一提的是,MBR是由分區程序(例如DOS的Fdisk.exe)產生。 下圖是用江民硬盤修復王查看主引導扇區(主引導記錄+分區表) 圖3-3上圖3-3是硬盤的主引導記錄,為硬盤的0面0柱1扇區的信息;也是邏輯上的0扇區(用KVFIX可以看出)每扇區字節數為512個字節。 前446個字節為硬盤的主引導記錄。如果在分區表80至55AA等64個字節都正常的情況下,用KVFIX/K或FDISK/MBR能自動生成這446個字節。 上圖3-3畫紅線的80至55AA是硬盤的分區表,以下詳細介紹: 80 該字節表示當前硬盤分區是否為激活分區,80表示激活、00表示非激活; 01 該字節表示硬盤的起始磁頭(也稱為面), 01 該字節表示硬盤的起始扇區(0101這兩個字節表示分區起始扇區和柱面號), 00 該字節表示硬盤的起始柱面, 0B 該字節表示硬盤分區的類型,如果硬盤為FAT16位那么此處為06;如果硬盤分區格式為FAT32位那么此處為0B,但是如果該分區格式大于8G那么此處為 0C,如果為NTFS格式此處為07,如果是LiNux分區格式為83。 FE 該字節表示硬盤的結束磁頭,255-1=254 3FFE 這兩個字節表示硬盤的結束扇區和柱面(常常用FFFF替換)。 3F000000 這4個直接表示為硬盤的隱含扇區,也就是說硬盤分區表到引導區之間的扇區數目。低位在前高位在后0000003F寫成3F000000; 00823E00 表示該分區的大小,低位在前高位在后3E8200寫成00823E00。 01FF0FFEFFFF 可以從D盤分區表抄過來,但是主分區一般用0F表示,而擴展分區用05表示。 3F823E00 這4個字節表示下一個分區的起始扇區,低位在前高位在后3E823F寫成3F823E00, 41A71502 這4個字節表示擴展DOS分區的硬盤大小。 3.2.2.操作系統引導扇區 DBR(Dos Boot Record)即操作系統引導扇區,通常位于硬盤的1磁道0柱面1扇區(這是對于DOS來說的,對于那些以多重引導方式啟動的系統則位于相應的主分區/擴展分區的第一個扇區),是操作系統可直接訪問的第一個扇區,它也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區參數記錄表。其實每個邏輯分區都有一個DBR,其參數視分區的大小、操作系統的類別而有所不同。引導程序的主要任務是判斷本分區根目錄前兩個文件是否為操作系統的引導文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一個文件讀入內存,并把控制權交予該文件。BPB參數塊記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬盤介質描述符、根目錄大小、FAT個數、分配單元(Allocation Unit,以前也稱之為簇)的大小等重要參數。DBR由高級格式化程序產生(例如DOS的F)。 1面0柱1扇(KVFIX在63扇區,)也成引導區或BOOT區。參看下圖。 圖3-5上圖為FAT32位的引導區。詳細介紹: EB5890 這3個字節為跳轉指令,跳轉到引導代碼; 4D5357494E342E31 這8個字節為廠商表示和DOS版本號或OEM版本號信息 0002 這兩個字節表示硬盤每扇區的字節數,每扇區字節數為512,那么十進 制為0200,低位在前高位在后為0020。 08 該字節為每個簇的扇區數(目錄扇區數); 2000 這兩個字節表示為保留扇區數,也就是說從引導區到第一個文件分配表之間的扇區數目,在此為32個扇區換算十六進制為0020,低位在前高位在后為2000; 02 該字節為文件分配表的份數, 0000 根目錄項數(早期DOS版本,FAT16允許最大目錄項數512,現在不用了) 0000 扇區總數,小于32MB時;否則不用。 F8 該字節表示磁盤介質,硬盤用F8表示。 0000 這兩個字節表示FAT16位的文件分配表的長度,如果是FAT32位此處為空, 3F00 表示每磁道扇區數目,每磁道扇區為63那么十進制為3F。(低位在前高位在后) FF00 表示硬盤的磁頭數目,255十進制為FF,低位在前高位在后為FF00; 3F000000 表示為硬盤的隱含扇區,也就是說分區表到引導區的扇區數目; 00823E00 表示本分區大小 990F0000 表示文件分配表的長度,FAT32位。 02000000 為根目錄所在簇數,一般為第2簇,為00000002h,字組內前后位(byte)交換得02000000,所以此處為02000000; 0100 為文件系統信息扇區,此文件系統信息扇區為1扇區,為0001h,字組內前后位(byte)顛倒得0100,所以此處為0100; 0600 為系統引導扇區數目,FAT32位的系統引導扇區有7個扇區,即0至6為0006h,字組內前后位(byte)顛倒得0600,所以此處為0600; 80 為磁盤編號(第一個硬盤為80h); 29以后為擴展的引導扇區特征碼及系統安裝序列號等,這部份可用標準的硬盤照搬過來。3.2.3.文件分配表 FAT(File Allocation Table)即文件分配表,是DOS/Win9x系統的文件尋址系統,為了數據安全起見,FAT一般做兩個,第二FAT為第一FAT的備份,FAT區緊接在DBR之后,其大小由本分區的大小及文件分配單元的大小決定。關于FAT的格式歷來有很多選擇,Microsoft的DOS及Windows采用我們所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非沒有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。 3.2.4.目錄區 DIR是Directory即根目錄區的簡寫,DIR緊接在第二FAT表之后,只有FAT還不能定位文件在磁盤中的位置,FAT還必須和DIR配合才能準確定位文件的位置。DIR記錄著每個文件(目錄)的起始單元(這是最重要的)、文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在磁盤的具體位置及大小了。在DIR區之后,才是真正意義上的數據存儲區,即DATA區。 3.2.5.數據區 DATA雖然占據了硬盤的絕大部分空間,但沒有了前面的各部分,它對于我們來說,也只能是一些枯燥的二進制代碼,沒有任何意義。在這里有一點要說明的是,我們通常所說的格式化程序(指高級格式化,例如DOS下的Format程序),并沒有把DATA區的數據清除,只是重寫了FAT表而已,至于分區硬盤,也只是修改了MBR和DBR,絕大部分的DATA區的數據并沒有被改變 3.3.硬盤分區方式 我們平時說到的分區概念,不外乎三種:主分區、擴展分區和邏輯分區。 主分區是一個比較單純的分區,通常位于硬盤的最前面一塊區域中,構成邏輯C磁盤。在主分區中,不允許再建立其它邏輯磁盤。 擴展分區的概念則比較復雜,也是造成分區和邏輯磁盤混淆的主要原因。由于硬盤僅僅為分區表保留了64個字節的存儲空間,而每個分區的參數占據16個字節,故主引導扇區中總計可以存儲4個分區的數據。操作系統只允許存儲4個分區的數據,如果說邏輯磁盤就是分區,則系統最多只允許4個邏輯磁盤。對于具體的應用,4個邏輯磁盤往往不能滿足實際需求。為了建立更多的邏輯磁盤供操作系統使用,系統引入了擴展分區的概念。 所謂擴展分區,嚴格地講它不是一個實際意義的分區,它僅僅是一個指向下一個分區的指針,這種指針結構將形成一個單向鏈表。這樣在主引導扇區中除了主分區外,僅需要存儲一個被稱為擴展分區的分區數據,通過這個擴展分區的數據可以找到下一個分區(實際上也就是下一個邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區。無論系統中建立多少個邏輯磁盤,在主引導扇區中通過一個擴展分區參數即可逐個找到每一個邏輯磁盤。 需要特別注意的是,由于主分區之后的各個分區是通過一種單向鏈表的結構來實現鏈接的,因此,若單向鏈表發生問題,將導致邏輯磁盤的丟失。 3.4.數據存儲原理 既然要進行數據的恢復,當然數據的存儲原理我們不能不提,在這之中,我們還要介紹一下數據的刪除和硬盤的格式化相關問題。 . 文件的讀取 操作系統從目錄區中讀取文件信息(包括文件名、后綴名、文件大小、修改日期和文件在數據區保存的第一個簇的簇號),我們這里假設第一個簇號是0023。 操作系統從0023簇讀取相應的數據,然后再找到FAT的0023單元,如果內容是文件結束標志(FF),則表示文件結束,否則內容保存數據的下一個簇的簇號,這樣重復下去直到遇到文件結束標志。 . 文件的寫入 當我們要保存文件時,操作系統首先在DIR區中找到空區寫入文件名、大小和創建時間等相應信息,然后在Data區找到閑置空間將文件保存,并將Data區的第一個簇寫入DIR區,其余的動作和上邊的讀取動作差不多。 . 文件的刪除 看了前面的文件的讀取和寫入,你可能沒有往下邊繼續看的信心了,不過放心,Win9x的文件刪除工作卻是很簡單的,簡單到只在目錄區做了一點小改動將目錄區的文件的第一個字符改成了E5就表示將改文件刪除了。 . Fdisk和Format的一點小說明 和文件的刪除類似,利用Fdisk刪除再建立分區和利用Format格式化邏輯磁盤(假設你格式化的時候并沒有使用/U這個無條件格式化參數)都沒有將數據從DATA區直接刪除,前者只是改變了分區表,后者只是修改了FAT表,因此被誤刪除的分區和誤格式化的硬盤完全有可能恢復。如下為FAT16位: 如下為FAT32位: 第四章 FAT原理4.1.FAT文件分配表基礎 4.1.1.什么是FAT 操作系統利用來定位文件的表FAT ,由于文件并不連續存放,因此可能分散在磁盤中,FAT就是用來定位這些離散的文件塊的。 FAT的位置:在DOS下,FAT緊接著BOOT區存放在系統區的前部; FAT的分類: FAT16 早期Windows 95開始;后來的所謂Windows97/98就開始引用FAT32的概念 相關系統:VFAT,HPFS,NTFS,LINUX等。 文件系統: 目錄的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論