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

     INT 13H
     JMP EXIT
OPERERROR:
    MOV AH,09H
    MOV DX,OFFSET D4
    INT 21H
EXIT:
    MOV AH,4Ch
    INT 21h
CODE ENDS
   END START
模块一被写入到硬盘的第一个扇区中,在系统引导之前获得执行权,从而实现多引导。因为这是个扇区程序,有别于一般的程序文件,其格式类似于COM文件,在此我是采用DEBUG程序,从EXE文件中提取的方法来实现的,源程序如下:
;多引导程序(SYSGUIDE.DAT),需要从以下源程序(模块一)产生的程序文件中提取
CODE SEGMENT
   ASSUME CS:CODE,DS:CODE,ES:CODE ;这一段是将整个硬盘锁从0000:7c00移至0000:0600,以免被后来读入的代码覆盖
START:
db    256 dup (00h)
PUSHDS                                
PUSHES                                
MOVCX,0100h                            
MOVDI,0600h                            
MOVAX,0000h                            
MOVDS,AX                              
MOVES,AX                              
MOVSI,7C00h                            
REPNZ  MOVSW                                  
mov   ax,0686h
JMPax  ;长跳转至移动后的代码,也就是从screen处开始执行  
words  db 'Please choose the partition for guide.'
     db 10 dup (20h)
     db '(1)partition 1;(2)partition 2;(3)partition 3;(4)partition 4;',00h
screen:
     MOVAX,0600h                            
     MOVBH,0F0h                              
     MOVCX,0000h                            
     MOVDX,184Fh                            
     INT10h        ;初始化屏幕(前景为黑色,背景为灰白,字符闪烁)                        
     MOVDL,1Ah                              
     MOVSI,0619h     ;从0619H处显示字符(因为程序将被读入了0000:0600处,
                      ;实际显示的也就是现在的words处开始的字符串)        

本新闻共7页,当前在第4页  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室