也谈用DEBUG保存硬盘主引导扇区
#3 磁道号 磁头号 扇区号 DOS扇区号 备注
0 0 1 N/A MBR
(含分区表)
0 0 2~17 N/A 保留
0 1 1 0 DBR
0 1 2 1 FAT
… … … … ……
始于0道,0头的17个扇区是非DOS扇区(N/A),DOS访问不到,而DOS可访问的第一个扇区是0磁道,1磁头,1扇区,也即DOS的逻辑0扇区。
用DEBUG保存MBR的方法如下:
#2 1.保存MBR扇区:
-a
2209:0100 mov bx,3000
2209:0103 mov es,bx
2209:0105 sub bx,bx ES:BX数据缓冲区地址
2209:0107 mov dx,0080 DH:磁头号,DL:驱动器号
2209:001A mov cx,0001 CH:磁道号,CL:扇区号
2209:010D mov ax,0201 AH:子功能调用(读磁盘)
2209:0110 int 13 AL:扇区数磁道号
2209:0112 int 3
2209:0113
-g=100
-nboot.sav BOOT.SAV为保存文件名
-rcx
:200
-w3000:0
-q
#2 2.恢复MBR扇区:以系统软盘启动(含DEBUG.EXE及BOOT.SAV)
-nboot.sav
-l3000:0
-a
2209:0100 mov bx,3000
......(同前)
2209:010D mov ax,0301 AH=03:写磁盘
......
-g=100
-q