正文内容来源:CNVER.RTF(我自己写的,见下)
NOTE:尽管让MS-DOS显示中文比较困难,但我决定还是写一份中文版.(感谢Windows 3.2自带的智能ABC中文输入法).
我用的是联想的ThinkPad X260,出厂约在2015年. (BIOS显示为2019年).
但是DDR4不像Windows有强大的兼容性,它不支持UMB与GEMMIS (D000-DFFF不可用),所以跑不了386增强模式.
为了成功启动,您需要位于根目录修改(C:\)下的CONFIG.SYS.移到 EMM386.EXE 这一行,修改如下 \EMM386.EXE X=A000-FEFF NOEMS (XMS支持) or \EMM386.EXE (EMS支持).此外您需要第三方的HMA管理器以限制最大内存量.我推荐Japheth 的 HIMEMX.SYS,这个也用于FreeDos.为了最大限度的兼容,您需要这么设置CONFIG.SYS.如:
\HIMEMX.EXE /MAX=32767 (限制最大内存为32M)
\HIMEM.SYS (用于需要HIMEM.SYS的程序)
\EMM386.EXE (具体参数见上)
有些软件如 Acrobat 3,Borland Turbo C++4,Microsoft VC++ 需要386增强模式不可用,但标准模式工作正常.
不可使用名单:
Win:
Adobe Acrobat 2 或 3 (386增强模式)
Borland C++ 4.5 (386增强模式)
Microsoft Visual C++ 1.5.2 (386增强模式)
IE4 or 5 (未知bug)
Netscape 4 (未知bug)
Microsoft Encarta 96 (未知bug)
Microsoft C/C++ 7.0 (未知bug)
DOS:
Microsoft C/C++ 7.0 (未知bug)
Diskgenius DOS版 (启动即重启)
可使用名单:
Win:
Borland C++ 3
IE3 简中版 (需要调制解调器即猫)
Microsoft Encarta 95 (放视频需要MIDI)
Winsock
Netscape 3
Office 4.2(简中) 和 Office 4.3(英文) and Office SDK
Winzip 6.3
BAO Flight Shop (需要EMS)
Python win (ver1.5.2)
DOS:
微软模拟飞行5.0 及模组 (需要EMS)
微软模拟飞行MSFS5.1 (推荐XMS)
Acrobat 1 (只有英文及图片pdf支持)
Arachne 1.99
Dillo for DOS 3.02b (我让它支持了中文!)
Microsoft C/C++ 7.0 (不知如何用)
Falcon 3 (需要603k内存)
Ghost for DOS
Jisuanqi
Qv Pro (有声音和视频,可查看图像)
MSCLIENT
Microsoft Word 6
微软模拟飞行4ABD
NTFS4DOS
NTFSPRO
AIDA16
猎杀潜航 1.31
Python 1.5
Pythond 2.4.2 R1
READNTFS
UCDOS7+WPS
PS:
1.只有我装的QV 2.5x 和 2.6x 支持外置.SDR驱动.
2.我找到了一个支持windows 3.x 的 vbesvga和PC喇叭驱动,可开到本机最大1366x768和真彩色,但字号会变小.
3.我找到了本机的DOS有线网卡驱动并成功上网.
4.我推荐用Dillo而不是Arachne.因为前者有很多优良特性而且可通过手动安装字体以支持中文等的显示.
5.Windows 3.2 不可用DOS的网,这意味着即使DOS连上网而Windows仍不可上网.
6.我有1台东芝M500用DDR2,它支持UMB与GEMMIS.我也有DDR3的机器,我会在上面测试兼容性.
关于兼容性问题的图片在文件夹里.
在此非常感谢EMM386.EXE,HIMEMX.EXE,HIMEM.SYS, 智能ABC输入法以及X260的所有硬件,没有你们这个项目我永远无法完成.
--------------------------------------------------
thinkpad-dos,拥有者
在office42简中上编写,用windows3.2
2025.09.27,06:35pm
NOTE:尽管让MS-DOS显示中文比较困难,但我决定还是写一份中文版.(感谢Windows 3.2自带的智能ABC中文输入法).
我用的是联想的ThinkPad X260,出厂约在2015年. (BIOS显示为2019年).
但是DDR4不像Windows有强大的兼容性,它不支持UMB与GEMMIS (D000-DFFF不可用),所以跑不了386增强模式.
为了成功启动,您需要位于根目录修改(C:\)下的CONFIG.SYS.移到 EMM386.EXE 这一行,修改如下 \EMM386.EXE X=A000-FEFF NOEMS (XMS支持) or \EMM386.EXE (EMS支持).此外您需要第三方的HMA管理器以限制最大内存量.我推荐Japheth 的 HIMEMX.SYS,这个也用于FreeDos.为了最大限度的兼容,您需要这么设置CONFIG.SYS.如:
\HIMEMX.EXE /MAX=32767 (限制最大内存为32M)
\HIMEM.SYS (用于需要HIMEM.SYS的程序)
\EMM386.EXE (具体参数见上)
有些软件如 Acrobat 3,Borland Turbo C++4,Microsoft VC++ 需要386增强模式不可用,但标准模式工作正常.
不可使用名单:
Win:
Adobe Acrobat 2 或 3 (386增强模式)
Borland C++ 4.5 (386增强模式)
Microsoft Visual C++ 1.5.2 (386增强模式)
IE4 or 5 (未知bug)
Netscape 4 (未知bug)
Microsoft Encarta 96 (未知bug)
Microsoft C/C++ 7.0 (未知bug)
DOS:
Microsoft C/C++ 7.0 (未知bug)
Diskgenius DOS版 (启动即重启)
可使用名单:
Win:
Borland C++ 3
IE3 简中版 (需要调制解调器即猫)
Microsoft Encarta 95 (放视频需要MIDI)
Winsock
Netscape 3
Office 4.2(简中) 和 Office 4.3(英文) and Office SDK
Winzip 6.3
BAO Flight Shop (需要EMS)
Python win (ver1.5.2)
DOS:
微软模拟飞行5.0 及模组 (需要EMS)
微软模拟飞行MSFS5.1 (推荐XMS)
Acrobat 1 (只有英文及图片pdf支持)
Arachne 1.99
Dillo for DOS 3.02b (我让它支持了中文!)
Microsoft C/C++ 7.0 (不知如何用)
Falcon 3 (需要603k内存)
Ghost for DOS
Jisuanqi
Qv Pro (有声音和视频,可查看图像)
MSCLIENT
Microsoft Word 6
微软模拟飞行4ABD
NTFS4DOS
NTFSPRO
AIDA16
猎杀潜航 1.31
Python 1.5
Pythond 2.4.2 R1
READNTFS
UCDOS7+WPS
PS:
1.只有我装的QV 2.5x 和 2.6x 支持外置.SDR驱动.
2.我找到了一个支持windows 3.x 的 vbesvga和PC喇叭驱动,可开到本机最大1366x768和真彩色,但字号会变小.
3.我找到了本机的DOS有线网卡驱动并成功上网.
4.我推荐用Dillo而不是Arachne.因为前者有很多优良特性而且可通过手动安装字体以支持中文等的显示.
5.Windows 3.2 不可用DOS的网,这意味着即使DOS连上网而Windows仍不可上网.
6.我有1台东芝M500用DDR2,它支持UMB与GEMMIS.我也有DDR3的机器,我会在上面测试兼容性.
关于兼容性问题的图片在文件夹里.
在此非常感谢EMM386.EXE,HIMEMX.EXE,HIMEM.SYS, 智能ABC输入法以及X260的所有硬件,没有你们这个项目我永远无法完成.
--------------------------------------------------
thinkpad-dos,拥有者
在office42简中上编写,用windows3.2
2025.09.27,06:35pm
Gemini 解答
针对该帖中涉及的现代硬件运行 MS-DOS 与 Windows 3.x 的技术细节,解读如下:
1. 关于内存管理与 386 增强模式的误解
- 事实纠正:帖子中提到“DDR4 不支持 UMB 与 GEMMIS (D000-DFFF 不可用),所以跑不了 386 增强模式”,这是对现代 UEFI 固件与芯片组架构的误读。
- 技术解释:Windows 3.x 的“386 增强模式”无法启动,核心原因在于现代 CPU(如 Skylake 架构的 i5-6200U)在长模式(Long Mode)下运行,且 UEFI 固件不再提供传统的 BIOS 中断服务(如 INT 15h 内存映射服务)。EMM386.EXE 依赖于传统的实模式内存映射,而现代硬件的内存布局(Memory Map)由 UEFI 动态分配,且通常在 E000-FFFF 区域存在大量的 ACPI 表、BIOS 映射或内存映射 I/O(MMIO),导致 EMM386 无法在这些区域创建 UMB(Upper Memory Blocks)。
- 结论:并非 DDR4 内存本身不支持,而是现代 UEFI 固件环境与 MS-DOS 内存管理器的兼容性断层。
2. 关于内存限制与 HIMEMX 的使用
- 事实纠正:
HIMEMX.SYS /MAX=32767的设置是必要的,但原因并非“兼容性”,而是 Windows 3.x 的内核限制。- 技术解释:Windows 3.x 的 HIMEM.SYS 在处理超过 64MB 或 128MB 的内存时经常会出现溢出或寻址错误。使用
HIMEMX(Japheth 开发的扩展内存管理器)可以更好地处理现代大容量内存,并提供更稳定的 A20 线控制。限制内存上限是为了防止旧版 DOS 驱动程序在处理大内存地址时发生溢出。3. 关于“不可使用名单”的技术成因
- 386 增强模式依赖:Acrobat 3、Borland C++ 4.5、VC++ 1.5.2 等软件在 386 增强模式下会调用虚拟设备驱动程序(VxD)来实现多任务处理和虚拟内存管理。由于现代 PC 无法进入该模式,这些软件会因找不到所需的虚拟化环境而崩溃。
- DiskGenius 启动重启:这是典型的硬件中断冲突。DiskGenius DOS 版直接操作磁盘 I/O 和中断向量表,现代 UEFI 模拟的 CSM(兼容性支持模块)在处理复杂的磁盘中断请求时,极易触发 CPU 异常导致重启。
4. 关于 Windows 3.2 网络连接
- 技术解释:帖子提到“Windows 3.2 不可用 DOS 的网”,这是因为 Windows 3.x 的网络栈(如 MS-Client 或 Trumpet Winsock)需要特定的 NDIS 驱动程序。DOS 下的网卡驱动(通常是 Packet Driver)与 Windows 3.x 的 NDIS 驱动是两套完全不同的架构。若要在 Windows 3.x 中上网,必须安装对应的 NDIS 2.0 驱动程序,并配置
SYSTEM.INI中的[network]节,仅在 DOS 下加载 Packet Driver 是无法被 Windows 内部的 Winsock 栈识别的。5. 建议与补充
- 替代方案:在 2015 年后的硬件上运行 DOS 环境,最推荐的方式是使用 PCem 或 86Box 等高精度模拟器。这些模拟器能够虚拟出 486/Pentium 级别的硬件环境,完美支持 386 增强模式、声卡驱动及 VESA 显卡,且无需处理现代 UEFI 固件带来的内存映射冲突。
- 关于 Dillo:Dillo 能够运行是因为其基于轻量级 C 语言编写,且对系统 API 的依赖较少,通过移植的库(如 DJGPP 环境)可以较好地在 DOS 下运行,这比依赖复杂 Winsock 栈的 Netscape 更具可行性。
- 硬件兼容性提示:在现代笔记本上,由于缺乏传统的 ISA/PCI 总线支持,大部分 DOS 时代的声卡驱动(如 Sound Blaster)无法工作。若需音频支持,建议寻找支持 AC'97 或 HDA 兼容的 DOS 驱动程序,但这在 X260 等机型上几乎不可实现,因为现代音频芯片已完全脱离了传统的 I/O 端口映射。
