史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-05-21, 04:35 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 資料恢復基礎知識

資料恢復基礎知識

說到資料恢復,我們就不能不提到硬碟的資料結構、文件的存儲原理,甚至操作系統的啟動流程,這些是你在恢復硬碟資料時不得不利用的基本知識。即使你不需要恢複數據,理解了這些知識(即使只是稍微多知道一些),對於你平時的電腦操作和套用也是很有幫助的。
   我們就從硬碟的資料結構談起吧……
   硬碟資料結構
   初買來一塊硬碟,我們是沒有辦法使用的,你需要將它分區、格式化,然後再安裝上操作系統才可以使用。就拿我們一直沿用到現在的Win9x/Me系列來說,我們一般要將硬碟分成主啟始扇區、操作系統啟始扇區、FAT、DIR和Data等五部分(其中只有主啟始扇區是唯一的,其它的隨你的分區數的增加而增加)。
   主啟始扇區
   主啟始扇區位於整個硬碟的0磁道0柱面1扇區,包括硬碟主引導記錄MBR(Main Boot Record)和分區表DPT(Disk Partition Table)。其中主引導記錄的作用就是檢查分區表是否正確以及確定哪個分區為引導分區,並在程序結束時把該分區的啟動程序(也就是操作系統啟始扇區)調入記憶體加以執行。至於分區表,很多人都知道,以80H或00H為開始標誌,以55AAH為結束標誌,共64字元,位於本扇區的最末端。值得一提的是,MBR是由分區程序(例如DOS 的Fdisk.exe)產生的,不同的操作系統可能這個扇區是不盡相同。如果你有這個意向也可以自己去編寫一個,只要它能完成前述的任務即可,這也是為什麼能實現多系統啟動的原因(說句題外話:正因為這個主引導記錄容易編寫,所以才出現了很多的引導區病毒)。
   操作系統啟始扇區
   OBR(OS Boot Record)即操作系統啟始扇區,通常位於硬碟的0磁道1柱面1扇區(這是對於DOS來說的,對於那些以多重啟始方式啟動的系統則位於相應的主分區/延展分區的第一個扇區),是操作系統可直接訪問的第一個扇區,它也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區參數記錄表。其實每個邏輯分區都有一個OBR,其參數視分區的大小、操作系統的類別而有所不同。引導程序的主要任務是判斷本分區根目錄前兩個文件是否為操作系統的引導文件(例如MSDOS或者起源於MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一個文件讀入記憶體,並把控制權交予該檔案。BPB參數塊記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬碟介質描述符、根目錄大小、FAT個數、分配單元(Allocation Unit,以前也稱之為簇)的大小等重要參數。OBR由進階格式化程序產生(例如DOS 的Format.com)。   文件分配表
   FAT(File Allocation Table)即文件分配表,是DOS/Win9x系統的文件尋址系統,為了資料安全起見,FAT一般做兩個,第二FAT為第一FAT的制作備份, FAT區緊接在OBR之後,其大小由本分區的大小及文件分配單元的大小決定。關於FAT的格式歷來有很多選項,Microsoft 的DOS及Windows採用我們所熟悉的FAT12、FAT16和FAT32格式,但除此以外並非沒有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
   目錄區
   DIR是Directory即根目錄區的簡寫,DIR緊接在第二FAT表之後,只有FAT還不能定位文件在磁牒中的位置,FAT還必須和DIR配合才能準確定位文件的位置。DIR記錄著每個文件(目錄)的起始單元(這是最重要的)、文件的屬性內容等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在磁牒的具體位置及大小了。在DIR區之後,才是真正意義上的資料存儲區,即DATA區。
   資料區
   DATA雖然佔據了硬碟的絕大部分空間,但沒有了前面的各部分,它對於我們來說,也只能是一些枯燥的二進制程式碼,沒有任何意義。在這裡有一點要說明的是,我們通常所說的格式化程序(指進階格式化,例如DOS下的Format程序),並沒有把DATA區的資料清除,只是重寫了FAT表而已,至於分區硬碟,也只是修改了MBR和OBR,絕大部分的DATA區的資料並沒有被改變,這也是許多硬碟資料能夠得以修復的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破壞的話,也足夠咱們那些所謂的DIY老鳥們忙乎半天了……需要提醒大家的是,如果你經常整理磁牒,那麼你的資料區的資料可能是連續的,這樣即使MBR/FAT/DIR全部壞了,我們也可以使用磁牒編輯軟體(比如DOS下的DiskEdit),只要找到一個文件的起始儲存位置,那麼這個文件就有可能被恢復(當然了,這需要一個前提,那就是你沒有覆蓋這個文件……)。
   硬碟分區方式
   我們平時說到的分區概念,不外乎三種:主分區、延展分區和邏輯分區。
   主分區是一個比較單純的分區,通常位於硬碟的最前面一塊區域中,構成邏輯C磁牒。在主分區中,不允許再建立其它邏輯磁牒。
   延展分區的概念則比較複雜,也是造成分區和邏輯磁牒混淆的主要原因。由於硬碟僅僅為分區表保留了64個字元的存儲空間,而每個分區的參數佔據16個字元,故主啟始扇區中總計可以存儲4個分區的資料。操作系統只允許存儲4個分區的資料,如果說邏輯磁牒就是分區,則系統最多只允許4個邏輯磁牒。對於具體的套用,4個邏輯磁牒往往不能滿足實際需求。為了建立更多的邏輯磁牒供操作系統使用,系統引入了延展分區的概念。
   所謂延展分區,嚴格地講它不是一個實際意義的分區,它僅僅是一個指向下一個分區的指針,這種指針結構將形成一個單向鏈表。這樣在主啟始扇區中除了主分區外,僅需要存儲一個被稱為延展分區的分區資料,通過這個延展分區的資料可以找到下一個分區(實際上也就是下一個邏輯磁牒)的起始位置,以此起始位置類推可以找到所有的分區。無論系統中建立多少個邏輯磁牒,在主啟始扇區中通過一個延展分區的參數就可以逐個找到每一個邏輯磁牒。
   需要特別注意的是,由於主分區之後的各個分區是通過一種單向鏈表的結構來實現連接的,因此,若單向鏈表發生問題,將導致邏輯磁牒的丟失。
   資料存儲原理
   既然要進行資料的恢復,當然資料的存儲原理我們不能不提,在這之中,我們還要介紹一下資料的刪除和硬碟的格式化相關問題……
   文件的讀取
   操作系統從目錄區中讀取文件信息(包括檔案名、後綴名、文件大小、修改日期和文件在資料區儲存的第一個簇的簇號),我們這裡假設第一個簇號是0023。
   操作系統從0023簇讀取相應的資料,然後再找到FAT的0023單元,如果內容是文件結束標誌(FF),則表示文件結束,否則內容儲存資料的下一個簇的簇號,這樣重複下去直到遇到文件結束標誌。
   文件的寫入
   當我們要儲存文件時,操作系統首先在DIR區中找到空區寫入檔案名、大小和新增時間等相應信息,然後在Data區找到閒置空間將文件儲存,並將Data區的第一個簇寫入DIR區,其餘的動作和上邊的讀取動作差不多。
   文件的刪除
   看了前面的文件的讀取和寫入,你可能沒有往下邊繼續看的信心了,不過放心,Win9x的文件刪除工作卻是很簡單的,簡單到只在目錄區做了一點小改動——將目錄區的文件的第一個字串改成了E5就表示將改文件刪除了。
   Fdisk和Format的一點小說明
   和文件的刪除類似,利用Fdisk刪除再建立分區和利用Format格式化邏輯磁牒(假設你格式化的時候並沒有使用/U這個無條件格式化參數)都沒有將資料從DATA區直接刪除,前者只是改變了分區表,後者只是修改了FAT表,因此被誤刪除的分區和誤格式化的硬碟完全有可能恢復……
   系統啟動流程
   各種不同的操作系統啟動流程不盡相同,我們這裡以Win9x/DOS的啟動流程為例。
   第一階段:系統電源自檢POST程序。POST是Power On Self Test的縮寫,也就是電源自檢的意思,微機執行記憶體FFFF0H處的程序(這裡是一段固定的ROM程序),對系統的硬體(包括記憶體)進行檢查。
   第二階段:讀取分區記錄和引導記錄。當微機檢查到硬體正常並與CMOS設置相符後,按照CMOS設置從相應設備啟動(我們這裡假設從硬碟啟動),讀取硬碟的分區記錄(DPT)和主引導記錄(MBR)。
   第三階段:讀取DOS引導記錄。微機正確讀取分區記錄和主引導記錄後,如果主引導記錄和分區表校驗正確,則執行主引導記錄並進一步讀取DOS引導記錄(位於每一個主分區的第一個扇區),然後執行該DOS引導記錄。
   第四階段:裝載系統隱含文件。將DOS系統的隱含文件IO.SYS入記憶體,載入基本的文件系統FAT,這時候一般會出現Starting Windows 9x...的標誌,IO.SYS將MS.SYS讀入記憶體,並處理System.dat和User.dat文件,載入磁牒壓縮程序。
   第五階段:實DOS模式配置。系統隱含文件裝載完成,微機將執行系統隱含文件,並執行系統配置文件(Config.sys),載入Config.sys中定義的各種驅動程式。
  第六階段:調入指令解釋程序(Command.com)。系統裝載指令管理程序,以便對系統的各種操作指令進行協調管理(我們所使用的Dir、Copy等內部指令就是由Command.com提供的)。
   第七階段:執行批次處理文件(Autoexec.bat)。微機將一步一步地執行批次處理文件中的各條指令。
   第八階段:載入Win.com。Win.com負責將Windows下的各種驅動程式和啟動執行文件加以執行,至此啟動完畢。
   資料恢復的基礎知識到此就給你介紹得差不多了。如果你領會了以上的這些知識,相信加上工具軟體的輔助,恢復你丟失的資料簡直是輕而易舉,這裡就不再多說。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2003-05-21, 11:11 PM   #2 (permalink)
註冊會員
榮譽勳章
UID - 60882
在線等級: 級別:15 | 在線時長:298小時 | 升級還需:22小時級別:15 | 在線時長:298小時 | 升級還需:22小時級別:15 | 在線時長:298小時 | 升級還需:22小時級別:15 | 在線時長:298小時 | 升級還需:22小時級別:15 | 在線時長:298小時 | 升級還需:22小時
註冊日期: 2003-04-22
文章: 73
精華: 0
現金: 592 金幣
資產: 45766 金幣
預設

錄下慢慢研究,謝謝!
pifeng 目前離線  
送花文章: 0, 收花文章: 6 篇, 收花: 6 次
舊 2003-05-22, 03:56 PM   #3 (permalink)
1122
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

謝謝分享 !
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-05-22, 07:53 PM   #4 (permalink)
b8604152
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

感恩啦謝謝分享
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-05-23, 02:34 PM   #5 (permalink)
長老會員
榮譽勳章
UID - 44461
在線等級: 級別:10 | 在線時長:154小時 | 升級還需:11小時級別:10 | 在線時長:154小時 | 升級還需:11小時級別:10 | 在線時長:154小時 | 升級還需:11小時級別:10 | 在線時長:154小時 | 升級還需:11小時級別:10 | 在線時長:154小時 | 升級還需:11小時
註冊日期: 2003-03-03
住址: khh
文章: 166
精華: 0
現金: 15883 金幣
資產: 20883 金幣
預設

謝謝!
wengxyz 目前離線  
送花文章: 38, 收花文章: 2 篇, 收花: 3 次
舊 2003-06-13, 03:19 PM   #6 (permalink)
0900
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

慢慢研究!謝謝分享!
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-06-16, 05:37 PM   #7 (permalink)
no1power
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

多謝賜教
不勝感激
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-06-20, 01:05 PM   #8 (permalink)
userpcnob
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

3q
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 04:08 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1