您当前的位置:首页>>编程相关>>正文
 
自己编程实现多引导
作者: 来源: 日期:2007-5-17 11:18:00  点击次数:

 jmp ok
number4:
 db 0a0h,0f2h,11h     ;mov al,[11f2h]
 cmp al,00h
 je  error1
 cmp al,05h
 je  error1
 cmp al,0fh
 je  error1
 mov ah,80h
 db 88h,26h,0eeh,11h  ;mov [11eeh],ah
 mov ah,00h
 db 88h,26h,0ceh,11h  ;mov [11ceh],ah
 db 88h,26h,0deh,11h  ;mov [11deh],ah
 db 88h,26h,0beh,11h  ;mov [11beh],ah
 jmp ok
ok:
 mov   ax,0301h
 mov   cx,0001h
 mov   dx,0080h
 mov   bx,1000h
 int   13h           ; 将改变了引导标示的分区表,写回0 0 1扇  
MOVCX,040h                            
MOVDI,7dbeh                            
MOVSI,11beh                            
REPNZ  MOVSW                                
 MOV ax,0301h                            
 MOV cx,0006h       ;将改变了引导标示的分区表,写回0 0 6扇                    
 MOV dx,0080h                            
 MOV bX,07C00h                          
 int 013h
 MOV   bx,7c00h     ;交执行权给0000:7C00处
 JMP bx   ;长跳转至原MBR代码处执行 CODE ENDS
   END START
代码到此就讲完了,程序本身不复杂,只要你了解了实现原理,在实现时才会得心应手,好了,赶快把我们的源代码编译链接一下,把模块二得到的程序取名为SYSGUIDE.EXE,从模块一所得的程序中提取出我们要的程序取名叫SYSGUIDE.DAT,提取方法如下:
1、在DOS方式下,输入“DEBUG GUIDE.EXE”,其中GUIDE.EXE是我们用模块一得到的程序文件(在此强烈警告千万不要运行这个GUIDE.EXE程序),
2、在DEBUG提示符下输入:R CX(回车) 1BD(回车) N(回车) SYSGUIDE.DAT(回车)  W(回车)Q(回车)。这样你就会发现在你当前的目录中就有了一个名为SYSGUIDE.DAT的文件,着就是我们将用来写入硬盘第一扇区的扇区程序文件了,赶快把它和SYSGUIDE.EXE文件拷贝到一个文件夹下吧。
好了,我们要的程序已经得到了,就让我们来用用看,在我们最后安装的WIN98中执行吧,当看到以下提示时,键入数字键“1”。
'Please choose the number (1)Install the SYSGUIDE                
(2) Delete the SYSGUIDE
然后重新启动,怎么样,是不是看到了引导选择提示?不过界面是不太好看了^_^,但是没什么,毕竟这是我们自己写的多引导程序哦!好了,我们选择“1”试试,是不是进了我们先前安装的WINXP?然后重新启动,再选择“2”试试,是不是进了我们后来安装的WIN98了!
对了我们好象还有一个BOOTMAGIC的功能没有实现哦,就是程序自动识别操作系统的功能,我想这个功能就留到我们读者自己去扩充吧!我在这大致的说明一下原理,又回到我们的表3,看到其中偏移04的那个字节么?其实BOOTMAGIC就是利用了这个原理来实现智能化的识别操作系统的,那具体要怎么做呢?我不说,自己去想^_^。

本新闻共7页,当前在第6页  1  2  3  4  5  6  7  


上一篇:比较详细的MBR的分析
下一篇:没有了

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  昆 明 部: 15987117834
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行山东分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
中关村部:北京市海淀区中关村大街11号E世界A座8层832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室