亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 硬盤結構簡介.txt

?? mcu讀取硬盤的詳細資料包括fat及源碼
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
硬盤結構簡介  
 
 
作者:未知 來源:未知 加入時間:2003-7-12 
 
硬盤結構簡介 
第一部分 簡 介 
1,1 
一. 硬盤結構簡介 

 1. 硬盤參數釋疑 

  到目前為止, 人們常說的硬盤參數還是古老的 CHS(Cylinder/Head/Sector) 
參數. 那么為什么要使用這些參數,它們的意義是什么?它們的取值范圍是什么? 
  很久以前, 硬盤的容量還非常小的時候,人們采用與軟盤類似的結構生產硬 
盤. 也就是硬盤盤片的每一條磁道都具有相同的扇區數.由此產生了所謂的3D參 
數 (Disk Geometry). 既磁頭數(Heads), 柱面數(Cylinders),扇區數(Sectors), 
以及相應的尋址方式. 

  其中: 

  磁頭數(Heads)表示硬盤總共有幾個磁頭,也就是有幾面盤片, 最大 
為 255 (用 8 個二進制位存儲); 
  柱面數(Cylinders) 表示硬盤每一面盤片上有幾條磁道,最大為 1023 
(用 10 個二進制位存儲); 
  扇區數(Sectors) 表示每一條磁道上有幾個扇區, 最大為 63(用 6 
個二進制位存儲). 
  每個扇區一般是 512個字節, 理論上講這不是必須的,但好象沒有取 
別的值的. 

  所以磁盤最大容量為: 

  255 * 1023 * 63 * 512 / 1048576 = 8024 GB ( 1M =1048576 Bytes ) 
或硬盤廠商常用的單位: 
  255 * 1023 * 63 * 512 / 1000000 = 8414 GB ( 1M =1000000 Bytes ) 

  在 CHS 尋址方式中, 磁頭, 柱面, 扇區的取值范圍分別為 0到 Heads - 1, 
0 到 Cylinders - 1, 1 到 Sectors (注意是從 1 開始). 

 2. 基本 Int 13H 調用簡介 

  BIOS Int 13H 調用是 BIOS提供的磁盤基本輸入輸出中斷調用, 它可以 
完成磁盤(包括硬盤和軟盤)的復位, 讀寫, 校驗, 定位, 診斷,格式化等功能. 
它使用的就是 CHS 尋址方式, 因此最大識能訪問 8 GB 左右的硬盤 (本文中 
如不作特殊說明, 均以 1M = 1048576 字節為單位). 

 3. 現代硬盤結構簡介 

  在老式硬盤中, 由于每個磁道的扇區數相等,所以外道的記錄密度要遠低 
于內道, 因此會浪費很多磁盤空間 (與軟盤一樣). 為了解決這一問題,進一 
步提高硬盤容量, 人們改用等密度結構生產硬盤. 也就是說,外圈磁道的扇區 
比內圈磁道多. 采用這種結構后, 硬盤不再具有實際的3D參數,尋址方式也改 
為線性尋址, 即以扇區為單位進行尋址. 
  為了與使用3D尋址的老軟件兼容 (如使用BIOSInt13H接口的軟件), 在硬 
盤控制器內部安裝了一個地址翻譯器,由它負責將老式3D參數翻譯成新的線性 
參數. 這也是為什么現在硬盤的3D參數可以有多種選擇的原因(不同的工作模 
式, 對應不同的3D參數, 如 LBA, LARGE, NORMAL). 

 4. 擴展 Int 13H 簡介 

  雖然現代硬盤都已經采用了線性尋址, 但是由于基本 Int13H 的制約, 使 
用 BIOS Int 13H 接口的程序, 如 DOS 等還只能訪問 8 G以內的硬盤空間. 
為了打破這一限制, Microsoft 等幾家公司制定了擴展 Int 13H 標準 
(Extended Int13H), 采用線性尋址方式存取硬盤, 所以突破了 8 G的限制, 
而且還加入了對可拆卸介質 (如活動硬盤) 的支持. 

二. Boot Sector 結構簡介 

 1. Boot Sector 的組成 

  Boot Sector 也就是硬盤的第一個扇區, 它由 MBR (MasterBoot Record), 
DPT (Disk Partition Table) 和 Boot Record ID 三部分組成. 

  MBR 又稱作主引導記錄占用 Boot Sector 的前 446 個字節( 0 to 0x1BD ), 
存放系統主引導程序 (它負責從活動分區中裝載并運行系統引導程序). 
  DPT 即主分區表占用 64 個字節 (0x1BE to 0x1FD),記錄了磁盤的基本分區 
信息. 主分區表分為四個分區項, 每項 16 字節,分別記錄了每個主分區的信息 
(因此最多可以有四個主分區). 
  Boot Record ID 即引導區標記占用兩個字節 (0x1FE and0x1FF), 對于合法 
引導區, 它等于 0xAA55, 這是判別引導區是否合法的標志. 
  Boot Sector 的具體結構如下圖所示 (參見 NightOwl大俠的文章): 
下面還有喔 (39%) │ 結束 ← <q> │ ↑/↓/PgUp/PgDn 移動│ ? 輔助說明 │ 
   0000 &brvbar;------------------------------------------------&brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;      Master Boot Record        &brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;      主引導記錄(446字節)        &brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;                        &brvbar; 
      &brvbar;                        &brvbar; 
   01BD &brvbar;                        &brvbar; 
   01BE &brvbar;------------------------------------------------&brvbar; 
      &brvbar;                        &brvbar; 
   01CD &brvbar;      分區信息 1(16字節)        &brvbar; 
   01CE &brvbar;------------------------------------------------&brvbar; 
      &brvbar;                        &brvbar; 
   01DD &brvbar;      分區信息 2(16字節)        &brvbar; 
   01DE &brvbar;------------------------------------------------&brvbar; 
      &brvbar;                        &brvbar; 
   01ED &brvbar;      分區信息 3(16字節)        &brvbar; 
   01EE &brvbar;------------------------------------------------&brvbar; 
      &brvbar;                        &brvbar; 
   01FD &brvbar;      分區信息 4(16字節)        &brvbar; 
      &brvbar;------------------------------------------------&brvbar; 
      &brvbar; 01FE        &brvbar;01FF          &brvbar; 
      &brvbar;    55     &brvbar;     AA      &brvbar; 
      &brvbar;------------------------------------------------&brvbar; 

 2. 分區表結構簡介 

  分區表由四個分區項構成, 每一項的結構如下: 

  BYTE State   : 分區狀態, 0 =未激活, 0x80 = 激活 (注意此項) 
  BYTE StartHead : 分區起始磁頭號 
  WORD StartSC  : 分區起始扇區和柱面號,底字節的低6位為扇區號, 
          高2位為柱面號的第 9,10 位, 高字節為柱面號的低 8 位 
  BYTE Type    : 分區類型, 如0x0B = FAT32, 0x83 = Linux 等, 
          00 表示此項未用,07 = NTFS 
  BYTE EndHead  : 分區結束磁頭號 
  WORD EndSC   :分區結束扇區和柱面號, 定義同前 
  DWORD Relative :在線性尋址方式下的分區相對扇區地址 
           (對于基本分區即為絕對地址) 
  DWORD Sectors  : 分區大小 (總扇區數) 

  注意: 在 DOS / Windows 系統下,基本分區必須以柱面為單位劃分 
( Sectors * Heads 個扇區), 如對于 CHS 為 764/255/63 的硬盤,分區的 
最小尺寸為 255 * 63 * 512 / 1048576 = 7.844 MB. 

 3. 擴展分區簡介 

  由于主分區表中只能分四個分區, 無法滿足需求,因此設計了一種擴展 
分區格式. 基本上說, 擴展分區的信息是以鏈表形式存放的,但也有一些特 
別的地方. 
  首先, 主分區表中要有一個基本擴展分區項,所有擴展分區都隸屬于它, 
也就是說其他所有擴展分區的空間都必須包括在這個基本擴展分區中.對于 
DOS / Windows 來說, 擴展分區的類型為 0x05. 
  除基本擴展分區以外的其他所有擴展分區則以鏈表的形式級聯存放, 后 
一個擴展分區的數據項記錄在前一個擴展分區的分區表中,但兩個擴展分區 
的空間并不重疊. 
  擴展分區類似于一個完整的硬盤, 必須進一步分區才能使用.但每個擴 
展分區中只能存在一個其他分區. 此分區在 DOS/Windows環境中即為邏輯盤. 
因此每一個擴展分區的分區表(同樣存儲在擴展分區的第一個扇區中)中最多 
只能有兩個分區數據項(包括下一個擴展分區的數據項). 
  擴展分區和邏輯盤的示意圖如下: 

 &brvbar;-----------------------&brvbar;      -------- 
 &brvbar; 主擴展分區(/dev/hda2) &brvbar;          ^ 
 &brvbar;-----------------------&brvbar;          &brvbar; 
 &brvbar; 擴 展 &brvbar; 分區項1 &brvbar;--\        &brvbar; 
 &brvbar;     &brvbar;------------&brvbar; &brvbar;        &brvbar; 
 &brvbar; 分區表 &brvbar; 分區項 2 &brvbar;--+--\       &brvbar; 
 &brvbar;-----------------------&brvbar; &brvbar; &brvbar;       &brvbar; 
 &brvbar;           &brvbar; &brvbar; &brvbar;       &brvbar; 
 &brvbar; 邏輯盤 1 (/dev/hda5) &brvbar;<-/ &brvbar;       &brvbar; 
 &brvbar;           &brvbar;  &brvbar;       &brvbar; 
 &brvbar;-----------------------&brvbar;  &brvbar;      主 
 &brvbar;   擴展分區 2   &brvbar;<----/ 
 &brvbar;-----------------------&brvbar;         擴 
 &brvbar; 擴 展 &brvbar; 分區項1 &brvbar;-- &brvbar;     &brvbar;------------&brvbar; &brvbar;        展 
 &brvbar; 分區表 &brvbar; 分區項 2 &brvbar;--+-- &brvbar;-----------------------&brvbar; &brvbar; &brvbar;      分 
 &brvbar;           &brvbar; &brvbar; &brvbar; 
 &brvbar; 邏輯盤 2 (/dev/hda6) &brvbar;<-/ &brvbar;      區 
 &brvbar;           &brvbar;  &brvbar;       &brvbar; 
 &brvbar;-----------------------&brvbar;  &brvbar;       &brvbar; 
 &brvbar;   擴展分區 3   &brvbar;<----/       &brvbar; 
 &brvbar;-----------------------&brvbar;          &brvbar; 
 &brvbar; 擴 展 &brvbar; 分區項1 &brvbar;--\        &brvbar; 
 &brvbar;     &brvbar;------------&brvbar; &brvbar;        &brvbar; 
 &brvbar; 分區表 &brvbar; 分區項 2 &brvbar; &brvbar;        &brvbar; 
 &brvbar;-----------------------&brvbar; &brvbar;        &brvbar; 
 &brvbar;           &brvbar; &brvbar;        &brvbar; 
 &brvbar; 邏輯盤 3 (/dev/hda7) &brvbar;<-/        &brvbar; 
 &brvbar;           &brvbar;          &brvbar; 
 &brvbar;-----------------------&brvbar;      --------- 
 &brvbar; 擴 展 &brvbar; 分區項1 &brvbar;-- &brvbar;     &brvbar;------------&brvbar; &brvbar;        展 
 &brvbar; 分區表 &brvbar; 分區項 2 &brvbar;--+-- &brvbar;-----------------------&brvbar; &brvbar; &brvbar;      分 
 &brvbar;           &brvbar; &brvbar; &brvbar; 
 &brvbar; 邏輯盤 2 (/dev/hda6) &brvbar;<-/ &brvbar;      區 
 &brvbar;           &brvbar;  &brvbar;       &brvbar; 
 &brvbar;-----------------------&brvbar;  &brvbar;       &brvbar; 
 &brvbar;   擴展分區 3   &brvbar;<----/       &brvbar; 
 &brvbar;-----------------------&brvbar;          &brvbar; 
 &brvbar; 擴 展 &brvbar; 分區項1 &brvbar;--\        &brvbar; 
 &brvbar;     &brvbar;------------&brvbar; &brvbar;        &brvbar; 
 &brvbar; 分區表 &brvbar; 分區項 2 &brvbar; &brvbar;        &brvbar; 
 &brvbar;-----------------------&brvbar; &brvbar;        &brvbar; 
 &brvbar;           &brvbar; &brvbar;        &brvbar; 
 &brvbar; 邏輯盤 3 (/dev/hda7) &brvbar;<-/        &brvbar; 
 &brvbar;           &brvbar;          &brvbar; 
 &brvbar;-----------------------&brvbar;      --------- 


(未完 待續) 

標 題: HardDisk,Partition,Boot,OSLoader專題(2) 

三. 系統啟動過程簡介 

  系統啟動過程主要由一下幾步組成(以硬盤啟動為例): 

  1. 開機 :-) 
  2. BIOS 加電自檢 ( Power On Self Test -- POST ) 
   內存地址為 0ffff:0000 
  3. 將硬盤第一個扇區 (0頭0道1扇區, 也就是BootSector) 
   讀入內存地址 0000:7c00 處. 
  4. 檢查 (WORD) 0000:7dfe 是否等于 0xaa55,若不等于 
   則轉去嘗試其他啟動介質,如果沒有其他啟動介質則顯示 
   "No ROM BASIC" 然后死機. 
  5. 跳轉到 0000:7c00 處執行 MBR 中的程序. 
  6. MBR 首先將自己復制到 0000:0600 處,然后繼續執行. 
  7. 在主分區表中搜索標志為活動的分區.如果發現沒有活動 
   分區或有不止一個活動分區, 則轉停止. 
  8. 將活動分區的第一個扇區讀入內存地址 0000:7c00處. 
  9. 檢查 (WORD) 0000:7dfe 是否等于 0xaa55,若不等于則 
   顯示 "Missing Operating System" 然后停止,或嘗試 
   軟盤啟動. 
  10. 跳轉到 0000:7c00處繼續執行特定系統的啟動程序. 
  11. 啟動系統 ... 

  以上步驟中 2,3,4,5 步是由 BIOS 的引導程序完成.6,7,8,9,10 
步由MBR中的引導程序完成. 

  一般多系統引導程序 (如 SmartFDISK, BootStar, PQBoot等) 
都是將標準主引導記錄替換成自己的引導程序, 在運行系統啟動程序 
之前讓用戶選擇要啟動的分區. 
  而某些系統自帶的多系統引導程序 (如 lilo, NT Loader等) 
則可以將自己的引導程序放在系統所處分區的第一個扇區中, 在 Linux 
中即為 SuperBlock (其實 SuperBlock 是兩個扇區). 

  注: 以上各步驟中使用的是標準 MBR,其他多系統引導程序的引導 
過程與此不同. 


標 題: Harddisk,Partition,Boot,OSLoader專題(3) 

  第二部分 技術資料 
第一章 擴展 Int13H 技術資料 

一. 簡介 
  設計擴展 Int13H 接口的目的是為了擴展 BIOS 的功能,使其支持 
多于1024柱面的硬盤, 以及可移動介質的瑣定, 解鎖及彈出等功能. 

二. 數據結構 

1. 數據類型約定 
  BYTE  1 字節整型 ( 8 位 ) 
  WORD  2 字節整型 ( 16 位 ) 
  DWORD 4 字節整型 ( 32 位 ) 
  QWORD 8 字節整型 ( 64 位 ) 

2. 磁盤地址數據包 Disk Address Packet (DAP) 
  DAP 是基于絕對扇區地址的, 因此利用 DAP, Int13H可以輕松地逾 
越 1024 柱面的限制, 因為它根本就不需要 CHS 的概念. 
  DAP 的結構如下: 

  struct DiskAddressPacket 
  { 
    BYTE PacketSize;  //數據包尺寸(16字節) 
    BYTE Reserved;   //==0 
    WORD BlockCount;  //要傳輸的數據塊個數(以扇區為單位) 
    DWORD BufferAddr;  //傳輸緩沖地址(segment:offset) 
    QWORD BlockNum;   //磁盤起始絕對塊地址 
  }; 

  PacketSize 保存了 DAP 結構的尺寸,以便將來對其進行擴充. 在 
目前使用的擴展 Int13H 版本中 PacketSize 恒等于 16. 如果它小于 
16, 擴展 Int13H 將返回錯誤碼( AH=01, CF=1 ). 
  BlockCount 對于輸入來說是需要傳輸的數據塊總數,對于輸出來說 
是實際傳輸的數據塊個數. BlockCount = 0 表示不傳輸任何數據塊. 
  BufferAddr 是傳輸數據緩沖區的 32 位地址(段地址:偏移量). 數據 
緩沖區必須位于常規內存以內(1M). 
  BlockNum表示的是從磁盤開始算起的絕對塊地址(以扇區為單位), 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产 日韩 欧美大片| 亚洲乱码国产乱码精品精可以看| 欧美日韩一区二区三区四区| 欧美视频在线观看一区二区| 在线中文字幕不卡| 日韩视频一区二区三区| www亚洲一区| 亚洲综合一二区| 久久福利视频一区二区| 成人丝袜高跟foot| 色综合久久久久综合体桃花网| 欧美综合视频在线观看| 日韩欧美国产精品| 一区二区三区四区国产精品| 日韩精品一二三| 91在线视频在线| 欧美变态口味重另类| 亚洲精品国产无天堂网2021 | 人妖欧美一区二区| 不卡av在线免费观看| 91 com成人网| 亚洲最大的成人av| av在线一区二区| 久久综合av免费| 美脚の诱脚舐め脚责91| 国产精品久久久久久亚洲毛片| 1000精品久久久久久久久| 日韩中文字幕区一区有砖一区| 成人黄色综合网站| 精品国产一区二区在线观看| 亚洲福利一区二区| 欧美在线三级电影| 日韩美女视频一区二区| 成人白浆超碰人人人人| 久久久99久久| 国产jizzjizz一区二区| 久久久精品综合| 国产精品影视网| 欧美在线制服丝袜| 69堂精品视频| 麻豆精品一区二区综合av| 日韩三级免费观看| 久草精品在线观看| 久久精品人人做| 国产乱子轮精品视频| 国产精品午夜免费| 99国产精品久久久| 日本女人一区二区三区| 久久综合色8888| 不卡免费追剧大全电视剧网站| 中文字幕亚洲一区二区av在线| 99久久99久久综合| 欧美本精品男人aⅴ天堂| 日本一道高清亚洲日美韩| 久草精品在线观看| 国产精品免费视频观看| 91在线porny国产在线看| 一区二区三区免费网站| 欧美另类高清zo欧美| 黄色日韩网站视频| 国产午夜精品一区二区三区视频| 成人性生交大合| 久久蜜桃av一区二区天堂| 欧美激情一区二区三区全黄 | 亚洲乱码国产乱码精品精98午夜| 91香蕉视频mp4| 久久综合99re88久久爱| 日本韩国欧美在线| 国产成人av影院| 久久国产尿小便嘘嘘尿| 亚洲最大成人综合| 日韩三级视频在线观看| 欧美吻胸吃奶大尺度电影| 成人性生交大片| 国产一区二区三区四| 亚洲va国产天堂va久久en| 最新中文字幕一区二区三区| 久久久久成人黄色影片| 精品裸体舞一区二区三区| 91精品国产一区二区三区蜜臀| 欧美专区在线观看一区| eeuss鲁片一区二区三区 | 日本欧美肥老太交大片| 亚洲午夜电影在线观看| 亚洲免费在线视频| 国产精品久久久久久久久晋中 | 日韩一区和二区| 欧美三级中文字幕在线观看| 一本久道久久综合中文字幕| 91捆绑美女网站| 91色porny在线视频| 91免费国产在线观看| 日韩高清不卡一区二区| 蜜臀av一区二区在线免费观看 | 中文字幕一区二区三区色视频| 久久综合九色综合97_久久久| 日韩欧美一区二区在线视频| 在线电影国产精品| 91精品国产综合久久精品图片| 欧美日韩国产成人在线91| 欧美日韩一区高清| 91精品久久久久久蜜臀| 精品久久国产老人久久综合| 亚洲精品在线电影| 国产日产精品一区| 中文字幕中文字幕一区二区| ...中文天堂在线一区| 亚洲一二三四区不卡| 亚洲va国产va欧美va观看| 亚洲国产精品综合小说图片区| 亚洲一区二区影院| 午夜激情久久久| 精品一区二区三区免费| 国产精品影视网| 色一情一伦一子一伦一区| 色狠狠色噜噜噜综合网| 欧美高清dvd| 久久视频一区二区| 亚洲少妇30p| 久久精品国产秦先生| 国产成人免费av在线| 高清不卡在线观看av| 欧美三级三级三级爽爽爽| 精品国偷自产国产一区| 国产精品免费网站在线观看| 亚洲国产一区二区视频| 蜜桃视频一区二区三区| 成人性色生活片| 欧美精品在欧美一区二区少妇| 精品国产伦一区二区三区观看方式| 欧美一卡二卡三卡| 国产日韩欧美麻豆| 亚洲成人精品一区二区| 国产精品一区免费视频| 色哟哟日韩精品| 久久久久久亚洲综合| 一级特黄大欧美久久久| 国产一区二区看久久| 99久久99久久久精品齐齐| 久久久久久亚洲综合影院红桃| 亚洲一级二级三级| 国产激情一区二区三区| 欧美日本国产一区| 国产精品国产三级国产aⅴ入口| 舔着乳尖日韩一区| 成人国产精品免费观看视频| 欧美三级视频在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 日韩毛片精品高清免费| 久久99精品久久久久久| 色av综合在线| 国产欧美精品一区| 蜜臀久久99精品久久久久宅男 | 日日夜夜一区二区| 欧美最猛黑人xxxxx猛交| 中文字幕免费不卡| 麻豆中文一区二区| 欧美在线不卡视频| 国产精品美女一区二区三区| 精一区二区三区| 欧美疯狂性受xxxxx喷水图片| 18欧美亚洲精品| 免费在线观看视频一区| 91精品国产综合久久精品| 一级女性全黄久久生活片免费| 成人18视频在线播放| 久久精品视频免费| 高清av一区二区| 久久久久久夜精品精品免费| 美女网站色91| 欧美一级久久久久久久大片| 亚洲成人精品一区| www.日韩av| 一区二区三区视频在线观看| 成人av综合在线| 中文字幕第一页久久| 福利一区在线观看| 国产亚洲欧美色| 国产精品一级二级三级| 国产精品你懂的在线| 成人avav影音| 不卡欧美aaaaa| 欧美日韩大陆在线| 亚洲综合一区二区三区| 成人在线一区二区三区| 久久色在线观看| 成人av在线播放网址| 国产精品家庭影院| www.日本不卡| 玉米视频成人免费看| 欧美无乱码久久久免费午夜一区 | 美女网站一区二区| 日韩欧美黄色影院| 国产麻豆一精品一av一免费| 久久久久久久久久看片| 国产成人免费视频一区| 精品国产伦理网| av在线综合网| 亚洲一区国产视频| 日韩三级在线观看|