<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>計算機信息技術>用擴展INT13H研析并恢復大容量硬盤分區信息鏈表

      用擴展INT13H研析并恢復大容量硬盤分區信息鏈表

      時間:2023-02-21 00:09:56 計算機信息技術 我要投稿
      • 相關推薦

      用擴展INT13H研析并恢復大容量硬盤分區信息鏈表

      用擴展INT13H研析并恢復大容量硬盤分區信息鏈表

      江西宜春學院計算機系  劉  健

      內容摘要:本文利用擴展INT13H的磁盤地址數據包及相關調用,分析了整個分區鏈表并給出了鏈表中任一結點分區信息丟失或被破壞之后的一種恢復方法。

       

      關鍵字:擴展INT13H、數據包、分區信息、鏈表、恢復

       

      一、 擴展INT13H相關讀寫接口規范概述

      擴展INT13H接口設計的目的是為了擴展BIOS的功能,使之能處理柱面數大于1024的硬盤,并支持移動存貯介質的鎖定、解鎖和彈出等各類新增功能。

      1、 數據類型定義:

      BYTE  一字節; WORD  二字節; DWORD 四字節;  QWORD 八字節;

      磁盤讀寫地址數據包DRWAP(Disk Read Write Address Packet),利用該數據包中斷INT13H可以直接讀寫處理目前主流硬盤上的任一扇區,匆需理會傳統磁盤概念中的通過柱面號、磁頭號及扇區號(CHS)的物理扇區定位方式。

      DRWAP結構如下:

        Struct DRWAP

      {  BYTE  PacketSize;//數據包所占字節數,有10H和18H兩種,本文用前者

         BYTE  Reserved;//保留字節,設為00H

      WORD Blockcount;//傳輸的數據塊個數(最大值為7FH),以扇區為單位

      DORD TransferBuffer;//傳輸緩沖區地址(SEG:OFFSET)

      QORD AbsoluteBlockNumber;//磁盤起始絕對扇區號(主引導扇區為0號)

      }

      AbsoluteBlockNumber與傳統CHS的關系如下:

      AbsoluteBlockNumber=(Cylinder*NumHeads+Head)*SectorPerTrack+Sector-1

      DRWAP數據包的獲取及實際操作

      2、 定義磁盤讀寫地址數據包獲取指定扇區之內容

      入口參數:AH=42H; DL=80H; DS:SI=DRWAP首地址

        出口參數:CF=NC OK;CF=CY ERROR

       

      二、分區信息鏈表解析

      讀取主引導扇區操作過程:(為操作的連續性,本文不采用傳統INT13H的功能號02)磁盤讀寫地址數據包按如下方式定義:

      進入DEBUG狀態之后,DS和SI采用當前默認值,假設為DS=1216,SI=0000    則E命令或F命令從1216:0000處輸入以下16個字節內容

      1216:0000 10  00  01  00  00  02  16  12-00  00  00  00  00  00  00

        00

       數據包長度=10H=16個字節      保留字節=00H     要傳輸的扇區個數=0001H=1個

       緩沖區地址DS:SI=1216:0200     磁盤起始絕對扇區號=0000000000000000H=0號

      -A100

      1216:0100 MOV AH,42

               MOV DL,80

               INT  13

               INT  3

      -G=100

      -D3BE

                                                                            80  01

       1216:03B0  01  00  0B  FE  BF  D9

        3F  00-00  00  1B  F2  B2  00  00  00

      :03C0  81  DA  0F  FE  FF  FF  5A  F2-B2  00  3E  DE  E0  02  00  00

      從上述內容可知:

      C區的起始點為0柱1頭1扇,即磁盤起始絕對扇區0號;

      C區的結束點為729柱254頭63扇,并隱含了63個扇區;

      C區共占用了00B2F21BH個扇區約為5.58GB。

      整個擴展分區的起點為730柱0頭1扇,其結束點由于柱面號已大大的大于1024,而10位二進制數已不能表達,所以其結束點一律記為254頭1023柱63扇,即 FE FF FF.

      整個擴展分區本身占用02E0DE3EH扇區,5A F2 B2 00 為擴展分區前所用扇區數,即C區所用和隱含部分00B2F21BH+0000003FH=00B2F25AH

       

      讀取邏輯D盤分區信息表:

      從前面可知D盤之前已用00B2F25AH,由于起始絕對扇區號為零,因此D盤的入口地址為:00B2F25AH,所以磁盤讀寫地址數據包修改如下:

      DS:0000  10 00 01 00 00 02 16 12 -5A F2 B2 00 00 00 00 00

      -G=100

      -D3BE

      ds:3B0                                        00 01

        :3C0  81 DA 0B FE FF FF 3F 00-00 00 1B F2 B2 00 00 00

        :3D0  C1 FF 05 FE FF FF 5A F2-B2 00 54 DA D0 00

      邏輯D盤的起點為730柱1頭1扇,0頭所含63扇隱含;

      邏輯D盤的結束點由于柱面數超過1024,一律記為FE FF FF此后的邏輯盤結束點也一樣。

      邏輯D盤自用00B2F21BH扇

      后一分區表項記錄的是邏輯E盤的相關數據:

      邏輯E盤的起點由于柱面數超過1024,一律記為00 C1 FF,結束點為FE FF FF.

      邏輯E盤之前已用的擴展分區扇數00B2F21BH+0000003FH=00B2F25AH即D盤所用和D盤前隱含的部份 5A F2 B2 00

      邏輯E盤所占扇區數(包含自身及隱含的0頭上的63扇)

       

      對于后繼的各分區結點信息分析,可參照執行完全類似。唯一需要注意的是,后繼結點分區信息表的入口地址,是其前繼結點的入口地址加上前繼結點的長度(包括隱含的3FH)。

      三、 分區信息鏈表中任一結點分區信息的恢復

      實際上對大容量硬盤分區信息的恢復有以下幾條規則:

      1、 任何一分區所占用的扇區數,在其所對應的邏輯零扇區的偏移地址20H都有備份;

      2、 活動分區的起始點為0柱1頭1扇區即01 01 00,結束點可由上述備份反推求出柱面號,磁頭號為FEH,扇區號為3FH,然后將柱面號和扇區號合并成兩個字節,若備份容量大于傳統容量限制則為FE FF FF;

      3、 每一結點分區信息中前一分區表項中的隱含扇區數為003FH,后一分區表項中的隱含扇區數分為兩種情況:在擴展分區中該部分內容為活動分區大小加上隱含的63個扇區;在邏輯分區中該部分內容為前一結點信息中后一表項的兩個數據項之和;

      4、 每一結點邏輯分區信息后一分區表項的最后四個字節內容為下一結點前一分區表項的隱含扇區數與該分區所占扇區數之和;

      5、 倒數第二個結點分區信息中的后一表項的兩個數據項之和等于擴展分區所占用的總扇區數;

      6、 主分區信息表中分區類型標志分別為0BH和 0FH,在后續邏輯分區信息表中分別為0BH和05H;(本文針對FAT32位分區方式,其它分區方式可相應改動)

      7、 任一結點邏輯分區信息所對應的邏輯零扇區的入口地址等于該邏輯分區入口地址加上該分區所隱含的扇區數,即3FH。

      掌握以上幾條原則,即便整個分區信息鏈表全部破壞或丟失,都能從相關的邏輯零扇完全修復。

      主分區信息的恢復過程操作概要:

        第一步:活動標志和起始點是固定的 80 01 01 00 分區類型0BH,隱含扇區數是固定的3F 00 00 00,自用扇區總數從邏輯零扇區偏移20H處提取四個字節1B F2 B2 00。

      利用公式   扇區總數=(柱面號*磁頭數+磁頭號)*每磁道扇區數

      扇區總數=00B2F21BH、磁頭數=FFH、磁頭號=FEH、每磁道扇區數=3FH,可推算柱面號,就可得到活動分區的結束點內容。

        第二步:擴展分區的活動標志為00,起始點為下一個柱面號的0頭1扇即00 81 DA,分區類型為0FH,隱含部分=前一表項所占用扇區數與其前的隱含扇區之和,結束點由于已超過8.4G一律填為FE FF FF,擴展分區所占用的總的扇區數,可通過上述原則中的第5條計算出來。

       

       

                              地址:江西省宜春市宜春學院工學院計算機科學系

          

      ;                    郵編:336000       電話:0795-3561890

                              emile:liubangling@sohu.com


      【用擴展INT13H研析并恢復大容量硬盤分區信息鏈表】相關文章:

      C8051F的超大容量Flash存儲器擴展08-06

      研析經濟憲法學08-18

      256×32大容量中文矩陣系統的設計08-06

      擴展語句08-16

      用“語句擴展訓練”培養學生寫作能力08-15

      基于IDE硬盤的大容量語音記錄儀08-06

      擴展培訓心得10-01

      語文 -擴展語句08-16

      教學方式的擴展08-17

      主站蜘蛛池模板: 国产AV巨作丝袜秘书| 国产综合一区二区三区麻豆| 亚洲av永久无码精品水牛影视| 亚洲精品麻豆一二三区| 中日韩中文字幕一区二区| 香蕉久久久久久久AV网站| 亚洲一区二区美女av| 日韩中文字幕有码av| 国产精品免费AⅤ片在线观看| 亚洲国产综合精品2020| 亚洲 一区二区 在线| 亚洲欧美人成网站在线观看看| 亚洲熟女乱色一区二区三区| 亚洲综合国产成人丁香五| 日韩精品一区二区都可以| 久章草在线毛片视频播放| 色窝窝免费一区二区三区| 一区二区三区一级黄色片| 国产美熟女乱又伦AV果冻传媒| 中文无码热在线视频| 国产精品一区二区三区自拍| 华人在线亚洲欧美精品| 手机无码人妻一区二区三区免费 | 欧美成人精品三级在线观看| 成人无号精品一区二区三区| 亚洲国产欧美在线看片一国产 | 99久久机热/这里只有精品| 一区二区三区四区黄色片| 中文字幕有码无码AV| 亚洲乱码精品久久久久..| 亚洲狼人久久伊人久久伊| 国产精品中文字幕在线| 欧美人与zoxxxx另类| 成人国产一区二区三区精品| 26uuu另类亚洲欧美日本| 欧美性猛交xxxx免费看| 国产精品乱人伦一区二区| 99国精品午夜福利视频不卡99| 国产成人综合在线观看不卡| 蜜臀久久精品亚洲一区| 国产福利微视频一区二区|