旧的版本根据 0000:05dc - 0000:05fb 这个范围内的值来恢复 BIOS 中断 int70 - int77 的向量。由于这一内存区域看来像一个堆栈,有时候会被覆盖掉,所以,新版的 t12 不再根据这一区域的值来恢复中断向量了。这样,新版就解决了 GRUB.EXE 不可重入的老问题。
t12 采用的方法是探测 0000:01c0 - 0000:01df 这个范围的中断向量所指向的 MS-DOS 的中断服务程序,从中找到原始的 int70 -int77 的 BIOS 中断向量。
VIDE-CDD.SYS 加载之后,可能修改了 0000:01c0 - 0000:01df 这个范围的中断向量,这就使得这种探测失败了。
解决的办法是先用旧的探测方法,失败时再用新的探测方法。
请您用 debug 列出 0000:01c0 - 0000:01df 这个范围的值,我需要看看哪些向量被修改了,哪些向量没有改动。
t12 采用的方法是探测 0000:01c0 - 0000:01df 这个范围的中断向量所指向的 MS-DOS 的中断服务程序,从中找到原始的 int70 -int77 的 BIOS 中断向量。
VIDE-CDD.SYS 加载之后,可能修改了 0000:01c0 - 0000:01df 这个范围的中断向量,这就使得这种探测失败了。
解决的办法是先用旧的探测方法,失败时再用新的探测方法。
请您用 debug 列出 0000:01c0 - 0000:01df 这个范围的值,我需要看看哪些向量被修改了,哪些向量没有改动。
因为我们亲手创建,这个世界更加美丽。

精华I
