现代电脑跑DOS,实模式让时间暂停,但UEFI会终结它?
最近有个视频挺火,一个叫Inkbox的博主在现在的迷你电脑上直接用U盘启动MS-DOS,还运行了1993年的《毁灭战士》和《吃豆人》。这让我挺惊讶的,一个40多年前的系统居然还能在新硬件上跑。
这事听起来像穿越,但其实是x86芯片一直留着个“后门”。从1978年英特尔做8086处理器开始,他们就设计了一个叫“实模式”的东西,专门让新芯片能跑老代码。后来IBM选了8088做PC的CPU,这个模式就成了所有x86芯片的标配。
直到今天,你买的酷睿或者锐龙处理器,开机第一步还是先进入16位实模式,然后才切到64位。这就像你住进新房子,但大门钥匙还是老式的那种,老钥匙也能插进去。
MS-DOS从1981年跟着IBM PC一起出来,一直更新到2000年的8.0版本。后来Windows 95火了,DOS就退到幕后当引导工具,但没消失。现在还有FreeDOS这种开源版本在维护,不过博主演示的是原生运行,不是模拟器。
想在现代电脑上原生跑DOS,硬件上得有点讲究。主板得支持传统BIOS模式,也就是CSM,还得关掉UEFI安全启动。硬盘要用MBR分区,主分区不能超过32GB,格式化成FAT32。用Rufus这类工具把DOS镜像写进U盘,就能像当年软盘一样启动。
显卡、声卡、USB这些驱动是个大问题,但低功耗小主机反倒容易成功,因为集成度高、硬件简单。博主用的ZimaBlade就是这样,赛扬N3450的CPU,16GB内存,插上U盘就能进DOS。
《毁灭战士》是1993年的原生DOS游戏,它需要管理640KB常规内存和扩展内存。在现在电脑上跑,因为直接调用CPU的16位指令,没有模拟层损失,反而跑得特别流畅,分辨率还能拉高。
![]()
《吃豆人》早期DOS版是汇编写的,对硬件定时要求很严。原生运行下,U盘读取速度比当年软盘快太多,结果游戏可能跑得飞快,需要手动降频或者加延迟指令才能正常玩。模拟器会自动处理这种速度问题,但原生就没那么智能了。
这种向后兼容性是有代价的。英特尔当年搞安腾处理器想抛弃x86,结果因为兼容不了老软件,市场不买账。AMD的x86-64反而成功延续了传统。现在英特尔和AMD虽然慢慢删掉一些古老指令集,但实模式一直留着。
不过趋势也在变。UEFI固件正在淘汰CSM模式,未来新主板可能完全禁掉16位启动。到那时候,原生DOS就再也没法在新电脑上跑了。现在买的那些支持CSM的主板,大概2020到2025年间生产的,可能会成为最后一批能原生跑DOS的硬件。
模拟器像86Box、DOSBox-X,或者虚拟机VirtualBox,以后会是更靠谱的替代方案。但那种直接在硬件上跑的感觉,怎么说呢,就像你亲手摸到40年前的电路,没有中间商赚差价。
MS-DOS能活到现在,靠的是x86架构的设计决策、IBM PC的生态惯性,还有微软和英特尔的商业利益。它不只是个技术奇迹,更像一种文化现象——让21世纪的人能体验到1980年代计算机的原始样子,原汁原味。
随着UEFI彻底取代BIOS,原生DOS的时代可能会慢慢结束。但模拟器和开源项目会继续撑着,而x86向后兼容的故事,大概会是计算机史上最精彩的设计取舍之一。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.