用fdisk重建dos硬盘主引导记录(2)
2017-09-15 06:48
导读: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,off
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)。
(转载自科教范文网http://fw.nseac.com)
(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文件分盘时,是按磁道数分盘的,用户可按照下面的公式来计算多个分区的磁道数。
分区所占磁道数=总磁道数