硬碟分割槽表詳解(轉)
硬碟分割槽表詳解(轉)[@more@]2000年12月13日 16:26硬碟主引導扇區 = 硬碟主開機記錄(MBR)+ 硬碟分割槽表(DPT)--------------------------------------------------------------物理位置:0面0道1扇區(clindyer 0, side 0, sector 1)大小: 512位元組其中:MBR 446位元組(0000--01BD),DPT 64位元組(01BE--01FD),結束標誌2位元組(55 AA)功能:MBR透過檢查DPT分割槽資訊引導系統跳轉至DBR;讀取: 使用NORTON DISKEDIT, 在OBJECT選單中選擇DRIVE——>PHYSICAL DISK-—HARD DISK,然後, 在OBJECT選單中選擇DISK PARTITION TABLE即可讀取, 並使用TOOLS選單中的WRITE OBJECT TO 選項存入指定檔案備份;寫入: 使用NORTON DISKEDIT, 在OBJECT選單中選擇DRIVE——>FLOOPY DISK, 選擇備份的DPT檔案, 然後使用TOOLS選單中的WRITE OBJECT TO——>PHYSICAL SECTOR 選項寫入001(clindyer 0, side 0, sector 1);詳解:000H--08AH MBR啟動程式(尋找開機分割槽)08BH--0D9H MBR啟動字串0DAH--1BCH 保留("0")1BEH--1FDH 硬碟分割槽表1FEH--1FFH 結束標誌(55AA)活動分割槽主引導扇區(DBR)--------------------------物理位置:1面0道1扇區(clindyer 0, side 1, sector 1)大小: FAT16 1扇區 512位元組FAT32 3扇區 1536位元組功能:包含機器CMOS等資訊(0000--0059), 核對該資訊並引導指定的系統檔案, 如NTLDR等;讀取: 使用NORTON DISKEDIT, 在OBJECT選單中選擇DRIVE——>LOGICAL DISK-—DISK C,然後, 在OBJECT選單中選擇BOOT RECORD即可讀取, 並使用TOOLS選單中的WRITE OBJECT TO 選項存入指定檔案備份;寫入: 使用NORTON DISKEDIT, 在OBJECT選單中選擇DRIVE——>FLOOPY DISK, 選擇備份的DBR檔案, 然後使用TOOLS選單中的WRITE OBJECT TO——>PHYSICAL SECTOR 選項寫入011(clindyer 0, side 1, sector 1);詳解:000H--002H 3 BYTE的跳轉指令(去啟動程式, 跳到03EH)003H--03DH BIOS引數區03EH--19DH DOS啟動程式19EH--1E5H 開機字串1E6H--1FDH 檔名(IO.SYS, MSDOS.SYS)1FEH--1FFH 結束標記(55AA)硬碟分割槽表(DPT)---------------------偏移地址 位元組數 含義分析01BE 1 分割槽型別:00表示非活動分割槽:80表示活動分割槽;其他為無效分割槽。01BF~01C1 3 *分割槽的起始地址(面/扇區/磁軌),通常第一分割槽的起始地址開始於1面0道1扇區,因此這三個位元組應為01010001C2 1 #分割槽的作業系統的型別。01C3~01C5 3 *該分割槽的結束地址(面/扇/道)01C6~01C9 4 該分割槽起始邏輯扇區01CA~01CD 4 該分割槽佔用的總扇區數註釋: * 注意分割槽的起始地址(面/扇區/磁軌)和結束地址(面/扇/道)中位元組分配:00000000 01000001 00010101~~~~~~~~ ==^^^^^^ ========~ 面(磁頭) 8 位^ 扇區 6 位= 磁軌 10 位# 分割槽的作業系統型別(檔案格式標誌碼)4---DOS FAT16<32M5---EXTEND6---DOS FAT16>32M7---NTFS(OS/2)83---LINUX>64MDPT 總共64位元組(01BE--01FD), 如上所示每個分割槽佔16個位元組, 所以可以表示四個分割槽, 這也就是為什麼一個磁碟的主分割槽和擴充套件分割槽之和總共只能有四個的原因.邏輯驅動器-----------擴充套件分割槽的資訊位於以上所示的硬碟分割槽表(DPT)中, 而邏輯驅動器的資訊則位於擴充套件分割槽的起始扇區, 即該分割槽的起始地址(面/扇區/磁軌)所對應的扇區, 該扇區中的資訊與硬碟主引導扇區的區別是不包含MBR, 而16位元組的分割槽資訊則表示的是邏輯驅動器的起始和結束地址等.所以, 在磁碟僅含有一個主分割槽, 一個擴充套件分割槽(包含多個邏輯驅動器)的情況下, 即使由於病毒或其他原因導致硬碟主引導扇區的資料丟失(包括DPT), 也可以透過邏輯驅動器的資料來恢復整個硬碟.例如: 以下是一個硬碟的分割槽情況.道 面 扇 道 面 扇 起始扇(邏輯) 結束扇 總共扇區MBR 0 0 1 - - - - - -C 0 1 1 276 239 63 63 4,188,239 4,188,177擴 277 0 1 554 239 63 4,188,240 8,391,599 4,203,360D 277 1 1 554 239 63 4,188,303 8,391,599 4,203,297如果主分割槽表損壞, 則可以透過手工查詢擴充套件分割槽表中所包含的邏輯驅動器資料, 在本例中就是D盤所對應的資料, 然後將其起始扇(邏輯)減去63就是所對應的擴充套件分割槽的起始扇(邏輯), 將其起始地址(面/扇區/磁軌)改為0面就是擴充套件分割槽的起始地址. 然後透過擴充套件分割槽就可以得到主分割槽C的資訊, 然後就可以使用FDISK/MBR命令和手工填寫分割槽表恢復整個硬碟.實際使用這種方法比較麻煩, 如果知道每個分割槽的大小, 則可以透過使用PQ MAGIC 5 將磁碟重新分割槽為原來大小(注意: 千萬不能應用, 我們只是透過它來獲得資料), 並檢視INFO來獲得以上資料, 記錄以後取消該分割槽操作, 然後使用NORTON DISK2000手工修改DPT表, 恢復整個硬碟.該例所對應的分割槽表資料:80 0101 00 06 EF 7F 14 3F 00 00 00 11 E8 3F 00 00 0041 15 05 EF BF 2A 50 E8 3F 00 60 23 40 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA擴充套件分割槽表資料:00 0141 15 07 EF BF 2A 8F E8 3F 00 21 23 40 00注意: 邏輯起始扇區和總共分割槽數是左邊為低位, 如該例的擴充套件分割槽的起始地址為50 E8 3F 00轉換十進位制時要先變為00 3F E8 50, 總共佔用分割槽數60 23 40 00要先變為00 40 23 60, 同理當手工填寫該值時也要進行高低位轉換.李家芳 2K.7.22 哈爾濱------------------------------------------------------------------原有資訊:序 號:17942標 題:再貼!硬碟分割槽結構介紹(修復必讀) (3千字)發信人:crack007時 間:2001-5-6 12:01:22閱讀次數:15詳細資訊:硬碟分割槽結構介紹(修復必讀)作者: RobertYore--------------------------------------------------------------------------------硬碟分割槽的主要結構說明: (Cylinder柱面/磁軌-Side磁頭-Sector扇區地址以下簡稱為?-?-?) 《主分割槽》 名稱 地址 長度(扇區)-----------------------------------------------------------主開機記錄(Main Boot Record): 0-0-1 1 系統扇區(System Secotrs): 0-0-2,0-0-63 62 引導扇區(Boot): 0-1-1 1 FAT16系統中,此扇區包含BPB(BIOS Parameter Block)表,描述邏輯盤結構組成,包含 隱藏扇區數目(從0-1-1開始計算)、FAT扇區數、FAT複製數、硬碟磁頭總數、根目錄表項 最大值等。 FAT32系統中,BPB表的偏移與FAT16不同,但表項基本相同。整個隱藏扇區部分都作為邏輯 盤的描述區域。 隱藏扇區(Hidden Secotrs): FAT16 0-1-1 1 FAT32 0-1-1 32 檔案分配表(File Allocation Table): FAT16 0-1-2 根據邏輯盤容量變化 FAT32 0-1-33 根據邏輯盤容量變化 說明: FAT16的每個表項由2位元組(16位)組成,通常每個表項指向的簇包含64個扇區,即32K位元組。 邏輯盤容量最大為2047MB。 FAT32的每個表項由4位元組(32位)組成,通常每個表項指向的簇包含8個扇區,即4K位元組。 邏輯盤容量最小為2048MB。 對於C分割槽,在MBR的偏移01c2H處,FAT16為06H,FAT32為0CH。 *** 有關計算公式為: 每個扇區長度=512位元組 總簇數=邏輯盤容量/簇容量 總簇數=FAT表長度(位元組)/每個表項長度(位元組)-2 FAT表長度=邏輯盤容量/簇容量*每個表項長度 FAT表的開始由介質描述符+一串“已佔用”標誌組成: FAT16硬碟----F8 FF FF 7F FAT32硬碟----F8 FF FF 0F FF FF FF 0F 每個有效的FAT結構區包含兩個完全相同的複製:FAT1、FAT2 檔案目錄表(File Directory Table),即根目錄區,又稱為ROOT區: 緊跟在FAT2的下一個扇區,長度為32個扇區(256個表項)。如果支援長檔名,則每個表項 為64個位元組,其中,前32個位元組為長檔案連結說明;後32個位元組為檔案屬性說明,包括檔案長 度、起始地址、日期、時間等。如不支援長檔名,則每個表項為32個位元組的屬性說明。 資料區(Data Area): 緊跟在FDT的下一個扇區,直到邏輯盤的結束地址。 《擴充套件分割槽》 名稱 地址 長度(扇區)-----------------------------------------------------------擴充套件分割槽(Extend Partition): ?-y-1 1 系統扇區(System Secotrs): ?-y-2,?-y-63 62 引導扇區(Boot): ?-(y+1)-1 1 其後各項與主分割槽相同…… 擴充套件邏輯盤尋找說明: 1 在主分割槽的分割槽表中,尋找擴充套件分割槽的實體地址(道-頭-扇) 2 在擴充套件分割槽地址所指扇區尾部,查詢擴充套件分割槽表(擴充套件卷),結構與主分割槽表相同 3 擴充套件分割槽表的實體地址中,將磁頭數加1,其餘不變,則為第一個邏輯驅動器(如D盤)的BOOT扇 區實體地址 4 根據擴充套件驅動器的系統分類(FAT16/FAT32,以2048MB為界限),檢視FAT表與ROOT區 5 如果還有E、F……等盤,則繼續尋找符合要求的BOOT扇區,BOOT扇區規定在每個磁頭的1號扇區 附錄:分割槽表項結構說明 分割槽表自MBR扇區偏移01BEH開始,共4個分割槽,每個分割槽16位元組; 第一個分割槽的結構如下: 偏移 值 說明 01BE 80 ;啟動標誌 01BF 01 ;分割槽開始的磁頭號 01C0 01 ;分割槽開始的扇區號,低6位;柱面號,高2位 01C1 00 ;分割槽開始的柱面號,低8位 01C2 ?? ;分割槽型別,06=FAT16的C,0C=FAT32的C,05=擴充套件分割槽 01C3 ?? ;分割槽結束的磁頭號 01C4 ?? ;分割槽結束的扇區號,低6位;柱面號,高2位 01C5 ?? ;分割槽結束的柱面號,低8位 01C6-01C9 ?? ;相關扇區數,通常為63 01CA-01CD ?? ;分割槽的總扇區數 分割槽表結束標誌: 01FE 55 01FF AA 關於MS-DOS 6.xx以上版本的兩個明顯BUG的說明: 1 FDISK.EXE 在FDISK建立分割槽時,將對每個磁頭的1號、7號扇區進行覆蓋,填入512位元組的F6;覆蓋 區域範圍從BOOT區開始,結束地址不詳。 2 啟動過程 在MS-DOS啟動過程中(包括WINDOWS 9X啟動的MS-DOS 7.XX),將搜尋每個邏輯驅動器, 如果在擴充套件分割槽表中的某個邏輯盤的分割槽型別標誌被病毒或其他因素(如王江民的KV???的 某個版本,為“懲罰”盜版……)改寫為05H後,又將該分割槽指標指向硬碟頭部的主開機記錄, 那麼……呵呵,你再看看你的硬碟還能啟動嗎?用軟盤(MS-DOS 5.0以上版本)還能啟動嗎? ……要嘛改個位元組,要嘛就用DOS 3.31(還找得到嗎?)來啟動…… 注意,上述分割槽表中的實體地址資料較為陳舊,哪位朋友有LBA硬碟BIOS的新資料,請不吝賜教
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-946260/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PG的非分割槽表線上轉分割槽表
- 非分割槽錶轉換成分割槽表
- linux硬碟分割槽Linux硬碟
- 電腦硬碟分割槽表損壞怎麼修復?電腦硬碟分割槽表損壞的修復方法硬碟
- win10系統硬碟分割槽怎麼分 win10硬碟分割槽教程圖解Win10硬碟圖解
- oracle分割槽表和分割槽表exchangeOracle
- SSD固態硬碟要分割槽嗎?SSD固態硬碟分割槽與不分割槽的效能對比硬碟
- 非分割槽錶轉換成分割槽表以及注意事項
- Oracle 12.2之後ALTER TABLE .. MODIFY轉換非分割槽表為分割槽表Oracle
- linux之硬碟分割槽管理Linux硬碟
- DiskGenius分割槽行動硬碟硬碟
- oracle分割槽表和非分割槽表exchangeOracle
- ghost win10如何分割槽硬碟_ghost win10怎麼分割槽硬碟Win10硬碟
- Hive動態分割槽詳解Hive
- win10系統硬碟如何分割槽_win10主硬碟怎麼分割槽Win10硬碟
- 電腦硬碟分割槽要注意什麼,刪除硬碟分割槽的注意事項硬碟
- MySQL線上轉分割槽表(以及TiDB)MySqlTiDB
- PostgreSQL/LightDB 分割槽表之分割槽裁剪SQL
- SSD固態硬碟要分割槽嗎?不同容量SSD固態硬碟分割槽方案建議硬碟
- win10硬碟分割槽怎麼分_win10系統如何對硬碟分割槽Win10硬碟
- 3tb硬碟怎麼分割槽_利用DiskGenius給3tb硬碟分割槽的方法硬碟
- win10新增硬碟分割槽怎麼操作 win10硬碟如何增加新分割槽Win10硬碟
- windows11怎麼分割槽硬碟 win11硬碟分割槽大小方法介紹Windows硬碟
- 2萬字詳解Oracle分割槽表技術,太頂了Oracle
- 【MYSQL】 分割槽表MySql
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- Oracle分割槽表基礎運維-07增加分割槽(3列表分割槽)Oracle運維
- SQL Server表分割槽刪除詳情DSCCSQLServer
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- 移動分割槽表和分割槽索引的表空間索引
- Linux硬碟分割槽生效命令partprobeLinux硬碟
- 硬碟空間的管理和分割槽硬碟
- Liunx新增新硬碟和分割槽方法硬碟
- 9.2 Linux硬碟分割槽和掛載Linux硬碟
- Oracle 12C新特性-線上把非分割槽錶轉為分割槽表Oracle
- 【INDEX】Oracle分割槽索引技術詳解IndexOracle索引
- Oracle分割槽表基礎運維-04列表分割槽Oracle運維
- SSD固態硬碟是分割槽好還是不分割槽好?SSD固態硬碟使用注意事項硬碟
- win10硬碟分割槽工具哪個好_win10電腦什麼硬碟分割槽工具最好Win10硬碟