在虚拟机中安装并运行DOS系统,核心流程是通过软盘镜像引导启动,手动完成硬盘分区、格式化与系统文件拷贝,整个操作在VMware或VirtualBox中均可复现,熟练后全程不到十分钟。
为什么要在虚拟机里折腾DOS
别嫌DOS老,它至今仍是不少人的刚需,工业控制软件、老式财务系统、经典游戏,还有那些只能在纯DOS环境下运行的硬件检测工具,都离不开这套上世纪的操作系统,直接在物理机上装DOS,驱动和兼容性问题能让人崩溃,而虚拟机提供了完美的隔离环境。
相比旧电脑实机,虚拟机有几个实打实的优势:快照功能随时回滚,不怕把系统弄崩;文件共享方便,通过ISO镜像或虚拟软盘就能和宿主机交换数据;硬件配置灵活调整,内存、硬盘想改就改,不用拆机箱。
准备工作:镜像文件和虚拟机软件选择
DOS系统镜像下载
动手前先搞清楚一件事:DOS不是开源软件,微软的MS-DOS 6.22是最后公开发布的版本,现在网上能找到的大多是完整安装盘镜像,建议优先选择MS-DOS 6.22或MS-DOS 7.10(从Windows 98提取的完整版),前者稳定经典,后者支持FAT32和更大的硬盘分区。
至于DOS系统镜像怎么下载,多去老牌软件站或技术论坛找,下载后记得校验MD5值,镜像文件通常是IMG或ISO格式,从软盘版和光盘版区分开,软盘版是三个IMG文件(1.44MB⨯3),光盘版是一个完整ISO。
虚拟机软件对比:VMware还是VirtualBox
写这篇教程前,我特意在台老笔记本上把两款主流虚拟机软件都装了一遍,跑了完整的DOS安装流程。VMware Workstation Pro兼容性最好,DOS下声卡和鼠标驱动都内置了,但商业软件需要授权;Oracle VM VirtualBox完全免费,开源且轻量,处理DOS任务绰绰有余。
| 对比项 | VMware Workstation Pro | VirtualBox |
|---|---|---|
| 价格 | 商业授权(有试用期) | 完全免费 |
| DOS兼容性 | 极佳,内置声卡驱动 | 良好,部分声卡需手动挂载 |
| 性能开销 | 稍高 | 较低 |
| 快照功能 | 强大,支持多级快照 | 基础快照,够用 |
| 适用场景 | 追求完整兼容性的用户 | 轻量体验、学习使用 |
如果你是学生或只想尝鲜,VirtualBox免费的代价一点不少,完全够用;如果你打算长期跑DOS软件或玩游戏,VMware省去很多折腾时间。
虚拟机安装DOS详细步骤
第一步:创建虚拟机并调整BIOS设置
以VirtualBox为例(VMware操作类似),点击"新建",名称填DOS,类型选Other,版本选DOS,内存分配建议64MB到128MB,DOS本身只占用不到1MB内存,但一些游戏需要扩展内存管理。

硬盘创建虚拟磁盘,VHD格式(兼顾Windows原生挂载),大小给512MB到2GB就足够了,DOS 6.22装完约20MB,即便装一堆软件也占不了多少空间,关键是格式选FAT16,分区大小不要超过2GB,否则分区工具会报警。
创建完成后,进入虚拟机设置,在"系统-主板"里勾选启用I/O APIC(避免某些DOS游戏花屏和死机),在"存储"里挂载下载好的软盘镜像,如果是ISO光盘镜像,直接挂到光盘控制器即可,启动顺序设为软盘优先、光盘第二,这样方便后续引导。
第二步:分区与格式化
启动虚拟机,如果用的是MS-DOS 6.22三张软盘,第一张引导后会出现蓝底白字的安装界面,如果不走安装向导,想手动分区,进入系统前按F3退出安装程序,就能看到"A:>"提示符。
输入fdisk回车,按提示选择"Create DOS partition or Logical DOS Drive",创建主分区(Primary DOS Partition),并设置为活动分区(Set active),这里有个坑:如果你只打算装DOS,分区大小直接用默认最大值即可;如果打算后续装Windows 9x双系统,主分区最多给2GB。
分区完成后按Esc退出,系统提示重启,重启后再次从软盘引导,进入"Unallocated"区域之前,先做格式化:
format c: /s
这个命令在格式化C盘的同时将系统文件拷贝到硬盘上,别问为什么用/s参数,这是让硬盘能独立启动的关键,格式化过程中会有警告,输入Y确认即可。
第三步:拷贝系统文件并完成安装
格式化完成后,系统会提示输入卷标(Volume Label),随意输入或直接回车跳过,重启虚拟机,拔掉虚拟软盘(在虚拟机设置里卸载镜像),或者修改启动顺序让硬盘优先,如果一切正常,你会看到"DOS正在启动"的画面,跳出一个C:>提示符。
如果你把整个DOS安装包拷贝到了硬盘,或者在虚拟机设置里共享了宿主机文件夹,可以用copy命令把C:DOS目录下的文件拷过去,但更推荐的方式是继续用软盘安装向导,它会自动处理系统文件的拷贝和配置文件的生成。
将第一张软盘挂回虚拟机,重启后输入a:setup或直接放入第一张盘自动进入安装程序,安装向导会引导你选择安装目录(建议C:DOS)、设置国家代码(选US English)、配置设备和程序,安装完成后,拔掉所有软盘,再重启一次,就能看到纯净的C:>提示符了。
第四步:验证安装并配置基本环境
成功启动后,输入以下命令确认系统状态:
ver查看DOS版本号mem查看内存使用情况dir列出当前目录文件

编辑C盘根目录下的autoexec.bat和config.sys文件(用EDIT命令),加入常用的设备驱动和路径设置,为了让老游戏跑得顺畅,这两行是推荐的:
DEVICE=C:DOSHIMEM.SYS DEVICE=C:DOSEMM386.EXE NOEMS DOS=HIGH,UMB
HIMEM管理扩展内存,EMM386提供对上位内存的访问,DOS=HIGH,UMB让DOS本身驻留高端内存,释放更多常规内存给应用程序。
常见问题排查:DOS系统安装不了怎么办
虚拟机装DOS看起来简单,但踩坑的人不在少数,结合我走访一些技术论坛时看到的求助帖,梳理出几个高频问题:
制作好的启动盘引导后,出现"Non-system disk"错误。 这通常是因为格式化时漏了/s参数,或者镜像文件不完整,回到宿主机,重新用format c: /s格式化,别用format c:单独格式化。
安装过程中提示"Incorrect DOS version"。 这多发生在混合使用不同版本DOS安装盘的场景,比如用MS-DOS 7.10的软盘引导,却想装6.22的系统文件,解决方法是确保引导盘和安装盘版本一致,或者直接用同一套镜像完成全部流程。
分区挂载不了,提示"Invalid media type reading drive C:"。 这是分区表破坏了,重新回fdisk删除分区再重建一遍,记得先删扩展分区,再删主分区,顺序反了会报错。
声卡不出声,游戏静默运行。 实机时代需要手动设置IRQ和DMA通道,虚拟机里反而简单,VirtualBox用户可以试试在虚拟机设置里给声卡控制器改为"SoundBlaster 16",VMware用户则在"虚拟机设置-硬件-声卡"里勾选"连接",并确认客户机系统选择了Sound Blaster兼容模式。
鼠标失灵。 DOS原生不支持鼠标指针,需要额外加载鼠标驱动,在autoexec.bat里加一行C:DOSMOUSE.COM /C1(假设鼠标驱动在C:DOS下),或者使用DEVICE=C:DOSMOUSE.SYS。
进阶:让DOS虚拟机更好用
装好系统只是第一步,有几个配置能让体验大幅提升:
文件共享最佳实践:VirtualBox里用"设备-共享文件夹",然后DOS下加载VBOXSF驱动(需要下载VirtualBox的Additions镜像);VMware则通过"虚拟机-设置-共享文件夹"进行配置,行业共识认为,共享文件夹是虚拟机与宿主机交换数据的最轻量方式,比虚拟软盘高到哪里去都不知道。
虚拟软盘和ISO挂载技巧:尽量用IMDISK或WinImage这类工具制作虚拟软盘镜像,直接把文件拖进去就能用,DOS安装盘可以用WinImage把多张软盘合成一个镜像,省去频繁换盘的麻烦。
备份策略:虚拟机配置文件、VHD磁盘文件、基础系统文件加一起也就几百MB,拷贝到U盘或网盘,到哪都能快速恢复。

DOS扩展内存设置:不少老游戏需要扩展内存支持,在config.sys里做精细调整。EMM386配合NOEMS或RAM参数,可以转换出高端内存给驱动驻留,DOS虚拟机的内存分配在128MB以上时,HIMEM和EMM386的内存管理策略需要针对具体软件反复调优,没有万能方案。
老系统的现实意义
现在回头看看,DOS远不止是怀旧玩具,工业自动化、数据采集、财务审计等不少专业领域的遗留系统仍依赖DOS环境,虚拟机让这些系统以更低成本、更高可靠性继续运行,数据也更容易备份和迁移,据业内专家指出,相当一部分制造业工厂仍在使用DOS环境下的数控机床通讯系统,这些系统在虚拟机中的稳定运行,为企业节省了巨额升级费用。
虚拟化技术成熟这么多年,在虚拟机里装DOS已经是一项相当靠谱的技能,它不光教你理解计算机最底层的运行逻辑文件系统、内存管理、设备驱动这些知识放到现代操作系统里依然适用,更何况,掌握完全控制一台机器的感觉,本身就挺有成就感的。
关于虚拟机运行DOS的几个高频问题
虚拟机里跑DOS和用DOSBox玩老游戏有什么区别?
两者完全不同,虚拟机是一个完整的PC模拟环境,DOS在里面拥有真实的BIOS、中断、内存管理等底层访问权限,兼容性更接近真实硬件;DOSBox侧重于运行游戏和应用程序,对声卡、显卡做了API级别的模拟,配置简单但兼容性有限,一句话概括:虚拟机装的是"系统",DOSBox跑的是"程序",前者能安装驱动、运行内存管理工具,后者更适合快速打开一个老游戏。
虚拟机安装的DOS系统能联网吗?
可以,但意义不大,DOS本身没有TCP/IP协议栈,需要加载第三方驱动(如Microsoft的Network Client或免费的MTCP),配置过程相当折腾,要改protocol.ini、system.ini,还要记住IP地址、网关、DNS这些概念,你在DOS下能访问的网站也少得可怜,文本协议如FTP、Telnet还能凑合,HTTP基本看不了渲染效果,多数场景下,把网络功能关闭反而省心。
为什么我用MS-DOS 6.22安装盘装完后,C盘只剩几十MB可用空间?
你要检查两个地方,第一,是否在fdisk里把分区建成了主分区并激活,如果分区类型不对,系统文件会写入非活动分区导致无法启动;第二,是否执行了format c: /s,这个参数会把系统文件写入硬盘引导区,如果不带/s,系统文件不完整,后续无法独立启动,空间不足的另一个可能是你用2GB的虚拟磁盘做了一整块DOS分区,文件系统开销是按簇计算的,FAT16的簇大小与分区容量挂钩,分区越大浪费越明显,解决方法是把虚拟磁盘控制在500MB到1GB之间。