| 自己编程实现多引导 |
 |
作者: 来源: 日期: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就是利用了这个原理来实现智能化的识别操作系统的,那具体要怎么做呢?我不说,自己去想^_^。 上一篇:比较详细的MBR的分析 下一篇:没有了 |
|
|
 |
| 北京总部: 4006-505-808 |
| 上 海 部: 021-58358765 |
| 深 圳 部: 0755-83692929 |
| 浙 江 部: 13666673722 |
| 广 州 部: 020-83821091 |
| 重 庆 部: 023-86870422 |
| 昆 明 部: 15987117834 |
| 哈尔滨部: 13946167430 |
| 其它地区: 4006-505-808 | | | |
|
 |
|