不点 发表于 2020-3-24 17:02
备忘一下,map 确实能够跳过一定数目的扇区,再开始映射。请查阅 map 的参数(不过,要查阅源代码才行,公 ...
天涯海角1216 发表于 2020-3-26 07:26
谢谢不点大师亲临指导!
还有个问题,清华同方5.0.7的启动代码,是放在硬盘0扇区及其以后20多个扇区,在 ...
例2:
直接启动 WinNT/2K/XP 的 NTLDR 和 Win9x/ME 的 IO.SYS, 以及FreeDOS 的 KERNEL.SYS.
例如:
chainloader --edx=0xPPYY (hd0,0)/ntldr
boot
chainloader --edx=0xYY (hd0,0)/io.sys
boot
chainloader --ebx=0xYY (hd0,0)/kernel.sys
boot
十六进制的YY 指定了启动驱动器号,十六进制的PP指定了 NTLDR 的启动分区号。如果启动驱动器是软驱,PP应该是一个十六进制的值ff,即十进制的255.
对于 Freedos 的 KERNEL.SYS , 选项--edx不能执行,请使用--ebx 。当文件位于它们平常的位置时,选项 --edx (--ebx)可以省略。但某些情况下,这些选项是必需的。
例如,假设被调用的ntldr文件在ext2分区(hd2,8)中,而你又希望它认为(hd0,7)的 windows 分区是启动分区,那么--edx就是必需的:
chainloader --edx=0x0780 (hd2,8)/ntldr
对于DOS核心(即,IO.SYS和KERNEL.SYS),启动分区号是没有意义的,因此你只需指定恰当的启动驱动器号YY(不过指定了启动分区号也是无害的)。
上面的PPYY也可以在chainloader命令之后通过root和rootnoverify命令来指定。
例如:
chainloader (hd2,6)/kernel.sys
rootnoverify (hd0) <-------- YY=80
boot
chainloader (hd0,0)/ntldr
rootnoverify (hd0,5) <-------- YY=80, PP=05
boot
sunsea 发表于 2020-3-26 08:51
尝试一下这两句?
引用自本区置顶的帮助帖子:
天涯海角1216 发表于 2020-3-26 09:58
谢谢回复!
试了一下,不成功的。
sunsea 发表于 2020-3-26 10:21
BIOS默认的启动行为是只读0扇区,0扇区的代码负责加载后面20多个扇区……估计0扇区代码找不到后面的了… ...
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) | Powered by Discuz! X3.3 |