0

我有一个关于dos和win7启动过程的问题。

是否有可能在win7启动之前dos启动并执行一些dos-app而不重新启动?我的意思是像win95或win3.1这样的启动过程。

我会更详细地解释。

  1. DOS引导->
  2. 执行一些dos应用程序->
  3. 清理内存->
  4. 加载win7卷启动记录到内存7c00->
  5. win7开机不重启

这可能吗?

4

1 回答 1

2

您描述的场景基本上是热重启,中断 0x19 的行为几乎就是这样,除了它总是加载主引导记录(带有分区表)。Win3.1 或 Win95 是作为正常的可执行文件从 DOS 启动的,而不是从它们的引导记录启动的。Win7 在启动过程中没有任何 DOS 阶段。

但是,我认为这是可能的,但并不容易。这些是几个选项:

  1. 最简单的解决方案是,如果您能找到合适的启动管理器软件来为您执行此操作。看看GRUBGRUB4DOS以及这个问题。

  2. 如果足够(您要运行的 DOS 程序并不严格要求 16 位 DOS 环境),我不确定,但也许您可以调整 Win7boot.ini以使用命令行以安全模式启动,然后从那里启动它重启。

  3. 在最坏的情况下,您必须手动编写一个小型 DOS 程序,将 Win7 引导扇区读取到地址 0000:7C00 并执行它。为此,您现在必须准确定位 Win7 引导扇区在磁盘中的位置。请注意,在支持它的硬件上,Win7 将更喜欢 EFI 启动方法,而不是旧的基于 MBR 的启动方法。您必须检查您的 Win7 安装使用的方法。可能还有其他困难,例如如何选择活动分区或DOS分区必须驻留在磁盘的开头等等。

于 2012-01-17T09:42:36.793 回答