拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

在VMware中安装32位Ubuntu 16.04:老软件兼容环境的完整指南

在VMware中安装32位Ubuntu 16.04:老软件兼容环境的完整指南 如果你在2025年还翻出一个32位的Ubuntu 16.04镜像往VMware里装大概率会被人问一句“还折腾这玩意儿干嘛”。我恰好就是因为一个老项目的交叉编译工具链只提供32位版本被逼着把这套老组合从头到尾跑了一遍。而且实际装完发现这个组合并没有想象中那么古董VMware Workstation Pro 17完全能正常承载32位客户机Ubuntu 16.04装上之后跑老软件、做实验、复现旧环境都挺稳。这篇文章就把整个过程按我的实际操作顺序记录下来从镜像选择、虚拟机配置到安装中的每一步细节再到装完之后的收尾和排坑给有同样需求的读者一份能直接照着做的参考。1. 为什么到2025年还有人装32位的Ubuntu 16.041.1 32位系统在今天的真实使用场景很多人第一反应是“32位系统早就淘汰了”这个说法对日常办公没错但在特定领域里32位环境依然是刚需。最典型的就是老旧的工业软件和商业程序。有些工控软件、加密狗驱动、银行U盾控件十几年前发布之后就再没更新过官方只提供32位版本而且依赖某些老的动态库。这些程序在64位系统上要么直接打不开要么频繁报错。另外一些高校的教学实验、逆向分析课程、嵌入式开发中的老工具链也常常指定要32位Linux环境。还有一个原因是性能开销问题。32位系统本身更轻量在低配虚拟机上跑起来比64位系统更流畅。我们这台虚拟机如果只是用来跑某个单一的老工具2GB内存配合Ubuntu 16.04的桌面环境操作响应相当跟手。1.2 Ubuntu 16.04已停止维护为什么还要选它Ubuntu 16.04的代号是Xenial Xerus标准支持到2019年扩展支持到2021年4月就彻底结束了。按说它已经进入“远古版本”行列但这恰恰是很多老软件兼容性最好的发行版。老软件编译时通常是基于当时系统的glibc版本和库接口Ubuntu 16.04的glibc版本是2.23很多商业软件的最后一次兼容性测试就是在这套环境上做的。如果换成Ubuntu 18.04或者20.04反而会出现各种奇怪的运行库缺失。所以在这个场景下“老”反而是优点。当然EOL意味着不再有安全补丁我建议这类虚拟机只跑内网工具不要用来浏览外网或处理敏感数据。如果你需要在隔离环境里复现老软件行为这个组合是非常理想的选择。1.3 为什么用VMware而不是容器或裸机有人会问既然只是要一个老环境用Docker不是更轻量吗问题在于32位容器依赖宿主机内核的32位兼容层现代64位内核虽然默认开启IA32模拟支持但一些老程序依赖的内核模块、设备节点、系统调用行为和容器环境差距很大折腾起来比虚拟机还头疼。裸机安装就更不现实了现代电脑主板和CPU对32位系统的启动支持很差驱动更是一大堆问题。VMware这类虚拟机方案的优势非常明显快照随时回滚、硬件虚拟化兼容性好、网络模式可调、配置不用动物理机而且安装完可以整体打包迁移。这也是我把这套环境放在VMware里的核心原因。2. 安装前的准备镜像下载与VMware版本选择2.1 32位镜像怎么下载才靠谱Ubuntu 16.04的最后一个维护版本是16.04.732位桌面版的镜像文件名是ubuntu-16.04.7-desktop-i386.iso。注意这里的“i386”就是32位的意思千万别下成“amd64”结尾的64位镜像。下载地址有几个选择。官方旧版本镜像放在releases.ubuntu.com/16.04/目录下不过官方服务器的下载速度在国内不算稳定经常只有几十KB每秒。我的做法是先从阿里云镜像站的ubuntu-releases/16.04.7/目录下载速度能跑到几MB每秒。下载完之后一定要校验哈希值官方页面上会同时给出MD5和SHA256校验码这能避免下载损坏导致安装到一半就各种诡异报错。下载完成后可以得到如下文件建议单独放在一个英文路径的目录里后续会用到ubuntu-16.04.7-desktop-i386.iso ubuntu-16.04.7-desktop-i386.iso.md52.2 VMware Workstation版本选择老版本更好还是新版本更稳这里有个经验之谈装32位老系统VMware Workstation Pro 16或17都没有问题新版并不会因为客户机太老就不支持。我用的是VMware Workstation Pro 17安装过程中没有遇到任何兼容性障碍。如果你不想折腾许可证直接使用Workstation Player免费版也可以完成安装只是缺少快照创建这类便利功能。考虑到装完后经常要测试不同软件环境快照功能非常值得用我建议还是选择Pro版本。许可证问题这里不展开大家根据自己的实际情况处理。还有一个容易踩的坑是固件类型。VMware最新版创建虚拟机时默认使用UEFI但32位Ubuntu 16.04对UEFI的支持不怎么样实机安装时就经常出现启动失败。我的建议是在虚拟机设置里手动把固件改成BIOS这样32位系统的启动兼容性会好非常多。至于怎么改下面讲配置时会具体说。2.3 主机端的最低要求其实远比你想象的低跑32位Ubuntu虚拟机对主机几乎没什么压力。CPU方面只要支持VT-x或AMD-V虚拟化就行现在随便一台电脑都满足内存的话宿主机有8GB就已经很宽松分配给虚拟机2GB之后剩下的还够开浏览器和IDE磁盘占用也不大虚拟磁盘20GB封顶实际用下来可能连5GB都不到。确认虚拟化是否开启很关键。在Windows任务管理器里切到“性能”选项卡看右下角“虚拟化”一栏是否显示“已启用”。如果显示被禁用需要进BIOS/UEFI里打开Intel VT-x或AMD-V选项这一步不做的话VMware安装引导都进不去。3. 新建虚拟机时的关键配置项3.1 创建向导里的两个选择自定义和稍后安装打开VMware Workstation点击“创建新的虚拟机”。第一屏会让你选“典型”还是“自定义”这里直接选“自定义(高级)”虽然多几步设置但能避免后面很多返工。到“安装程序光盘映像文件”这一步不要急着选ISO文件而是选择“稍后安装操作系统”。这是一个很多人不知道的技巧如果在这里直接挂载ISOVMware会启用“简易安装”模式自动帮你分区、创建用户、安装系统整个流程确实快但它自动分的区不一定合理而且有时候会跳过一些32位系统的兼容性设置。手动安装虽然多等十几分钟每一步都在自己控制中。3.2 客户机操作系统类型Ubuntu还是Ubuntu 64位在选择操作系统类型时列表里会有“Ubuntu”和“Ubuntu 64位”两个选项。这是一个非常容易选错的地方32位系统必须选“Ubuntu”而不是“Ubuntu 64位”两个名称前面都没有数字标识很多人顺手就点了64位结果是系统安装界面能进但启动后会一直以不正确的CPU模式运行性能和兼容性都有问题。接下来设置虚拟机名称和位置建议名称写成Ubuntu16.04-32bit存放位置选一个剩余空间充足的盘。后续的处理器配置给2个核心虚拟化引擎里的“虚拟化Intel VT-x/EPT或AMD-V/RVI”保持勾选这样32位系统内部跑一些需要虚拟化的开发工具时也能正常工作。3.3 内存、磁盘、网络这些参数怎么给内存我直接给了2GB。32位系统本身默认最多识别4GB内存2GB已经能非常流畅地跑桌面加编译任务再往上意义不大反而会让宿主机内存紧张。磁盘给20GB这里有个选择创建时“将虚拟磁盘存储为单个文件”还是“拆分成多个文件”。如果磁盘所在分区是NTFS且不是FAT32建议选“单个文件”磁盘读写性能会好一点快照操作也更顺畅。20GB对于装个16.04加常用开发工具绰绰有余。网络类型我选了NAT模式。这是虚拟机网络里最省心的选项虚拟机通过宿主机的网络连接上网不用管局域网IP分配。如果你需要让局域网里的其他设备直接访问这台虚拟机比如跑Web服务给同事测试那就必须用桥接模式这里根据实际需求改。4. Ubuntu 16.04 32位安装全流程拆解4.1 从ISO启动后遇到的第一屏选择虚拟机创建完毕双击“编辑虚拟机设置”在“CD/DVD(SATA)”里挂载刚才下载的ISO镜像再把“启动时连接”勾上。点击“开启此虚拟机”屏幕进入GRUB引导菜单。这里有两个选项“Try Ubuntu”是试用模式另一个才是正式安装。直接选择第二个“Install Ubuntu”这个选择没有争议。安装前建议把网络断开半分钟倒不是必须主要是为了避免安装器连接更新源导致整体速度变慢。断网方法很简单在Ubuntu试用桌面打开右上角网络菜单把“Enable Networking”的勾选去掉即可。实测下来断网安装大约15分钟完成联网装加上更新的话可能要半小时以上。4.2 分区环节手动分区比自动分区更值得之后的语言、键盘布局、安装选项这些步骤都比较好理解最多注意一下“安装中下载更新”那个复选框不要勾选原因就是刚才说的网速问题。到分区步骤时安装器问“安装类型”这里的选项比网上很多教程描述的更丰富。默认的“清除整个磁盘并安装Ubuntu”确实最简单但要注意它自动划分的SWAP分区通常只有1GB而Ubuntu 16.04休眠和内存转储默认依赖SWAP万一系统内存跑满直接就卡死。我采用的是手动分区操作是先点“其他选项”然后“新建分区表”确认之后按这个方案分配分区大小类型挂载点/15GB主分区/swap2GB逻辑分区交换空间/home剩余空间逻辑分区/home之所以单独分一个 /home是因为以后装软件、升级或重装系统时用户数据和下载的配置都放在 /home系统分区是干净的任何重装操作都不会影响个人文件。这个习惯比什么都重要。分区分好之后点击“现在安装”它会弹出提示“以下分区将被格式化”确认无误点击继续。4.3 用户信息与安装完成重启接下来的界面让你填姓名、计算机名、用户名和密码。这里建议用户名用全小写英文避免后续某些工具或脚本因为路径带中文或大写字母而出问题。勾选“自动登录”还是“要求我的密码登录”都可以自己用的话自动登录更方便安全性要求高则选密码。安装进度条走完后提示“安装完成请重启虚拟机”。这时点击“继续测试”或者直接重启都可以重启时VMware会弹出提示“移除安装介质或按Enter键”在虚拟机设置里把CD/DVD连接改为“已断开”或者在启动画面按一下回车即可不会出问题。5. 装完系统后必做的四项收尾工作5.1 第一件事安装open-vm-tools而不是旧版VMware Tools装完系统第一件要做的事就是安装虚拟机增强工具这一步不完成虚拟机的分辨率会卡在800x600剪贴板也不能和宿主机互通拖拽文件更是别想。Ubuntu 16.04装增强工具时有个选择VMware的“安装VMware Tools”菜单项会挂载一个压缩包里面是旧版VMware Tools的源码包需要编译安装过程麻烦还容易报错。而Ubuntu仓库里已经提供了open-vm-tools这个开源版本功能完全相同甚至更好一条命令就能装好sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop装完之后重启虚拟机分辨率会自动适配窗口大小剪贴板和拖拽文件功能也会同时生效。这一步是整个安装流程里最省事的但很多人不知道还在吭哧吭哧编译旧版Tools完全是浪费时间。注意如果你同时装了旧版VMware Tools和open-vm-tools可能会遇到服务冲突导致拖拽功能失效。我的建议是只保留open-vm-tools不要动“安装VMware Tools”菜单项。5.2 第二件事把apt源换成能用的镜像源大坑Ubuntu 16.04的所有安全更新已经停止默认配置的archive.ubuntu.com源现在返回404或遥远的访问超时。这是整个安装过程中最让人头疼的一步处理不好系统会像“断网”一样什么都装不了。我的处理方式是直接把/etc/apt/sources.list替换为old-releases.ubuntu.com的源。先备份原来的文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak然后编辑文件写入以下内容deb http://old-releases.ubuntu.com/ubuntu/ xenial main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse保存后执行sudo apt update如果old-releases.ubuntu.com在你的网络环境下也不稳定可以考虑国内镜像商的16.04历史源结构类似把域名换成镜像站的地址并加/ubuntu/路径即可原理完全相同。改源这件事没有一劳永逸的万能方案但old-releases是官方长期可用的老版本源稳定性最可靠。5.3 第三件事中文输入法和字体显示Ubuntu 16.04默认输入法是iBus框架自带的中文拼音体验一般不少人的习惯是装搜狗输入法。但说句实话搜狗Linux版在16.04上的依赖关系比较复杂需要额外装一堆Qt库和教育网字体装完之后还需要重启好几次才能正常显示。我更推荐一个轻量方案直接在默认配置里加装Google拼音sudo apt install fcitx fcitx-googlepinyin装完之后在系统设置中把输入法框架切换为fcitx打开“系统设置” - “文本输入”点击右下角“输入法配置”按钮把当前输入法框架切到fcitx然后在fcitx配置里添加“Google拼音”即可。重启虚拟机后按CtrlSpace就能切换中英文输入整个体验流畅度完全能满足日常使用。中文字体方面16.04自带文泉驿微米黑显示效果已经不错了。如果你觉得中文发虚可以再装一套字体sudo apt install fonts-wqy-microhei fonts-wqy-zenhei5.4 第四件事时间同步与共享文件夹虚拟机时间和宿主机时间经常相差8小时原因主要是Ubuntu默认把系统时间当作UTC而Windows当作本地时间。如果这台虚拟机只是自己用时间错乱会导致日志、定时任务各种混乱。最简单的修正方法是让Ubuntu直接使用本地时间timedatectl set-local-rtc 1执行后立刻生效之后虚拟机关机重启后时间也不会乱跳。共享文件夹功能依赖open-vm-tools在虚拟机设置里添加一个共享目录然后在Ubuntu中挂载sudo mkdir -p /mnt/hgfs sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid1000如果不想每次开机都手动挂载可以执行sudo systemctl enable vmware-hgfsclient.service把服务设为开机自启。实测下来这个共享路径在CentOS和Ubuntu下都是稳定可靠的。6. 我在这个安装过程中踩过的三个坑6.1 黑屏卡在GRUB里半天不动装第二次的时候我启动虚拟机永远卡在GRUB界面按任意键没反应等十分钟也没有动静。排查了很久最后定位到两个原因叠加。第一个是镜像文件下载不完整。我最初从第三方网站下的镜像体积差了几十MB虽然能进入安装引导但后续读取文件时始终报错。解决办法就是官方哈希校验这一步看似多余实际上节省的时间远超校验那几秒钟。第二个是固件类型不匹配。VMware默认给新虚拟机配的固件是UEFI而这个老的32位Ubuntu引导程序对UEFI的兼容性极差。解决方法是先关闭虚拟机在“编辑虚拟机设置” - “选项” - “高级”里把“固件类型”从UEFI改为“BIOS”。改完后再启动黑屏问题直接消失。6.2 open-vm-tools装不上提示内核头文件缺失这个坑出现在我执行apt install open-vm-tools时报错信息是一大串Unable to find linux-headers-4.4.0-...。原因是系统自带的gcc、make和内核头文件没有完全安装。解决办法很简单先确认当前内核版本再补装匹配的头文件uname -r sudo apt install linux-headers-generic build-essential头文件装好之后重新执行sudo apt install --reinstall open-vm-tools open-vm-tools-desktop如果还是报错可能是源里没有对应的头文件包这种情况下检查一下上一节的源替换是否成功apt update是否查询到了新的包列表。只要源没问题这个报错就一定可以解决。6.3 网络显示已连接但ping不通外网有一次装完系统后右上角的网络图标显示有线网络连接正常但ping 8.8.8.8一点反应都没有。排查过程很有代表性网卡设置是NAT模式宿主机本身能上网虚拟机里用ip addr也看得到IP地址。问题出在VMware的NAT和DHCP服务没有启动。只要在Windows的服务管理器里检查两个服务VMware NAT ServiceVMware DHCP Service把这两个服务的启动类型设为“自动”然后右键启动。服务起来之后虚拟机里执行sudo dhclient ens33立刻就能获取到新DHCP租约网络恢复。这个坑在Windows 10和11上尤其常见因为系统更新或清理工具可能会把这些非微软服务禁用。从镜像选择到最终收尾整个流程走下来最深的感受就是这套老组合并没有网上说的那么难伺候反而因为系统轻量、依赖稳定在特定场景下比新版系统省心得多。尤其是快照加手动分区这套组合让我可以随时回到安装完成时的干净状态反复测试不同软件也不会把环境弄坏。如果你手头也有一套老软件必须在32位Linux下跑照着上面这些步骤操作大概率能一次成功。唯一要提醒的还是那句老话老系统没有安全补丁装好之后尽量别当日常主力机用。
返回列表