| 
 | 
> 请问grub4dos里实现map的原理是接管INT13吗? 
 
是 
 
> 那么这段新加的INT13中断处理程序是放在内存哪里? 
 
常规内存的顶端,通常是紧接 EBDA 的下方。 
 
> grub4dos又是如何保护这段内存的,以使被引导的操作系统(比如DOS)在起来后不会去修改这段内存里的数据?是不是利用了INT15中的某种功能,在内存中挖了个洞,使的被引导的操作系统认为这一段地址没有物理内存而不去使用? 
 
和你想的差不多。较早的 grub4dos 的仿真代码只是用 0040:0013 处的“常规内存总量” 来保护(对于 DOS 来说,这足够了)。最近又增加了 int15 保护(目的是满足 Win2003 的要求)。 |   
 
 
 
 |