无忧启动论坛

标题: grub4dos map问题 [打印本页]

作者: 2011qf020124    时间: 2011-8-17 10:44
标题: grub4dos map问题
请问grub4dos里实现map的原理是接管INT13吗?

那么这段新加的INT13中断处理程序是放在内存哪里?

grub4dos又是如何保护这段内存的,以使被引导的操作系统(比如DOS)在起来后不会去修改这段内存里的数据?是不是利用了INT15中的某种功能,在内存中挖了个洞,使的被引导的操作系统认为这一段地址没有物理内存而不去使用?

求高手解答
作者: 不点    时间: 2011-8-17 19:13
> 请问grub4dos里实现map的原理是接管INT13吗?



> 那么这段新加的INT13中断处理程序是放在内存哪里?

常规内存的顶端,通常是紧接 EBDA 的下方。

> grub4dos又是如何保护这段内存的,以使被引导的操作系统(比如DOS)在起来后不会去修改这段内存里的数据?是不是利用了INT15中的某种功能,在内存中挖了个洞,使的被引导的操作系统认为这一段地址没有物理内存而不去使用?

和你想的差不多。较早的 grub4dos 的仿真代码只是用 0040:0013 处的“常规内存总量” 来保护(对于 DOS 来说,这足够了)。最近又增加了 int15 保护(目的是满足 Win2003 的要求)。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3