1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 用fdisk重建dos硬盤主引導記錄

        時間:2024-06-17 03:03:44 理工畢業論文 我要投稿
        • 相關推薦

        用fdisk重建dos硬盤主引導記錄

        硬盤主引導記錄遭到破壞,使硬盤無法正常工作,這是硬盤最常見的故障之一。這種情況的出現,主要是由于病毒感染、人為的錯誤操縱或系統忽然掉電等意外情況引起的。
        目前,硬盤已經成為微機系統最重要的硬件資源。假如硬盤主引導記錄遭到破壞,會給用戶帶來極其嚴重的損失。因此,研究一種為用戶所接受的,能迅速、安全、有效地重建硬盤主引導記錄的方法是十分必要的。
        一、主引導記錄的結構和功能
        1.主引導記錄的結構
        ms-dos操縱系統,其硬盤主引導記錄是由fdisk.com在給硬盤分區時創建的。一個完整的硬盤主引導記錄共有512個字節,在硬盤中占一個扇區,該扇區位于硬盤的0面0道1扇區。該記錄分為主引導程序區、硬盤分區表和硬盤賦權標識三個部分。前1bdh字節為主引導程序區,F在的主引導程序一般占用dah左右字節,后面為零字節。這主要是兼顧到其它操縱系統、多個操縱系統共存以及為將來擴展留有余地。從1beh~1fdh為硬盤分區表,可建四個分區表,每個表16個字節,記載每個分區的信息,最后兩個字節存放硬盤賦權標志-a
        a55h。
        2.分區表的結構
        分區表的組成見分區表的內存布局及填寫示例。除相對扇區和實用扇區占4個字節外,其余均為1個字節。自舉標志和系統標志是記錄分區性質的參數。當某一分區被指定為激活分區時,該處標志為80h,而其它分區的該標志為00h。四個分區表內只能有一個80h標志。系統標志說明該分區操縱系統的類型。不同系統有不同的代碼,dos系統標志說明有四個,三個是分區代碼(01h,04h,06h代表不同dos版本),一個是擴展分區代碼(05h)。
        @@07a08300.gif;附表 分區表的內存布局及填寫示例@@
        3.主引導記錄的功能
        主引導記錄主要提供硬盤賦權標識、硬盤分區信息、系統主引導程序三種功能。
        用硬盤啟動系統時,主引導記錄的三種功能全部提供,而用軟盤啟動時,僅提供前兩種功能。
        二、重建主引導記錄的原理和方法
        1.目前重建主引導記錄的方法及其缺點
        目前使用較廣泛的重建主引導記錄的方法有以下幾種。
        (1) 預先備份主引導記錄,當主引導記錄被破壞后,直接重建。這種方法簡單、方便,但對沒有預先備份的用戶是行不通的。
        (2) 從相同型號及具有相同分區的硬盤上讀取主引導記錄,寫到被破壞的硬盤上,達到重建的目的。這種方法也比較簡單、方便,但相同型號的硬盤特別是具有相同分區的主引導記錄很不輕易找,而且對有多個分區的硬盤來說,假如用戶忘記每個分區的大小,就不能重建。
        (3) 用手工計算的方法重建主引導記錄。這種方法靈活性大,適應范圍廣,但非常麻煩,輕易出錯,而且對于不太熟悉硬盤主引導記錄結構、對操縱系統本身不是非常熟悉的用戶來說,使用起來也非常困難。
        2.用fdisk.com重建主引導記錄的原理和實現
        當硬盤的主引導記錄被破壞以后,很多用戶采用fdisk.com重建主引導區,但在重建的過程中,會徹底破壞硬盤的原有數據。這是由于在創建過程中,對dos分區的dos引導區、fat表區以及文件目錄區進行了格式化和寫零操縱,以確保format.com能順利進行dos系統格式化。因此,在fdisk.com創建主引導區的過程中,假如能阻止其對dos主引導區和fat表以及文件目錄區進行格式化和寫零操縱,就可以在不破壞原來硬盤數據的情況下,重建dos主引導記錄。
        根據上面的要求,可以用一段駐留程序實現。它的具體功能是攔截13h號中斷,取消所有對硬盤格式化操縱和除對硬盤主引導區(0面0道1扇區)以外的所有寫操縱。
        ch13.asm程序:
        code segment
        assume cs:code,ds:code,es:code
        org 100h
        start:jmp begin
        int-13:db 04h dup(0)
        recei:cmp ah,05h
        jnz chk1
        chan:mov ah,00h
        chk1:cmp ah,03h
        jnz pass
        cmp ax,0301h
        jnz chan
        cmp cx,0001h
        jnz chan
        cmp dx,0080h
        jnz chan
        pass:pushf
        call cs:dword ptr[int-13]
        iret
        begin:jmp begin1
        disp1:db 0dh,0ah,''程序駐留成功!'', 0dh,0ah,24h
        disp2:db 0dh,0ah,''程序已經駐留!'', 0dh,0ah,24h
        begin1:mov ax,3513h
        int 21h
        cmp bx,offset recei
        jnz load
        mov ax,es
        cmp ax,100h
        jl load
        mov ax,cs
        mov ds,ax
        mov es,ax
        mov ah,09h
        lea dx,disp2
        int 21h
        int 20h
        load:mov cs:word ptr[int-13],bx
        mov ax,es
        mov cs:word ptr[int-13 02h],ax
        cli
        mov ax,cs
        mov ds,ax
        lea dx,recei
        mov ax,2513h
        int 21h
        sti
        lea dx,disp1
        mov ah,09h
        int 21h
        int 27h
        code ends
        end start
        三、重建的具體操縱
        1.程序的天生
        將ch13.asm程序用masm編譯并連接天生exe文件,再用exe2bin將其轉化為com文件,將它拷到一張帶dos引導系統的軟盤上,dos版本最好與硬盤原來的dos版本相同,同時,再拷進該版本下的fdisk.com文件和chkdsk.com文件。
        2.主引導區的重建
        用該軟盤啟動微機,運行chkdsk.com,該程序會駐留內存并給用戶提示。然后,就可以用fdisk.com重建主引導區。
        (1) 單個分區的主引導區的重建
        運行fdisk.com文件,把硬盤分成一個盤即可。
        (2) 有dos擴展分區的主引導區的重建
        對于有dos擴展公區的硬盤,用戶若記得每個分區的大小,可直接運行fdisk.com文件分盤,若用戶不知道分區大小,那么需將整個硬盤分成一個盤,然后運行chkdsk.com文件,得到原來dos主分區(即c盤大小),然后運行fdisk.com文件正確分盤。
        下面用一個具體例子說明。一臺386微機,硬盤大小為200mb,操縱系統為dos6.2,硬盤分為c盤(80mb)、d盤(80mb)、e盤(40mb),由于忽然斷電,丟失主引導記錄,且分區大小不知道。重建按以下幾步進行。
        (1) 預備一張dos6.2的系統引導盤,并在該盤中拷進fdisk.com,chkdsk.com(6.2版)和ch13.com文件。
        (2) 用該盤啟動微機,先運行chk13.com文件,再運行fdisk.com文件,把整個硬盤分成一個盤(c盤200mb)。
        (3) 重新用該盤啟動微機,啟動后可進進c盤。
        (4) 運行chkdsk.com,檢查c盤大小,可查出c盤原來的大小為80mb。
        (5) 運行ch13.com文件,再運行fdisk.com,刪除c盤,重新建立一個80mb的c盤,再將剩下的120mb分成dos擴展分區,并全部分給邏輯d盤(不必再分e盤)。這樣,丟失的硬盤(c盤、d盤、e盤)就全部恢復。
        留意:
        (1) 對有些較低的dos版本,其fdisk.com文件分盤時,是按磁道數分盤的,用戶可按照下面的公式來計算多個分區的磁道數。
        分區所占磁道數=總磁道數

        【用fdisk重建dos硬盤主引導記錄】相關文章:

        基于IDE硬盤的大容量語音記錄儀03-20

        DOS用戶界面的設計03-20

        DOS下DSP播音的編程03-03

        基于Perl的DoS工具設計與實現03-10

        基于嵌入式操作系統VxWorks的SCSI硬盤高速記錄系統03-18

        在 DOS 下使用Windows *.WAV 文件03-03

        淺論硬盤維修方法03-18

        DOS界面下通用圖形編輯軟件的設計03-06

        硬盤系統在播出領域的應用03-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>