中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 如何在WinNT/2K/XP下启动纯DOS[原创] 
English/Chinese Fix Translation
作者:
标题: 如何在WinNT/2K/XP下启动纯DOS[原创]  上一主题 | 下一主题
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『楼 主』:  如何在WinNT/2K/XP下启动纯DOS[原创]  [已使用 LLM 解释]

现在一些网友开始安装WinNT/2K甚至是XP了。可是,当他们启动了这些操作系统以后,发现许多DOS程序都无法运行了,而纯DOS也无法启动了。这是怎么回事呢?

大家知道,WinNT/2K/XP中有个叫“命令提示符”的东东,表面看上去类似于Win3.x/9x中的MS-DOS窗口。然而,它们是完全不同的。Win3.x/9x是运行于MS-DOS下的大型保护模式的界面增强程序,而WinNT/2K/XP则是基于OS/2、NT构件的独立操作系统,因此,它们之间有着本质的不同。同理,Win3.x/9x中所提供的MS-DOS是真正的DOS,而WinNT/2K/XP中的“命令提示符”仅仅是个“DOS虚拟机”。既然是虚拟的,效果自然没有真正的好。因此,当这个“虚拟的DOS”无法正常运行DOS程序时,只有使用真正的DOS(例如MS-DOS 7.10)以运行它们。

由于WinNT/2K/XP不带有DOS,所以要想在安装了这些操作系统后想用硬盘启动到纯DOS的话,只能使用双启动。很多网友知道WinNT/2K/XP启动时往往会出现一个菜单,可以从中选择要启动的操作系统。然而,有时此菜单中并没有“DOS”这个选项,甚至启动时根本没有出现此启动菜单(如果在安装WinNT/2K/XP时选择保留原操作系统的话,WinNT/2K/XP的启动菜单中就会出现原来操作系统的选项)。那么该怎么办呢?以下介绍一下在安装了WinNT/2K/XP后再安装DOS的方法。

DOS的启动需要DOS系统的引导扇区和启动文件。而安装了WinNT/2K/XP后再安装DOS的关键就是要建立它们。大家也许会问,系统安装了WinNT/2K/XP后主引导扇区中的内容不是已被替换成为非DOS的了吗,为什么还能通过上面所提到的启动菜单启动到DOS呢?这是因为,如果系统中曾经安装着DOS(例如MS-DOS 7.10),WinNT/2K/XP在安装时会自动在主引导分区(通常是C驱动器)中建立BOOTSECT.DOS文件,而此文件中保留着DOS的引导信息,在启动菜单中选择启动DOS后,WinNT/2K/XP就利用此文件使DOS能够启动。因此,如果C:\(即主引导分区)中已存在BOOTSECT.DOS文件,就不用手工建立此文件了。可直接将DOS(如MS-DOS 7.10)的IO.SYS、MSDOS.SYS和COMMAND.COM文件复制到C:\上(最好不要用SYS命令传输系统,详情可看下段的介绍),然后按照下面的介绍修改BOOT.INI文件就可以了。

对于DOS系统启动文件,大家知道可以用DOS自带的SYS命令传输。但是,若直接这样做的话,只有DOS可以启动了,WinNT/2K/XP的引导信息会被覆盖而导致无法启动。为了使DOS和WinNT/2K/XP均能启动,有几种办法。可以使用一个叫作BOOTPART的十分实用的工具,可在本站的“系统工具”中找到。它的功能很强大,比如可以向引导扇区中写入指定的系统的信息,包括MS-DOS 6.x、MS-DOS 7.x、WinNT/2K/XP的。例如想将MS-DOS 7.10的引导信息写入C盘,就可用BOOTPART DOS71 BOOT:C:,命令来完成。因此,具体的方法是,先用SYS命令(如SYS C:)将DOS系统文件传输入C盘,然后将此时的主引导扇区中的信息(即DOS引导信息)中的内容保存到C:\BOOTSECT.DOS文件中,可用本站“磁盘工具”中的一个叫SRC Tools的小工具轻易实现。其中的SRCBOOT、SRCMBR和SRCFAT分别是对BOOT、MBR和FAT进入保存、备份及比较操作的命令,SRCTools工具集的具体使用方法可在“DOS文章”栏目中的专文中看到。例如SRCBOOT C: C:\BOOTSECT.DOS /S就可将C盘的引导扇区保存到C:\BOOTSECT.DOS文件中。此时BOOTSECT.DOS文件已顺利建立,接下来就是恢复WinNT/2K/XP的引导信息了,可用上面那个BOOTPART工具完成,如BOOTPART WINNT BOOT:C:。然后再进行下面修改BOOT.INI文件的操作就可以了。

另一种办法是,先将WinNT/2K/XP的引导信息保存下来到文件中,再分别将DOS的系统启动文件和引导信息建立,然后用上面所提到的SRC Tools将DOS的引导信息保存到C:\BOOTSECT.DOS文件中,最后将保存于文件中的WinNT/2K/XP的引导信息还原到启动扇区中。建立DOS的系统启动文件和引导信息的具体过程可见上面的方法,而保存和还原WinNT/2K/XP的启动扇区则均可以用SRC Tools命令,例如可分别执行SRCBOOT C: C:\NTBOOT.DAT /S和SRCBOOT C: C:\NTBOOT.DAT /R命令来完成(/S参数表示保存,/R参数表示恢复,而NTBOOT.DAT只是保存和还原WinNT/2K/XP的引导信息时所用的临时文件,完成后可删除),再进行下面的操作即可。

最后,就可以开始做双重启动菜单了。WinNT/2K/XP的启动菜单保存于主引导分区的根文件夹下的BOOT.INI文件中(通常是C:\BOOT.INI),操作方法是首先去掉C:\BOOT.INI文件的只读、隐藏和系统属性(如用DOS自带的ATTRIB命令,也可用增强的ATTRIB命令等等),再用文本编辑器(如DOS自带的EDIT)打开C:\BOOT.INI文件,在其文件中的项下加入一行:C:\="MS-DOS"。完成后保存文件并恢复文件的各种属性,然后重新启动系统,就会出现一个启动菜单,其中有"MS-DOS"这一项了。选此项后即可进入纯DOS方式。此时,WinNT/2K/XP与DOS的双启动就制作成功了,以后就可以选择相应的启动选项以启动相应的系统了。

说明:如果想让系统自动进行上述在WinNT/2K/XP下安装DOS的操作(而不是手工设置)的话,请使用“MS-DOS 7.10完整安装版”(可以在网站或论坛中看到)。它可以自动实现在WinNT/2K/XP下安装MS-DOS 7.10完整版,并自动实现上述的多重启动。由于此完整安装版所使用的方法更好,所以它的成功率更大,欢迎大家使用。

另外,如果硬盘的主分区(通常是C盘)是NTFS格式的,那用以上的方法是不行的,因为DOS不支持NTFS格式。这时有一种另外的解决方法,那就是利用虚拟软盘镜像的方法来启动DOS(也就是从WinNT/2K/XP的开机菜单中直接启动虚拟软盘中的DOS)。可以通过用一个叫作VFloppy的软件来实现,具体可以在“DOS启动盘/LOGO技术”版块中看到。

LLM 解释

WinNT/2K/XP无法直接启动纯DOS的技术原因

Windows NT/2000/XP与Windows 9x存在本质架构差异:

  • Windows 9x:基于实模式DOS内核,属于"DOS扩展"系统,可通过重启进入纯DOS
  • Windows NT系列:采用独立的NT内核,运行于保护模式,无实模式DOS基础
  • 命令提示符:仅是用户模式下的虚拟DOS环境(NTVDM),不支持直接硬件访问和部分DOS中断

在NT/2K/XP系统中实现纯DOS启动的技术方案

方案一:基于FAT32分区的双启动配置(适用于FAT32系统分区)

  1. 准备DOS系统文件

    • 需IO.SYS、MSDOS.SYS、COMMAND.COM核心文件(建议使用MS-DOS 7.10版本)
    • 避免直接使用SYS C:命令,会覆盖NT引导扇区导致系统无法启动
  2. 创建DOS引导扇区文件

    REM 使用SRC Tools保存DOS引导扇区
    SRCBOOT C: C:\BOOTSECT.DOS /S
    
    REM 使用BOOTPART恢复NT引导扇区
    BOOTPART WINNT BOOT:C:
    
  3. 修改BOOT.INI配置文件

    REM 移除文件属性
    ATTRIB -R -H -S C:\BOOT.INI
    
    REM 添加DOS启动项(在[operating systems]节下)
    C:\="MS-DOS 7.10"
    
    REM 恢复文件属性
    ATTRIB +R +H +S C:\BOOT.INI
    

方案二:NTFS分区的虚拟软盘启动方案

当系统分区为NTFS格式时(DOS不支持NTFS),需使用虚拟软盘技术:

  1. 创建DOS启动盘镜像

    • 使用FORMAT A: /S制作启动盘
    • 使用RAWRITEWINIMAGE创建镜像文件(DOS.IMG)
  2. 使用VFloppy配置虚拟启动

    • 安装VFloppy工具并指向DOS镜像文件
    • 程序自动修改BOOT.INI添加启动项:
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP" /fastdetect
    C:\VFLOPPY.SYS="MS-DOS (Virtual Floppy)"
    

方案三:使用第三方启动管理器(高级方案)

推荐使用System CommanderBootMagic

  • 支持多系统引导和分区隐藏
  • 可在NTFS环境下创建独立DOS分区
  • 提供更灵活的启动菜单定制功能

关键技术要点说明

  1. BOOTSECT.DOS文件作用

    • 存储DOS引导扇区信息的特殊文件
    • 由NTLDR在启动时加载,实现DOS引导
    • 大小固定为512字节(标准扇区大小)
  2. NTLDR引导流程

    BIOS → MBR → NTLDR → 读取BOOT.INI → 
    加载对应系统(Windows NT/2K/XP或BOOTSECT.DOS)
    
  3. 兼容性注意事项

    • DOS无法访问NTFS分区,需单独FAT32分区存放DOS程序
    • 部分老旧DOS程序可能因硬件抽象层差异无法运行
    • 大于64MB内存需在CONFIG.SYS中设置HIMEM.SYS参数

自动化解决方案

使用"MS-DOS 7.10完整安装版"可实现自动化配置:

  • 自动检测系统环境并创建BOOTSECT.DOS
  • 智能修改BOOT.INI文件
  • 集成常用DOS工具和驱动程序
  • 支持FAT32大分区和长文件名

通过以上方法,可在Windows NT/2000/XP系统中实现纯DOS环境的启动,解决传统DOS程序的兼容性问题。选择方案时需根据系统分区格式(FAT32/NTFS)和具体需求进行技术选型。





Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-3-4 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子
闪猛
中级用户




积分 327
发帖 69
注册 2002-12-1
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

SRCTools已不能下载,斑竹有的话请上传到这里来,谢谢。


2003-3-5 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

我曾将SRCTools上传到本论坛过。其实我做的MS-DOS 7.10启动盘中已经包含SRCTools了,即SRCFAT.COM、SRCMBR.COM、SRCBOOT.COM三个文件:

http://newdos.yginfo.net/dosware/mdos71bd.zip





Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-3-6 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子
soliant
初级用户




积分 118
发帖 2
注册 2003-4-3
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

我是个新手

希望大家照顾


2003-4-5 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

好的,欢迎光临!




Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-4-5 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子
zjktxwd
初级用户




积分 193
发帖 20
注册 2003-4-9
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

我是新手,请问,若c盘为winme,d盘为win2000,在装纯DOS时,将IO.SYS、MSDOS.SYS和COMMAND.COM文件复制到C:\。
在启动时,系统会启动winme,还是dos,他俩都在c盘。
谢谢!!


2003-4-9 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
如是大师
元老会员

步行的人


积分 9654
发帖 3351
注册 2003-3-11
来自 湖北
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

若不作处理的话,启动的就只有dos。贸然用sys传输系统文件的话,win2000也启动不了。




弄花香满衣,掬水月在手。
明月鹭鸟飞, 芦花白马走。
我自一过后,野渡现横舟。
青云碧空在,净瓶水不流。
http://dos.e-stone.cn/guestbook/index.asp
======中國DOS聯盟=====
我的新网页http://rsds.7i24.com欢迎光顾
2003-4-9 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

如果运行SYS命令后WinNT/2K/XP启动不了,运行BOOTPART一条命令就解决问题了,这样DOS和WinNT/2K/XP就都可以启动了.




Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-4-9 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子
jihack
初级用户




积分 167
发帖 20
注册 2003-4-10
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

我来啦


2003-4-10 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
炊烟
初级用户




积分 115
发帖 2
注册 2003-3-30
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

←新手,站长好,大家好!~~~


2003-4-13 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
txdxk1983
初级用户




积分 123
发帖 5
注册 2003-4-13
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

斑竹,你那篇介绍dos和winNT双系统的文章能不能讲的更清楚些呀,比如,把每个操作步骤讲清楚,我们这些菜鸟看不太懂呀。
我现在用的是winXP,连tc都用不了,都只有用启动盘,不方便,还费软驱。我找了一下,我的引导盘没有bootsect.dos 文件。求你解答,谢谢!


2003-4-13 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

说简单些,最好的方法其实就是先用我做的MS-DOS 7.10启动盘启动系统,启动后在DOS下运行以下命令:

SYS A: C:
SRCBOOT C: C:\BOOTSECT.DOS /S
BOOTPART WINXP BOOT:C:
然后在BOOT.INI中加入启动DOS的那行;
如果必要的话,再将A:\MSDOS.SYS和A:\LOGO.SYS复制到C:\




Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-4-13 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子
rice
初级用户




积分 107
发帖 2
注册 2003-4-13
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

good,成功!




2003-4-13 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
jblking
初级用户




积分 105
发帖 1
注册 2003-4-13
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

第一次进来,请问什么叫DOS?


2003-4-13 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子
txdxk1983
初级用户




积分 123
发帖 5
注册 2003-4-13
状态 离线
『第 15 楼』:   使用 LLM 解释/回答一下

成功了,真的很棒,谢谢~


2003-4-17 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: