查看: 3286|回复: 0
收起左侧

[技术原创] 关于使用win98启动菜单启动winnt的大胆尝试

[复制链接]
一只野生win31
发表于 2026-2-24 13:51:59 | 显示全部楼层 |阅读模式
本帖最后由 一只野生win31 于 2026-2-24 14:02 编辑

众所周知windows9x系统(或msdos)可以通过ntldr(NT Loader)链式启动,那么windows98的启动器能不能反向链式启动windowsnt呢?

于是我打开了deepseek:
额...
但是我想到了一种非常另类的链式启动方法:
  • 虚拟机分别在3个分区(c:\d:\e:\)安装msdos6.22、windows98、windowsnt4.0(为防止兼容性问题分区文件系统统一选用fat16)(windowsnt4.0建议安装sp6a防止系统出现玄学问题)。
  • 分别使用debug备份windows98、windowsnt4.0、msdos6.22的mbr/pbr为.bin文件确保此后3个系统均可正常启动。
  • 用msdos6.22/windows98的debug组件简单汇编一个用于重启的reboot.com程序便于日后重启系统。
  • 编辑windows98的config.sys创建一个启动菜单,创建两个选项,一个用于正常启动windows98另一个用于启动windowsnt4.0。通过[menu]定义选项,设置环境变量,在autoexec.bat中判断变量执行不同分支。选择启动windowsnt4.0则使用debug写入windowsnt的mbr/pbr并运行。
  • 在windowsnt4.0的boot.ini中加入msdos6.22的选项并命名为Restore the Windows 98 startup menu。
  • 在msdos6.22的autoexec.bat加入使用debug组件写回windows98的mbr/pbr并运行reboot.com重启,以恢复windows98启动菜单。
这个方案再喂给ds:

可行!理论存在,实践开始!


实践部分:
一开始是非常顺利的,通过config.sys实现了启动菜单,也通过boot.ini实现了msdos在ntldr中的启动菜单。

但是,在windowsnt4.0的稳定性...启动时经常“机魂不悦”见到BSOD,说来也怪,再重启一次就行了。可能是对现代硬件适配不好,windows98还有patch9x补丁打,windowsnt4.0我还没找到可以解决的补丁。同时,VMWare对这些系统的兼容性也比较差,所以我使用VirtualBox。
剩下的部分还没做完,欢迎跟帖讨论。

屏幕截图 2026-02-24 135642.png
屏幕截图 2026-02-24 135813.png
屏幕截图 2026-02-24 135940.png
屏幕截图 2026-02-24 140025.png
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-4-6 13:03 , Processed in 0.123828 second(s), 4 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表