标题: 如何在dos下启动winnt?
[打印本页]
作者: dond
时间: 2005-2-25 00:00
标题: 如何在dos下启动winnt?
如题.请各位大虾给点意见
作者: hnlyzhd
时间: 2005-2-25 00:00
用GRUB.EXE来调用 NTLOAD的软盘加载WINNT系统
作者: 不点
时间: 2005-2-25 00:00
我准备增强 grub 的 chainloader 命令,让它可以直接启动 ntldr 文件。大约是在最近就要作出来了,请注意下载
ftp://ftp.linuxeden.com/tinybit/
里面的 grldr, grub.exe 和 grub4lin 这些文件来测试。
现在不要测试,因为还没开始做。一个礼拜之后应当就好了。
作者: hnlyzhd
时间: 2005-2-25 00:00
制做时请测试下面模块能否启动___http://bbs.wuyou.com/cgi-bin/attachment.cgi?forum=33&topic=1387&postno=9&type=.rar&name=Idiopf_1108629898
作者: 不点
时间: 2005-2-25 00:00
那究竟是个啥?是个操作系统呢?还是个引导文件?它的文件结构有说明吗?
作者: hnlyzhd
时间: 2005-2-25 00:00
它是主板BIOS中的一个ISA模块,只有30多K
作者: 不点
时间: 2005-2-25 00:00
这没研究过,不知道该怎么办。
作者: wangsea
时间: 2005-2-25 00:00
以前做过一个,就是用Grub启动软盘镜像方案来执行的。软盘在xp下格,拷入NTldr,boot.ini,Bootfont.bin,Ntdetect.com等文件做的NT启动盘。
作者: shayulei
时间: 2005-2-26 00:00
我也想知道怎么在启动DOS后再启动XP的恢复控制台操作,有时候去修机时要用到里面的命令
作者: wangsea
时间: 2005-2-26 00:00
参考我以前做的软盘镜像:http://wangsea.ys168.com 在disk下的newxp.ima即可。
作者: yuxiaoch
时间: 2005-3-1 00:00
以下是引用shayulei在2005-2-26 16:16:50的发言:
我也想知道怎么在启动DOS后再启动XP的恢复控制台操作,有时候去修机时要用到里面的命令
同意你的说法,我也想知道,还有一个小问题,就是我可以进XP的安全模式,但是进不了系统,不知道是什么问题,还有问一下,XP可不可在DOS里面恢复主册表。
作者: 不点
时间: 2005-3-1 00:00
刚刚做好的,GRUB 的 chainloader 命令可以启动故障恢复控制台了。假定故障恢复控制台所用的引导文件是 8192 字节的某个 bootsect.dat 文件,就可以这样了:
chainloader --load-segment=0xd00 --load-offset=0 --boot-CS=0xd00 --boot-IP=0x256 (hd0,0)/bootsect.dat
rootnoverify (hd0)
boot
还在完善之中,希望将来能够直接启动 CMLDR 文件。
在 ftp://ftp.linuxeden.com/tinybit/ 下载 grldr, grub.exe, grub4lin 来测试。注意 2005 年 3 月 1 日以后的版本才有此功能。
作者: newbin
时间: 2005-3-4 00:00
以下是引用不点在2005-2-25 15:17:20的发言:
我准备增强 grub 的 chainloader 命令,让它可以直接启动 ntldr 文件。大约是在最近就要作出来了,请注意下载
ftp://ftp.linuxeden.com/tinybit/
里面的 grldr, grub.exe 和 grub4lin 这些文件来测试。
现在不要测试,因为还没开始做。一个礼拜之后应当就好了。
大哥,这个功能做好了没有呀,具体怎么用呀,关注中
作者: 不点
时间: 2005-3-5 00:00
NTLDR不容易直接启动,它严重依赖于它所处的分区,也就是说,它是绑定到分区的。NTLDR 在启动时假定它自己是被 NT的引导扇区引导上路的,并且记录了该分区的信息(它要从该分区找 boot.ini 等文件)。从分区之外由 GRUB 来引导它,仍然需要通过 NT的引导扇区,才可以引导它。就是通常的方法:
chainloader (hd0,0)+1
rootnoverify (hd0)
boot
以上假定 (hd0,0)+1 就是 NT 的引导扇区(类似于 DOS boot record, 这是 NT boot record)。
作者: aria
时间: 2005-3-11 00:00
不点兄:我记得你以前说过要研究一下boot.ini中参数的存放位置不知道现在怎么样了?
作者: 不点
时间: 2005-3-12 00:00
aria 兄,这个确实曾经有过打算,但后来没有再进行了。原因有以下几点:
1. Chris 的 findroot 和 preset_menu 补丁已经可以满足需要,因而对于 boot.ini的命令行参数的需要,不再那么迫切了。说实在话,如果没有 Chris 的补丁,我一般会考虑让 GRLDR 识别 boot.ini 的命令行参数的。
2. 要让 GRLDR 识别 boot.ini 的命令行参数,估计没那么容易,或者说相当困难。因为很明显,微软在此处没有公开任何信息,全得靠HACK。既然是 HACK,那么就有成功和失败两种可能。在把握不是很大的时候,我是不会轻易就去 HACK的。因为花了时间和精力,而得到一个失败的结果,这是任何编程者都不愿意看到的。有这些精力和时间,蛮可以干别的、更多有益的事情呢。
3. 即便 HACK成功,这也不一定具有普遍性,也可能在我的机器上找到了命令行参数,而在别人的机器上找不到,因为这里没有规范可以遵循。尤其是,当微软的 NTLDR升级的时候,这些 HACK 可能全部都失效了,又得重新 HACK,人家总是在前面跑,而我们总是在后面苦苦跟踪,这太辛苦,不值得去做。
4. 命令行参数只对 boot.ini 有效。我们的 GRLDR 还有一个重要的方面,那就是要安装到 MBR。一个好不容易 HACK得来的结果,只能对 BOOT.ini 有用,而不能用在我们的重点对象,即在 MBR 上有用,这样,我们的 hack也不是很值得的。也就是说,hack 只对 boot.ini 上的调用有点用处,这完全只对 windows用户有好处,而且好处也不是很大,因而其意义也就不是太大了。
大致主要的原因也就这些吧,谢谢你一直以来的关心,有什么意见、建议,尽管提出来吧。也顺便在此感谢你从前在我开发 GRLDR 的过程中所给予的巨大帮助,没有你的帮助,GRLDR 就不会有今天的结局。
作者: aria
时间: 2005-3-14 00:00
呵呵不用客气啦关于boot.ini参数问题,我也觉得没有研究价值了我看了下Winnt4泄漏的源代码那些参数在内存中的位置可能正如你所说 是不确定的有什么问题或建议我一定会提出的
作者: muxing
时间: 2005-3-19 00:00
现在不是有MAXDOS吗?
作者: muxing
时间: 2005-3-19 00:00
现在不是有MAXDOS吗?