ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

VMware虚拟机安装Windows 3.1:复古系统配置与DOS环境搭建指南

2026/8/2 13:57:55 拓冰建站 浏览量
VMware虚拟机安装Windows 3.1:复古系统配置与DOS环境搭建指南

1. 项目概述与核心价值

最近在整理老资料时,翻出了几张软盘镜像,里面是一些DOS时代的老游戏和工具。想在现在的电脑上怀旧一下,却发现直接运行这些程序障碍重重。于是,一个念头冒了出来:为什么不直接在虚拟机里装一个原汁原味的Windows 3.1系统呢?这不仅是情怀,对于想了解早期PC操作系统演进、学习DOS底层命令,甚至测试一些遗留的16位应用程序的开发者来说,都是一个非常实用的技能。Windows 3.1作为图形化界面普及的关键一环,其安装和配置过程本身就是一个有趣的“考古”实验。

很多人可能觉得,在功能强大的VMware Workstation里安装一个三十多年前的操作系统是杀鸡用牛刀。但恰恰相反,虚拟机提供了完美的沙盒环境,让你可以无风险地折腾,随时快照回滚,还能方便地在宿主机和客机之间共享文件。本教程将带你一步步完成从零开始,在VMware中安装并配置好一个可用的Windows 3.1环境。你会发现,整个过程充满了与现代系统安装迥异的细节和乐趣,比如处理640KB基本内存的限制、配置实模式驱动程序等。无论你是怀旧爱好者、计算机历史研究者,还是单纯想拓展技术视野的极客,这篇指南都将提供一份详尽的“考古”地图。

2. 前期准备:镜像、工具与虚拟机创建

2.1 所需材料清单

工欲善其事,必先利其器。安装一个老系统,首先得找到合适的“安装盘”。由于Windows 3.1本身已不再分发,我们需要寻找其安装镜像文件。通常,它们以.img.ima(软盘镜像)或.iso(光盘镜像,但Win3.1后期有CD版)格式存在。一个完整的安装过程可能需要6到7张软盘镜像。

注意:在互联网上寻找此类旧系统镜像时,请务必确认来源的安全性,最好从知名的技术存档站点或开源软件库获取,以避免潜在风险。本教程假定你已通过合法途径拥有用于个人学习和研究的镜像文件。

除了系统镜像,我们还需要以下软件:

  1. VMware Workstation Pro/Player:版本15或以上均可,老版本对旧系统兼容性可能更好,但新版本功能更全。我将使用VMware Workstation 17进行演示。
  2. DOS系统启动盘:Windows 3.1需要运行在DOS之上(通常是MS-DOS 5.0或6.22)。因此,你需要先准备一张DOS启动盘的镜像文件(通常是一个DOS622.IMG之类的文件)。
  3. Windows 3.1安装盘镜像集:即上述的多个软盘镜像文件(如DISK1.IMG,DISK2.IMG...)。
  4. (可选)VMware Tools for DOS:虽然VMware没有官方的Windows 3.1驱动,但社区有爱好者制作的增强工具包,可以改善显示、鼠标和网络性能。我们会在后续配置中提及。

2.2 创建“古董级”虚拟机

打开VMware Workstation,点击“创建新的虚拟机”。这里的关键在于模拟一台90年代初期的PC硬件环境。

  1. 选择配置类型:建议选择“自定义(高级)”,以便精细控制硬件参数。
  2. 硬件兼容性:选择你当前VMware版本即可,如“Workstation 17.x”。
  3. 安装来源这里先不要选择任何镜像!因为我们需要先安装DOS。选择“稍后安装操作系统”。
  4. 选择客户机操作系统:这是关键一步。在“版本”下拉列表中,你可能找不到“Windows 3.1”。最接近且兼容性最好的选择是“其他” -> “MS-DOS”。选择这个会为虚拟机配置最适合DOS和Win16环境的硬件抽象层。
  5. 命名虚拟机:取个你喜欢的名字,比如“Win31_Retro”,并选择存储位置。
  6. 固件类型:选择“BIOS”。UEFI是近代技术,Windows 3.1完全不支持。
  7. 处理器配置:1个CPU核心,1个核心数就足够了。90年代初的CPU还是单核单线程的王者(如Intel 486)。虚拟化引擎选项保持默认。
  8. 内存设置:这是第一个需要计算的参数。Windows 3.1在标准模式下最多只能寻址16MB内存,在386增强模式下可以更多,但考虑到其设计年代,分配过多内存反而可能导致不稳定或驱动程序问题。一个稳妥的配置是16MB 到 32MB。我设置为24MB,这是一个兼顾性能和兼容性的值。
  9. 网络连接:初期为了简化安装,可以选择“不使用网络连接”。后期若有需要,可以添加一个“仅主机模式”或“NAT”网络适配器,并尝试安装网卡驱动。
  10. I/O控制器类型:保持默认的“BusLogic”或“LSI Logic”即可。对于IDE硬盘,选择“IDE”。
  11. 选择磁盘:创建新虚拟磁盘。
  12. 磁盘类型:选择“IDE”。SCSI是更晚的服务器技术,DOS和Win3.1需要额外驱动。
  13. 磁盘容量:Windows 3.1系统本身很小,100MB都绰绰有余。但考虑到要安装一些应用程序和游戏,可以设置得大一些,比如2GB。选择“将虚拟磁盘拆分成多个文件”。
  14. 指定磁盘文件:保持默认名称即可。

点击完成,一台“复古PC”的硬件框架就搭建好了。但此时它还没有任何操作系统,是一台“裸机”。

2.3 关键硬件设置调整

创建完成后,不要急着开机,先编辑虚拟机设置,进行几项关键调整:

  1. 软盘驱动器:Windows 3.1主要通过软盘安装。在“硬件”选项卡,点击“添加”,选择“软盘驱动器”。添加后,在设备列表中选中它,在右侧选择“使用软盘映像文件”,并指向你准备好的DOS启动盘镜像(如DOS622.IMG)。同时,务必勾选“打开电源时连接”,这样虚拟机启动时才能从软盘引导。
  2. CD/DVD驱动器:虽然初期用不到,但可以添加一个。同样点击“添加”,选择“CD/DVD驱动器”。连接状态可以先不勾选。后期如果你有Windows 3.1的CD版安装盘ISO,或者需要加载其他工具ISO,会用到它。
  3. 声卡:为了让老游戏发出声音,可以添加声卡。VMware模拟的是Sound Blaster 16或Ensoniq AudioPCI,这些都有DOS下的驱动。添加“声卡”硬件即可。
  4. 显示设置:在“显示器”设置中,取消“加速3D图形”的勾选。Windows 3.1只支持2D显示,3D加速毫无意义且可能引发问题。图形内存可以设置为最小的4MB或8MB。

3. 安装DOS系统:搭建基石

Windows 3.1并非一个独立的操作系统,它本质上是一个运行在DOS之上的图形外壳。因此,我们的第一步是安装DOS。

  1. 启动虚拟机:确保软盘驱动器已连接DOS启动镜像,然后开启虚拟机电源。虚拟机会从软盘A:启动,进入DOS安装或启动界面。
  2. 硬盘分区与格式化:使用经典的fdiskformat命令。
    • 启动后,输入fdisk命令。如果你的DOS镜像包含fdisk工具,它会启动。
    • 在FDISK主菜单,选择“1. Create DOS partition or Logical DOS Drive”。
    • 接着选择“1. Create Primary DOS Partition”。
    • 它会询问是否使用最大可用空间,回答“Y”。然后它会要求你重启。
    • 重启后,再次从软盘启动。现在格式化C盘:输入format c: /s/s参数会将系统文件(io.sys, msdos.sys, command.com)传输到C盘,使其可引导。
    • 格式化完成后,你可以为C盘设置一个卷标(如“MSDOS”)。
  3. 复制必要文件:格式化后,C盘已经可以引导了。我们需要将软盘上的DOS系统文件复制到硬盘,并创建基本的配置文件。
    • 输入copy a:\*.* c:\将A盘所有文件复制到C盘根目录。
    • 然后创建AUTOEXEC.BATCONFIG.SYS这两个关键的启动配置文件。
      • 使用copy con c:\autoexec.bat命令,然后输入以下内容(每行后按回车,最后按Ctrl+Z并回车保存):
      @echo off PATH C:\DOS;C:\WINDOWS SET TEMP=C:\TEMP PROMPT $p$g
      • 同样,使用copy con c:\config.sys命令创建:
      DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE NOEMS BUFFERS=20 FILES=40 DOS=HIGH,UMB
      HIMEM.SYS用于管理扩展内存(XMS),EMM386.EXE用于模拟扩充内存(EMS)并提供上位内存块(UMB),这对于后续Windows 3.1运行在386增强模式至关重要。
  4. 从硬盘启动:现在,关闭虚拟机电源。在VMware设置中,断开软盘驱动器的连接(取消勾选“打开电源时连接”或移除软盘设备)。然后再次启动虚拟机。这次,它应该从硬盘C:引导,进入熟悉的C:\>提示符。至此,DOS基础系统安装完成。

4. 安装Windows 3.1:图形化之旅

有了DOS这个稳固的基石,我们就可以开始安装Windows 3.1了。

4.1 准备安装源

将Windows 3.1的安装软盘镜像(通常是DISK1.IMG)连接到虚拟机的软盘驱动器。在VMware中,右键点击虚拟机状态栏的软盘图标,选择“设置”,然后浏览并选择DISK1.IMG文件。

4.2 执行安装程序

  1. 在DOS提示符C:\>下,切换到A盘:输入a:然后回车。
  2. 运行安装程序:输入setup然后回车。Windows 3.1的图形化安装程序将会启动。
  3. 安装模式选择:安装程序首先会检测系统。它会推荐三种安装方式:
    • Express Setup(快速安装):适合新手,自动检测硬件并做大部分决定。
    • Custom Setup(自定义安装):允许你选择安装组件、驱动和目录。为了学习过程,我推荐选择这个。
    • Quit Setup(退出):取消安装。 按C键选择自定义安装。
  4. 安装目录:默认是C:\WINDOWS,通常保持默认即可。
  5. 系统信息确认:安装程序会列出它检测到的硬件:显示器、鼠标、键盘、语言、网络等。仔细检查:
    • Display(显示器):VMware的默认显卡是“VMware SVGA II”或类似的。但在Windows 3.1的驱动列表中肯定没有这个。这里非常关键:请选择“Super VGA”或“VGA”。选择“Super VGA”通常能获得比标准VGA(640x480 16色)更好的分辨率和色彩,但需要后续手动配置。最保险的初始选择是“VGA”,确保安装过程能正常显示。
    • Mouse(鼠标):选择“Microsoft, or IBM PS/2”或“串行鼠标”。VMware的虚拟鼠标通常能被识别为PS/2鼠标。
    • 其他设置如键盘、语言等保持默认。
  6. 选择组件:接下来可以选择安装哪些Windows组件,比如附件、游戏、屏幕保护程序等。根据你的磁盘空间和兴趣选择。对于怀旧,我建议全选。
  7. 虚拟内存设置(386增强模式):安装程序会询问是否设置虚拟内存(使用硬盘空间作为内存扩展)。这对于在386增强模式下运行多个程序非常重要。建议选择“Yes”,并让Windows自动管理大小,或者指定一个固定大小(如20-30MB)。
  8. 打印机安装:可以跳过,后续在Windows中再添加。
  9. 安装过程:确认设置后,安装程序开始复制文件。你会被提示依次插入DISK2,DISK3等软盘。在VMware中,当提示“请插入Disk #n”时,你需要暂停虚拟机(VMware菜单:虚拟机 -> 电源 -> 暂停),然后右键点击状态栏软盘图标,更改软盘映像为对应的DISKn.IMG文件,再恢复虚拟机运行。这个过程会重复多次,是体验“古早”安装仪式感的重要环节。
  10. 安装完成:文件复制完成后,安装程序会询问是否运行教程和是否重启。可以先跳过教程,选择重启。

4.3 首次启动与基本配置

重启后,在C:\>提示符下,输入win命令启动Windows 3.1。你会看到经典的蓝天白云Logo和程序管理器界面。

  1. 显示驱动升级:默认的VGA模式只有16色,很难看。我们需要安装更好的显示驱动。这通常是最棘手的一步,因为VMware没有官方驱动。我们需要借助社区力量。
    • 一种方法是使用“SciTech Display Doctor”或“UNIVBE”这样的第三方通用显示驱动包,它们可能包含对早期VMware SVGA的兼容模式。
    • 更常见且有效的方法是,在虚拟机设置中,将显卡类型从默认的“自动检测”手动设置为“VGA兼容”模式。有时这能促使Windows 3.1使用一个稍好的SVGA驱动。具体操作是:编辑虚拟机设置 -> 显示器 -> 取消“自动检测设置” -> 指定监视器设置 -> 选择“标准监视器类型”和“Super VGA (800x600, 256色)”或“1024x768 High Color (16位)”。然后回到Windows 3.1中,进入“主群组” -> “Windows 设置程序”,尝试更改显示器类型,看是否有更高分辨率的选项出现。
    • 实测心得:经过多次尝试,我发现最稳定的方案是接受256色模式。在Windows 3.1的设置程序中,选择显示器为“Super VGA (800x600)”,然后从驱动列表中选择一个通用的驱动,如“ATI Graphics Ultra (Mach64)”的640x480 256色模式,或者“Diamond Stealth”的某个型号。虽然不匹配真实硬件,但VMware的虚拟显卡兼容性很好,经常能“蒙混过关”。调整后需要重启Windows生效。
  2. 鼠标驱动:如果鼠标在Windows下不工作,可能需要手动指定。在“Windows 设置程序”中,选择鼠标为“Microsoft, or IBM PS/2”。通常VMware的虚拟化层能很好地处理这个。
  3. 声卡驱动:要让DOS游戏在Windows下出声,需要在DOS的AUTOEXEC.BATCONFIG.SYS中加载声卡的DOS驱动。对于Windows本身,也需要安装其驱动。你可以寻找Creative Labs Sound Blaster 16 for Windows 3.1的驱动包,在Windows的“驱动程序”设置里添加。

5. 增强体验与实用配置

一个能启动的Windows 3.1只是开始,要让它好用,还需要一些配置。

5.1 安装“VMware Tools”的替代品

虽然没有官方支持,但有一些社区项目致力于为旧系统提供增强功能。例如,可以搜索“VMware SVGA II Windows 3.1 driver”或“VMware mouse driver for DOS/Windows 3.1”。这些驱动可能能提供更流畅的鼠标指针(避免在Windows内移动鼠标时的卡顿感)和更好的显示性能。安装方法与普通Windows驱动类似,通过“Windows 设置程序”添加新的显示器或鼠标驱动程序,并指定驱动文件所在的路径(通常需要先通过共享文件夹或制作成软盘镜像传入虚拟机)。

5.2 宿主机与虚拟机文件共享

这是非常实用的功能。VMware为DOS/Windows 3.1提供了两种主要方式:

  1. 共享文件夹(需要安装VMware Tools,对Win3.1不可用):此路不通。
  2. 虚拟软盘/光盘:最可靠的方法。将宿主机上的文件(如老游戏、工具)打包成一个.img软盘镜像或.iso光盘镜像,然后在VMware中挂载给虚拟机。在DOS下,可以使用imgmount命令(如果使用DOSBox的组件,但更复杂)或直接使用copy命令在虚拟软盘和硬盘间复制。
  3. 串行端口/并行端口网络重定向:一种比较“硬核”的方法,通过虚拟串口(COM)并使用如Laplink之类的古老文件传输协议,但这设置起来非常复杂。
  4. 网络共享(SMB):如果能在Windows 3.1中成功安装TCP/IP协议栈和网卡驱动(例如,使用微软的“TCP/IP-32 for Windows for Workgroups 3.11”的更新包,它有时也兼容Windows 3.1),并且虚拟机网络配置正确,理论上可以访问宿主机的共享文件夹。但这对于Win3.1来说是一项巨大的工程,成功率不高。

实操建议:对于日常的文件交换,使用虚拟软盘镜像是最简单直接的方法。你可以使用“WinImage”这类工具在宿主机上创建、编辑.img文件,将文件拖进去,然后在VMware中挂载这个.img文件作为虚拟机的A盘或B盘。

5.3 优化内存配置

Windows 3.1的性能极度依赖内存配置。确保你的CONFIG.SYS中正确加载了HIMEM.SYSEMM386.EXE。在Windows中,你可以通过“控制面板” -> “386增强模式”来查看和调整虚拟内存设置。将虚拟内存设置在本地硬盘(而非网络驱动器)上,并给予足够的大小(如50MB),可以显著改善多任务处理能力。

5.4 运行经典程序

安装完成后,就可以尽情探索了。双击“程序管理器”中的“游戏”组,可以玩“扫雷”和“纸牌”。你还可以安装经典的Office 4.3、Visual Basic 3.0,或者运行那些需要真实DOS环境的旧游戏,如《Doom》、《文明1》等。对于纯DOS游戏,建议退出Windows,在纯DOS环境下运行,以获得最好的兼容性和性能。

6. 常见问题与故障排除实录

在安装和配置过程中,你几乎一定会遇到一些问题。以下是我踩过的一些坑和解决方案:

  1. 问题:启动Windows时黑屏或显示“不支持的视频模式”

    • 排查:这几乎总是显示驱动问题。
    • 解决:重启到DOS,进入Windows目录(C:\WINDOWS),运行setup /i。这个命令会以“安全模式”启动Windows设置程序,绕过当前的显示驱动检测。在设置程序中,将显示器类型改回最基础的“VGA”或“Super VGA (640x480, 16色)”。保存退出并重启Windows。进入Windows后,再尝试逐步升级到更高分辨率的驱动。
  2. 问题:鼠标在Windows内无法移动或移动卡顿

    • 排查:可能是鼠标驱动冲突或中断(IRQ)设置问题。
    • 解决:首先在“Windows 设置程序”中确认鼠标类型选择正确(PS/2)。如果问题依旧,尝试在VMware虚拟机设置中,移除USB控制器(如果存在),因为旧系统对USB支持极差。确保虚拟机使用的是PS/2鼠标。对于卡顿,可以尝试安装社区提供的增强鼠标驱动。
  3. 问题:安装过程中提示“内存不足”

    • 排查:即使你给虚拟机分配了24MB内存,DOS下的常规内存(Conventional Memory, 640KB)可能被各种驱动占用过多。
    • 解决:检查CONFIG.SYSAUTOEXEC.BAT文件。使用mem /c /p命令查看内存使用情况。确保EMM386.EXE使用了NOEMSRAM参数来提供上位内存块(UMB),并使用DEVICEHIGH=LOADHIGH(或LH)命令将驱动和常驻程序加载到UMB中,以释放宝贵的常规内存。例如,将CONFIG.SYS中的DEVICE=C:\DOS\HIMEM.SYS改为DEVICEHIGH=C:\DOS\HIMEM.SYS(如果HIMEM.SYS本身支持被加载到高位)。
  4. 问题:DOS游戏在Windows下运行速度极慢或无声

    • 排查:Windows的386增强模式会虚拟化硬件,可能干扰DOS程序对硬件的直接访问。
    • 解决:对于需要直接操作硬件的经典DOS游戏,最佳实践是退出Windows,在纯DOS环境下运行。为方便,你可以在程序管理器中为这个DOS游戏创建一个程序项,其命令行设置为“C:\DOS\COMMAND.COM /C [游戏批处理文件名].BAT”,并在“运行时最小化”和“退出时关闭”选项上打勾。但这仍然不如纯DOS环境。更好的方法是配置多重启动,或者干脆为玩游戏单独创建一个纯DOS的虚拟机。
  5. 问题:无法从软盘镜像正确引导或安装程序不认盘

    • 排查:软盘镜像格式不兼容或损坏。
    • 解决:确保你使用的软盘镜像是标准的1.44MB或720KB格式。VMware对.img.ima文件支持较好。如果安装程序提示“磁盘损坏”或“不是正确的安装盘”,尝试从其他来源重新获取镜像文件。也可以使用如“WinImage”这样的工具检查并修复镜像文件。

这个在现代化虚拟环境中重建古老系统的过程,更像是一次精密的数字考古。每一次驱动选择的尝试,每一次内存参数的调整,都让人对三十年前计算机工作者所面临的环境限制和智慧解决方案心生敬意。最终,当那个像素化的蓝天白云界面成功显示在800x600的256色屏幕上,当“程序管理器”的窗口弹开时,所获得的成就感远超安装一个现代系统。它不仅仅是一个可用的系统,更是一个通往计算机历史深处的交互式窗口。