中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于代码存放地址 上一主题 | 下一主题
nhchmg
新手上路





积分 14
发帖 4
注册 2008-11-8
状态 离线
『楼 主』:  关于代码存放地址

请问一代码运行在MBR之前,是通过PXE下载过来的,这段代码是HOOK一个中断,然后就读MBR,把控制权交给MBR,MBR会启动XP,请问这段代码该放在什么地方,才可以保证XP启动了,但仍然不会被覆盖,有点像grubdos
     我曾试过把这段代码放在常规内存,然后用int 12去减少报告内存数,但是在运行NTLDR后,这段代码会失效.

[ Last edited by nhchmg on 2008-11-9 at 07:25 ]

2008-11-9 07:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netwinxp
高级用户





积分 741
发帖 366
注册 2007-7-25
状态 离线
『第 2 楼』:  

在MBR之前运行那只能在BIOS了(比较安全的就是放到网卡上),XP并不使用实模式的BIOS中断,所以挂接BIOS中断对XP不起作用。

2008-11-9 11:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nhchmg
新手上路





积分 14
发帖 4
注册 2008-11-8
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by netwinxp at 2008-11-9 11:17:
在MBR之前运行那只能在BIOS了(比较安全的就是放到网卡上),XP并不使用实模式的BIOS中断,所以挂接BIOS中断对XP不起作用。

我是能过pxe下载过来的,我所说的存放位置是指地址,我现在放的地址是9000:100,但不知道什么原因,会有问题.另外我挂接的是int 13,就是XP也会用的,就是像无盘引导一样

2008-11-9 17:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
crazii
新手上路





积分 16
发帖 8
注册 2008-9-6
状态 离线
『第 4 楼』:  

"我现在放的地址是9000:100" 貌似在1M之内啊.
"然后用int 12去减少报告内存数" int 12h好像只能查询啊.你把int12h替换了?

2008-11-11 14:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netwinxp
高级用户





积分 741
发帖 366
注册 2007-7-25
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by nhchmg at 2008-11-9 17:24:
  我是能过pxe下载过来的,我所说的存放位置是指地址,我现在放的地址是9000:100,但不知道什么原因,会有问题.另外我挂接的是int 13,就是XP也会用的,就是像无盘引导一样

NT内核的windows,仅仅在启动的最前面几个步骤使用INT 13H,进入OSLOADER以后就使用磁盘驱动而不会再去使用实模式的INT 13H了。

2008-11-12 05:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: