XENIX老系统软盘镜像识别与86Box模拟运行指南 简介操作系统的发展历程中多用户计算是一个关键转折点。在DOS与Windows尚未普及的年代XENIX作为Unix家族的重要分支承载了大量商业系统的多用户需求而它的运行载体——软盘镜像也随之成为数字考古的核心对象。软盘镜像并不是简单的二进制拷贝像IMD、DSK等格式包含磁道与校验信息识别它们需要从文件头特征、格式规范入手这是老系统数据迁移的第一步。借助86Box等精确模拟386/486硬件的模拟器可以在现代机器上完整复现当年的运行环境进而安装系统、读取业务数据。这种跨时代的系统迁移实践不仅适用于整理旧压缩包对工业遗留系统、历史数据分析同样具有参考价值。本文从XENIX.rar的实际整理过程出发展示老系统镜像的识别、模拟与数据迁移完整路径。 大概半年前我在清理一个吃了十几年灰的网盘目录时翻出一个叫XENIX.rar_XENIX_Xenix pu的老压缩包。文件名越往后越放飞自我一看就是当年谁手工改过但“XENIX”四个字还是把我拉回了上世纪八九十年代。解压之后里面全是老古董XENIX 系统安装软盘镜像、一堆 COBOL 源码、几套数据库文件还有几份当年手写的操作手册扫描件。XENIX 这个名字现在的程序员大概率没听过但在 DOS 和 Windows 还是主流、Linux 还没出生的年代它在多用户商业系统里是妥妥的主角。这篇就记录我整理这批老资料的全过程先讲清 XENIX 到底是什么系统为什么会被人打成XENIX.rar存起来再讲怎么把一堆软盘镜像跑起来怎么从老系统里抢救数据最后聊聊这东西对今天做软件、做迁移的人还有什么参考价值。如果你手里恰好也有类似的老压缩包、老软盘、老服务器这篇文章可以当一份“软件考古”的实操参考。1. XENIX 的身世微软差点就成了 UNIX 大厂1.1 微软在 DOS 之外的另一条产品线很多人不知道1980 年代的微软不只有 MS-DOS 一张牌。当时微软从 ATT 拿到了 UNIX 的授权基于 Unix Version 7后来又在 System III、System V 基础上持续演进做出了一个叫 XENIX 的分支版本。它面向 Intel 8086/8088、80286、80386 这批处理器目标很明确在 IBM PC 及其兼容机上跑多用户 Unix。今天看在 PC 上跑 Unix 的思路不奇怪但当时是个相当超前的决定。因为 1980 年代初的 PC内存以 256KB、512KB 为主硬盘动不动只有 10MB、20MB处理器性能也弱得可怜。跑单用户 DOS 都勉强何况是多用户 Unix。微软敢做这件事是因为他们看到了商业市场的缺口很多单位不止一个人要用电脑但买不起小型机只能指望一台 PC 带多个终端共享算力。1.2 XENIX 和 MS-DOS 的定位差异微软内部当时是两条腿走路MS-DOS 做单用户个人办公XENIX 做多用户商业计算。这两个系统放一块儿设计思想的差异非常明显。MS-DOS 没有用户、权限、进程的概念开机就是管理员一次只能跑一个前台程序XENIX 则是从一开机就进入一个完整的 Unix 世界root 权限管理、普通用户、多任务调度、后台进程、串口终端。系统能接几十个终端同时使用每个终端可以登录不同用户跑不同程序。对单位里要跑业务的机器来说多用户是刚需XENIX 正好补上了 DOS 的短板。很多人对当年“一台 386 主机带一堆字符终端”的架构印象深刻那套东西的软件底座多半就是 XENIX 或者后来的 SCO UNIX。终端只负责显示和输入所有的计算、存储、业务逻辑全部集中在主机上这就是 XENIX 最初的典型用法。1.3 转让给 SCOXENIX 怎么变成 SCO UNIX到了 1987 年微软觉得 UNIX 市场不够大精力也顾不上就把 XENIX 的后续开发和经营权卖给了 Santa Cruz Operation也就是大家常说的 SCO。此后 XENIX 继续在 SCO 手里演进从 XENIX System V 一路发展成 SCO UNIX System V/386、SCO OpenServer。所以你在网上搜 SCO UNIX 的资料经常会看到 XENIX 的影子两者一脉相承。顺带说一句在 Linux 内核出生前的那个年代PC 平台上真正好用的商业 Unix装机量最大的就是 XENIX/SCO 这一脉。直到今天SCO OpenServer 在某些传统行业里还在运行不过已经极其罕见了。1.4 为什么很多老单位都认识它这段时间正好是 XENIX 在国内最风光的时候。很多单位的业务系统就是“一台 386/486 主机 一堆字符终端”的架构主机跑 XENIX终端只做打字和显示。数据库和业务程序跑在主机上出报表、做账都在终端完成。因为这些系统跑得稳、部署简单、维护成本低XENIX 在很多商业机构里一跑就是十几年。后来 Windows NT、Linux 逐步接管市场XENIX 才慢慢退出历史舞台。但那些跑在老机器上的业务应用和数据很多就被人打包成XENIX.rar这种玩意儿存到了今天。搞清楚这段身世再回头看压缩包里的文件一切都对上了。2. 拆开 XENIX.rar里面的文件到底都是些什么2.1 压缩包里的典型文件结构拿到 rar 之后第一件事是解压。我这边解压出来大概有这么几类文件N1.IMD、N2.IMD……这种后缀老得掉渣的软盘镜像通常是 XENIX 系统安装盘。一堆*.cob、*.cbl、*.dat、*.idx文件看着像 COBOL 业务系统源码和数据库。几个 README、老版本 Word 文档和扫描件 PDF一般是安装手册或项目说明。还有一些.tar文件可能是当年在运行中的系统上直接打出来的备份。先别管里面的内容有没有用光看到.IMD后缀我就知道这趟差事不太容易。为什么因为这不是现代镜像格式而是当年软盘复制软件 ImageDisk 生成的软盘镜像里面带着磁道索引和 CRC 校验信息。你要读它得靠专门的模拟器或转换工具。2.2 识别镜像IMD、DSK、RAW 的差异XENIX 系统镜像常见的格式有几种我整理成一张表方便对照后缀格式特点.IMDImageDisk包含磁道头、CRC 校验适合判断软盘是否损坏86Box 可直接加载.DSKTeleDisk老牌软盘镜像格式同样带校验信息.IMG/.RAW裸扇区镜像最简单直接就是软盘内容的完整拷贝.TD0TeleDisk 压缩格式早期网站上常出现解压后才能用判断方法很简单在 Linux/macOS 上用file命令看一眼或者用xxd、hexdump看前 16 个字节。IMD 的文件头有明确的IMDASCII 标记RAW 镜像一般前几个字节是引导扇区内容能看到跳转指令和一个 OEM 字符串。如果你拿到的是.IMD但模拟器不认可以用 ImageDisk 或者 HxC Floppy Emulator 把它转成 RAW/IMG。这个环节最忌讳的是靠后缀猜格式我见过有人把 TeleDisk 的.DSK当成裸镜像直接写入软盘结果引导扇区全是乱码。花两分钟做一次file检查后面能省两小时。2.3 源码和数据的“读档”难题搞清了镜像再看压缩包里的业务程序。COBOL 源码文件不难认——大部分用文本编辑器就能打开满屏是行号、英文单词、数字和标点组成的老式代码风格。真正麻烦的是数据库文件。XENIX 年代最常用的数据库是 Informix 和 C-ISAM 这类老产品它们的.dat、.idx文件不是普通文本而是带页、带索引的二进制文件。现代机器上没有对应版本的数据库软件几乎没法直接打开。这时候别急着硬啃二进制先做一件事在文件里搜索可读字符串。用grep -a或者strings搜一小段看看有没有表名、列名、提示信息。很多 C-ISAM 文件会把表和索引的元信息放在文件首部搜索能帮你快速判断这个文件到底是数据表还是索引文件也方便后面重写迁移程序时搞清楚字段布局。2.4 先判断这套资料值不值得折腾整理老资料和写新代码不一样最忌讳一股脑儿扎进去。打开压缩包后先回答三个问题系统安装盘是否齐全XENIX 安装至少要 N1、N2、N3 等多张软盘缺一张后面的步骤就卡死。有没有序列号和激活码XENIX 安装时会校验 license没有注册码装上也进不去。业务系统源码是否完整要看的不是文件数量而是有没有主程序、数据目录、编译脚本或者启动脚本。我第一次拿到这套资料时花了两小时在装系统上结果一张镜像 CRC 校验失败在安装引导阶段就卡住。后来静下心列了个清单核一遍才发现有个子目录名字写的是N2里面放的却是N1的镜像对调之后一次就装过去了。所以动手之前先花十分钟列个文件清单你后面会省出好几个小时。3. 把 XENIX 塞进模拟器安装不等于无脑下一步3.1 模拟器选型为什么最终选了 86BoxXENIX 是 1980 年代末的系统想在今天的物理机上直接装成功率约等于零——老系统根本不认现代的 SATA/NVMe 硬盘显卡、中断、BIOS 调用全对不上。软件模拟器的思路才靠谱。XENIX 年代对应的是 Intel 386/486 机器所以最适合的模拟器是 86Box 和 PCem它们能模拟出完整的 386 主板、BIOS、IDE 控制器和软驱控制器。DOSBox-X 在某些场景下也能跑但对老系统的兼容性不如前两者。VMware 和 VirtualBox 反而不要指望XENIX 不认识虚拟化层提供的现代磁盘控制器和芯片组经常装一半就找不到启动设备。我最终选了 86Box原因有三个。第一它对老软驱控制器的模拟很完整支持多种软盘镜像格式能直接加载.IMD、.DSK、.IMG第二CPU 和芯片组可以逐代调整从 386SX 到 486DX 都行第三它的配置和磁盘镜像都是明文文件方便批量操作和备份。3.2 在 86Box 里配置一台“老掉牙”的机器创建一个给 XENIX 用的虚拟机关键参数我是这样设的CPU386DX 或 486DX频率 33~66MHz 都行XENIX 对频率不敏感。内存16MB 到 32MB别给太多太新的内存布局反而可能让老系统犯迷糊。显卡标准 VGAXENIX 文本控制台只用到 VGA 文本模式。软驱两个A 驱 1.2MB 高密度B 驱 360KB。老安装流程里经常要换盘两个软驱能省很多事。硬盘IDE 接口容量 200~500MB。绝对不要用超过 1GB 的大硬盘老系统对 CHS 柱面数很敏感超过 1024 柱面可能导致分区工具算错地址安装直接失败。网卡不配。XENIX 的网卡驱动极难找、极难配项目里没有必须用网络的需求绕开它最稳妥。我实际踩过的一个坑第一次图省事给硬盘设了 2GB、用“自动”几何参数结果安装程序启动分区工具就报错。把硬盘改小到 500MB、手工指定 CHS本文还有配套的精品资源点击获取