首页 / 资讯中心 / 文章详情

虚拟机安装Ubuntu 9.10完整指南:老系统镜像、换源与避坑

虚拟机安装Ubuntu 9.10完整指南:老系统镜像、换源与避坑 ★ FEATURED ARTICLE
简介内容围绕在Windows主机上使用VMware Workstation 7.0安装Ubuntu 9.10 Linux的完整流程展开面向嵌入式开发初学者、Linux入门者及需要在Windows下搭建Linux实验环境的用户。文档从新建虚拟机、硬件与网络配置、分区安装系统到apt更新软件包、安装vim、build-essential、bison、flex等开发工具再到ARM交叉编译工具链部署、tslib编译依赖安装和双网卡桥接网络配置均有详细讲解并附有常见操作提示。资源为单个docx文件大小3.21MB图文步骤与命令说明结合适合边看边做。当前已有286人学习对于希望保留Windows系统并安全探索嵌入式Linux开发的读者是一份具体且可落地的操作参考。1. 为什么 2025 年还要装一个 2009 年的 Ubuntu 9.10你可能觉得奇怪Ubuntu 都出到 24.04 LTS 了谁还回头折腾 9.10但现实中这个需求一直没断过。很多高校的《Linux 操作系统》课程、老教材的实验指导书、甚至部分嵌入式开发环境的搭建文档写的还是 9.10 时代的命令和界面。教材里截的是 GNOME 2 的橙褐色桌面apt 源还是 archive.ubuntu.com 的老路径你拿 Ubuntu 24.04 去对步骤光一个网卡命名规则就能卡半天——新版叫 ens33老教程里写 eth0对不上就以为自己做错了。虚拟机上安装 Linux 操作系统 ubuntu9.10本质上是解决两件事第一用 VMware Workstation 或 VirtualBox 这类虚拟机软件把一台物理电脑虚拟出独立硬件环境在 Windows 宿主系统里跑一个完整的 Linux 系统第二针对 Ubuntu 9.10 这个已经停止维护的老版本解决镜像去哪找、源怎么换、老内核怎么兼容现代虚拟机硬件这些具体问题。适合谁一个是按教材做实验的在校学生一个是公司里维护老项目需要复现旧环境的工程师。这篇文章就把完整流程、参数、踩坑点一次讲透。2. 环境准备与版本选型为什么是 9.10以及镜像和虚拟机软件怎么选2.1 版本选型Ubuntu 9.10 的特殊之处不是越老越省事Ubuntu 9.10开发代号 Karmic Koala2009 年 10 月发布。它用 Linux 内核 2.6.31默认桌面环境是 GNOME 2.28ext4 文件系统在这个版本里成为默认选项。如果你纯粹想学 Linux 命令装 22.04 甚至 Debian 都行没必要跟自己过不去。但如果你是照着某本 2010 年前后出版的教材做实验那版本不匹配的代价比想象中大老教材里用sudo ifconfig eth0 192.168.1.100配置 IP新版系统根本没有 eth0 这个名字教材里讲的apt-get源格式还是deb http://archive.ubuntu.com/ubuntu/ karmic main restricted新版源结构完全不同。装 Ubuntu 9.10 的前提是你需要复现那个年代的软件环境而不是因为它有多好用。还有一层现实原因如果你的实验环境是学校机房统一发放的虚拟机镜像老师那边用的就是 9.10那你没有太多选型余地。这种情况下虚拟机软件版本和镜像来源就是决定成败的关键。2.2 虚拟机软件选型VMware Workstation 还是 VirtualBox参数差异在哪主流的方案就两个VMware Workstation Pro 和 Oracle VirtualBox。我的建议是优先用 VMware Workstation原因在于它对老系统的硬件兼容层做得更完善尤其是 IDE 硬盘控制器和旧的 Intel ICH7 芯片组模拟VMware 的兼容列表里明确保留了这些老设备类型VirtualBox 在模拟 2009 年时代的硬件时偶尔会出现 ACPI 识别异常。VMware Workstation 创建虚拟机时有几步选择直接影响后续安装成败固件类型选 BIOS不要选 UEFI。Ubuntu 9.10 的内核和 GRUB 版本对 UEFI 支持极差选 UEFI 大概率卡在引导阶段。硬盘接口选 IDE不要选 NVMe 或 SCSI。9.10 的内核 2.6.31 没有现代 NVMe 驱动默认也没有加载 VMware 的 PVSCSI 驱动。网络类型选 NAT。桥接模式需要物理网卡驱动配合老内核在 VMware 的 e1000 虚拟网卡上可能起不来。内存分配 1GB 到 2GB。9.10 的 GNOME 2 桌面很轻量512MB 也能跑但编译软件时会吃力。CPU 分配 1 到 2 核。老内核不支持多核调度优化给多了反而出乱子。提示如果你手头只有 VirtualBox也不是不能装但要手动关闭 EFI关闭嵌套分页存储控制器改成 IDE并且安装完系统后要安装 VirtualBox Guest Additions 的旧版本否则屏幕分辨率只能固定在 800x600。2.3 镜像下载与校验老版本镜像的获取方式和文件校验Ubuntu 9.10 的官方镜像早已停止在主动镜像站分发这是第一个坑。常见的做法是从 Ubuntu 的旧版本归档服务器上下载文件名一般是ubuntu-9.10-desktop-i386.iso大约 700MB。注意 i386 和 amd64 的选择如果你的教材实验全是基础命令和 shell 编程i386 兼容性更稳如果要跑 64 位特有的软件选 amd64。但老教材的软件包很多是 i386 架构的在 amd64 系统上装 32 位包还要开 multiarch平白多一套麻烦。所以我的默认选择是 i386。下载完镜像别急着装先做校验。老归档站点的 MD5 校验值在页面里能找到Linux 和 Windows 下各有校验命令# Windows PowerShell 下计算 MD5 Get-FileHash .\ubuntu-9.10-desktop-i386.iso -Algorithm MD5 # Linux 或 macOS 终端下计算 MD5 md5sum ubuntu-9.10-desktop-i386.iso校验的目的是排除下载过程中镜像损坏的情况。我遇到过镜像没下完整、虚拟机安装到 67% 时报无法读取光盘的问题重新下载校验后才通过。这一步很机械但别跳。3. 新建虚拟机与安装 Ubuntu 9.10 的完整流程照着做就行3.1 VMware 新建虚拟机的 5 个关键配置参数默认值必须改用 VMware Workstation 新建虚拟机时选自定义而不是典型因为典型向导会默认给 NVMe 硬盘和 UEFI 固件这两个默认值恰恰是 Ubuntu 9.10 的克星。到关键配置界面时按下面这张表填配置项推荐值说明固件类型BIOS老内核 GRUB 1.x 不支持 UEFI 引导硬盘接口IDE内核 2.6.31 无现代磁盘控制器驱动网络类型NATe1000 网卡在 NAT 模式下最稳内存1024 MB桌面体验顺滑编译不会 OOMCPU1 核给多核反而可能引起 ACPI 中断异常虚拟化引擎不勾选 VT-x老系统不依赖硬件虚拟化勾了反而卡这些参数里最容易翻车的是硬盘接口。VMware 新版默认推荐 NVMe如果你没改安装到引导阶段就会黑屏。另一个隐性问题如果你在较新的 VMware Workstation 17 里创建虚拟机虚拟机的硬件兼容性版本默认是 Workstation 17.xUbuntu 9.10 不认识这个硬件抽象层。解决办法是在创建时把硬件兼容性改成 Workstation 10.x 或 12.x这个选项在创建向导第一步就能选。3.2 挂载 ISO 并启动安装镜像引导、语言选择和分区步骤配置好虚拟机后在 CD/DVD 设置里挂载下载好的ubuntu-9.10-desktop-i386.iso勾选启动时连接然后开机。看到紫红色启动菜单后按回车进入图形安装界面。Ubuntu 9.10 的 installer 是旧版 Ubiquity过程和新版差别很大第一步选语言中文界面在 9.10 里存在翻译不完整的现象建议选 English装完系统后再补中文语言包。键盘布局选 USA 或 China取决于你物理键盘。这里选错后面输密码会乱因为键盘映射不对。分区是关键。推荐手动分区而不是默认的使用整个磁盘。9.10 时代默认分区方案是 swap 一个 ext4 根分区没有单独的 /home。如果你计划后续做内核编译实验我建议分成三个区/boot200MB、/10GB、/home剩余空间、swap 1GB。分区完后设置用户名密码接下来就是等待复制文件。这里有个 9.10 特有的问题安装到 90% 左右时进度条长时间不动这是它在运行update-grub老机器上可能要等 5-10 分钟别以为死机了。判断是否卡死的办法是看硬盘指示灯VMware 虚拟机里看右下角磁盘活动图标是否在闪。3.3 首次启动后的基础调整分辨率、网络和第一轮 apt-get update装完系统自动重启进入 GRUB 引导菜单。Ubuntu 9.10 的默认 GRUB 是 1.97 版本引导菜单只有三秒等待时间手慢了就进系统了。登录进 GNOME 桌面后第一件事不是装软件而是确认网络通不通# 查看网卡信息确认 eth0 是否存在 ifconfig -a # 测试外网连通性这里 ping 的是一个公共 DNS 服务器 ping -c 4 8.8.8.8 # 查看当前源列表 cat /etc/apt/sources.list我的经验是NAT 模式下eth0默认用 DHCP 获取 IPifconfig -a能看到 192.168.x.x 段地址说明 VMware 的虚拟网卡驱动 vmxnet 或 e1000 被正确加载了。如果eth0不存在大概率是网卡硬件地址和驱动不匹配这个放到第 5 章的避坑清单里细说。4. 换源、装驱动、配置系统的正确姿势Ubuntu 9.10 与新版最大的不同4.1 更换为可用软件源老版本为什么必须手动改源Ubuntu 9.10 的官方源早就停止更新了你执行apt-get update会得到一堆 404 错误。这不是你的网络问题而是archive.ubuntu.com的当前版本目录里只剩下仍在维护的版本9.10 被移到了old-releases.ubuntu.com。常见做法是直接把源列表里的域名替换成 old-releases。# 先备份原文件出问题可以随时恢复 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 用 sed 把 archive.ubuntu.com 换为 old-releases.ubuntu.com sudo sed -i s/archive.ubuntu.com/old-releases.ubuntu.com/g /etc/apt/sources.list # 同样处理 security 源 sudo sed -i s/security.ubuntu.com/old-releases.ubuntu.com/g /etc/apt/sources.list # 再执行更新 sudo apt-get update这段命令的逻辑是-i参数让 sed 直接修改文件不用手动编辑。把archive和security两个域名都换成old-releases是因为 9.10 的软件安全更新也在老归档里。如果你手动用 vi 编辑注意不要改掉deb-src行除非你确定需要源码包。apt-get update正常完成后输出末尾会显示Reading package lists... Done没有任何 404 提示。4.2 安装 VMware Tools剪贴板共享、屏幕分辨率和拖拽文件Ubuntu 9.10 不自带 VMware Tools但 VirtualBox 的增强功能也面临同样的问题——旧版虚拟机的增强工具包和 9.10 的内核头文件能否匹配是另一个常见报错点。VMware 场景下我一般通过菜单虚拟机 - 安装 VMware Tools挂载虚拟光驱但这里有一个特别容易踩的坑9.10 默认没有安装build-essential而 VMware Tools 的编译需要 gcc 和 make。所以顺序必须是先换源、先装编译工具链再装 VMware Tools。# 更新源之后先装基础编译工具这是装 VMware Tools 的前提 sudo apt-get install build-essential linux-headers-$(uname -r) # 挂载 VMware Tools 光驱后复制安装包到 /tmp 解压 cd /tmp tar zxvf /media/cdrom/VMwareTools-*.tar.gz cd vmware-tools-distrib # 运行安装脚本一路默认即可 sudo ./vmware-install.pl -d这里的linux-headers-$(uname -r)是动态获取当前内核版本9.10 的内核是 2.6.31-14uname -r命令会输出这个版本号确保装的头文件版本匹配。-d参数让安装脚本用默认配置自动执行免去十几步交互式提问。安装完成后重启虚拟机屏幕分辨率能调到 1920x1080剪贴板可以双向共享。4.3 中文支持与输入法老版本安装中文语言包的特殊步骤Ubuntu 9.10 的安装盘里带了中文字体和语言包但默认不启用。如果你第 2 章里选了英文界面装完系统后需要手动安装中文支持。9.10 的语言支持逻辑和新版区别很大不是简单跑一个apt-get install language-pack-zh-hans就完事。# 安装中文语言包 sudo apt-get install language-pack-zh-hans language-pack-gnome-zh-hans # 安装中文输入法框架9.10 时代默认是 scim不要装 ibus 的新版本 sudo apt-get install scim scim-pinyin # 配置输入法环境变量 echo export XMODIFIERSimSCIM ~/.bashrc echo export GTK_IM_MODULEscim ~/.bashrc echo export QT_IM_MODULEscim ~/.bashrc source ~/.bashrc装完语言包后在系统 - 系统管理 - 语言支持里把默认语言改成中文注销重新登录整个菜单就变中文了。这个版本不要装 fcitx9.10 的 GTK 2 和 QT3 环境下 fcitx 的兼容性比较差scim 是当年 Ubuntu 官方默认方案虽然笨重但稳定。GTK_IM_MODULE和QT_IM_MODULE这两个变量分别告诉 GTK 程序如 Firefox和 QT 程序如一些老版 Qt 应用在输入框里调用 SCIM。5. Ubuntu 9.10 虚拟机安装避坑指南5 个高频报错逐一排查5.1 现象一虚拟机开机黑屏光标在屏幕左下角闪动安装完成后重启虚拟机屏幕全黑只有一个白色光标在闪没有进入 GRUB 菜单。原因是 VMware 默认的固件类型和硬盘控制器不匹配9.10 的 GRUB 装在了 IDE 硬盘的 MBR 上但虚拟机设置里硬盘被识别成 SCSI 或者虚拟机固件调到了 UEFI。解决关掉虚拟机编辑虚拟机设置把硬盘接口从 SCSI 或 NVMe 改成 IDE固件类型改成 BIOS。如果已经装完系统不想重建虚拟机在 VMware 的.vmx文件里添加一行firmware bios保存并重启虚拟机。这个踩坑很典型我见过不少人装三遍系统才发现是设置问题。5.2 现象二sudo apt-get update返回大量 404 Not Found这个错误在第 4 章已经提到但遇到的频率实在太高值得单独列出来。404 的报错格式是Failed to fetch http://security.ubuntu.com/... 404 Not Found。原因就是源列表指向的域名不再托管 9.10 的软件包。另一个隐蔽坑当你把security.ubuntu.com替换成old-releases.ubuntu.com后如果原本的源里已经有注释掉的deb-src行apt-get update还会尝试访问源码包并报 404。解决把sources.list里的deb-src行全部注释掉或者确认old-releases.ubuntu.com上对应的源码包路径存在。我一般直接用sudo sed -i s/^deb-src/# deb-src/ /etc/apt/sources.list把所有源码源注释省去逐个排查的时间。5.3 现象三安装 VMware Tools 时报错找不到内核头文件vmware-install.pl执行到编译 vmhgfs 模块时报错提示/lib/modules/2.6.31-14-generic/build/include/generated/autoconf.h不存在。因为 9.10 默认安装没有包含linux-headers包只有运行内核没有配套的源码和头文件。解决先执行sudo apt-get install linux-headers-$(uname -r)等头文件装完后再跑 VMware Tools 安装脚本。注意如果apt-get update换源后还是装不上先把源换成old-releases.ubuntu.com并确认 update 没有报错。头文件装完/lib/modules/$(uname -r)/build这个符号链接会指向真实头文件目录VMware Tools 的编译脚本就是靠它找编译依赖的。5.4 现象四虚拟机网络不通ping外网时提示connect: Network is unreachableifconfig能看到eth0但没有 IP 地址或者根本没有eth0。前者是 DHCP 客户端没跑起来后者是网卡驱动没加载。Ubuntu 9.10 的网络管理工具是network-manager在我遇到的情况里它对新创建的 VMware NAT 网络识别有时会迟钝。解决手动配置网络编辑/etc/network/interfaces文件# 手动配置 eth0 为 DHCP auto eth0 iface eth0 inet dhcp # 重启网络服务生效 sudo /etc/init.d/networking restart如果是连eth0都没有用dmesg | grep eth查看内核日志看是驱动加载失败还是硬件地址没分配。VMware 的 e1000 网卡对应内核模块是e1000手动加载一下sudo modprobe e1000然后再看ifconfig -a是否有网卡出现。5.5 现象五安装软件包时提示Package xxx has no installation candidate比如sudo apt-get install vim时报这个错。这个报错信息意味着 apt 源里没有这个包两种情况源换错了或者包名在 9.10 里不存在。Ubuntu 9.10 的软件仓库里没有vim-gtk3这是 16.04 之后才有的只有vim-gtk。nginx在 9.10 里是 0.7.x 版本包名一样但依赖的libpcre3版本较老。解决先用apt-cache search 关键词搜索实际包名# 搜索 vim 相关的包 apt-cache search vim | grep -i editor # 搜索 nginx 相关包 apt-cache search nginx确认包名后安装。如果apt-cache search返回为空说明源还没有真正切换成功回到第 5.2 节的检查流程。这个排查思路同样适用于直接安装build-essential之外的常用工具时所遇到的各种候选包不存在问题。6. 进阶用法与验证快照管理、虚拟机迁移和网络配置实验6.1 用快照做后悔药十分钟还原到干净系统Ubuntu 9.10 装好并做完基础配置后第一件事是拍一个快照。VMware 里右键虚拟机标签 - 快照 - 拍摄快照。这个动作的价值在实践中会越来越明显你后续要做内核实验或修改环境变量一个失误就可能导致系统无法启动这时候快照就是后悔药。快照不是备份它的原理是记录虚拟机磁盘的差异层。拍摄快照后所有写操作落在快照文件里原始磁盘文件不变。所以我建议拍两个快照第一个是刚装完系统、未换源第二个是换源并装完 VMware Tools。两个快照之间的差异正好可以让你快速切换对比排查问题是自己改错还是系统本身就有问题。# 在虚拟机内验证当前系统版本和内核信息 lsb_release -a uname -r这两个命令的输出应当显示Ubuntu 9.10和2.6.31-14-generic。始终以此为基准确认你的运行环境没有被后续操作污染。6.2 将 VMware 虚拟机迁移到其他主机虚拟机文件和 U 盘启动的边界这个环节要特别提醒不要试图用dd把虚拟磁盘写到 U 盘再物理机启动。9.10 的内核没有现代物理机所需的 AHCI 驱动和 USB 3.0 支持直接物理启动会 kernel panic。虚拟机的意义是在虚拟硬件抽象层上运行脱离这个抽象层老系统基本没法工作。我在网上看到一些思路是把虚拟磁盘转成物理硬盘启动格式然后再扩展到 U 盘启动场景但如果你动手尝试要准备好对 GRUB 安装位置和驱动模块做大量适配不要指望开箱即用。VMware 虚拟机跨主机迁移的常规操作是拷贝.vmx和.vmdk文件到另一台装了 VMware Workstation 的电脑打开.vmx文件。如果另一台电脑的 VMware 硬件版本比原来新提示升级硬件时选以后再说9.10 不需要新版硬件功能。迁移后可能出现 5.4 节的网络不通问题因为 VM 的 MAC 地址变了/etc/udev/rules.d/70-persistent-net.rules里还记录着旧网卡删掉这个文件重启即可。6.3 网络实验与 iptables老版本里特别适合练手的防火墙配置很多框架和教材在讲 Linux 网络时会以老版本为参考因为 9.10 的 iptables 还是 1.4.x 时代语法-A和-D参数明白直接不像新版nftables抽象层次多。在虚拟机里做网络实验的一个常见练习是配置 NAT 转发# 开启 IP 转发 echo 1 /proc/sys/net/ipv4/ip_forward # 设置 SNAT 规则把内网流量伪装成宿主机 IP 出去 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 查看规则是否生效 sudo iptables -t nat -L -nMASQUERADE适合动态 IP 场景它会自动获取 eth0 当前 IP 作为伪装地址。在 9.10 上练习这些规则效果比新版直观因为 iptables 的日志格式和计数器输出在旧版里更容易读。做完实验用sudo iptables -t nat -F清空规则恢复原状。最后说一个我的习惯凡是装老版本 Linux 虚拟机我都会建一个install-notes.txt放在/root/下记录装了什么包、改了哪些配置、路径在哪里。9.10 的软件环境一旦损坏修复成本远高于新版这份笔记往往比重新装一遍系统快得多。第一次装 9.10 时我没做记录后来源列表改崩了只能重新建虚拟机第二次开始记录后续遇到问题基本十分钟定位。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站