1. 项目缘起:为什么要在虚拟机里折腾国产飞腾与统信系统?
最近几年,国产化软硬件生态的发展速度,相信很多圈内的朋友都有目共睹。从芯片到操作系统,从办公应用到行业软件,整个链条都在快速迭代和成熟。作为一名长期关注技术生态的从业者,我始终认为,脱离实际环境去空谈技术趋势,意义不大。真正的理解,往往来自于亲手搭建、配置、乃至“折腾”的过程。
“飞腾”和“统信UOS”无疑是这条国产化道路上两个响当当的名字。飞腾处理器,作为国产CPU的重要力量,其ARM架构的生态适配是很多项目落地的关键。统信桌面操作系统(UOS),则是目前国内主流的桌面Linux发行版之一,以其良好的用户体验和广泛的软硬件兼容性,成为了许多政企办公环境的首选。
那么,对于我们这些开发者、运维工程师、技术爱好者,或者仅仅是好奇的“围观群众”来说,如何能低成本、低风险地接触和体验这套组合呢?答案就是:虚拟机。在个人电脑(通常是x86架构的Intel/AMD平台)上,通过虚拟机软件模拟出一个ARM架构的环境,并在此之上安装统信UOS,这几乎是最佳的学习和测试途径。它避免了购买实体ARM开发板的硬件成本,也绕开了在物理机上直接安装可能带来的系统风险。
今天这篇内容,我就把自己最近一次在虚拟机中成功安装飞腾版统信UOS的完整过程、踩过的坑以及总结的经验,毫无保留地分享出来。无论你是想为未来的项目做技术储备,还是单纯想体验一下国产操作系统的现状,这篇手把手的教程都能给你提供一个清晰的路线图。
2. 环境准备:选对工具是成功的一半
在开始安装之前,我们需要准备好三样东西:虚拟机软件、统信UOS的安装镜像、以及一个能模拟ARM环境的虚拟机配置。这一步看似简单,但工具选型直接决定了后续过程的顺利程度。
2.1 虚拟机软件的选择:为什么是UTM?
提到虚拟机,大家首先想到的可能是VMware Workstation或VirtualBox。它们功能强大,但对ARM架构的虚拟化支持(尤其是在非苹果芯片的电脑上)要么是商业版功能,要么需要复杂的配置。经过一番调研和实测,我最终选择了UTM。
UTM是一款基于QEMU的免费、开源的虚拟机软件,它的最大优势在于对多种架构(包括x86_64和ARM64)的原生支持,并且提供了非常友好的图形化界面。对于我们要模拟飞腾(ARMv8架构)环境的需求来说,UTM几乎是“开箱即用”的选择。它屏蔽了底层QEMU命令的复杂性,让我们可以像使用VMware一样,通过点击鼠标来完成大部分配置。
注意:UTM有macOS版和Windows版。本文演示基于macOS版本,但Windows版的操作逻辑基本一致。如果你坚持使用VMware,需要确保你的版本支持创建ARM虚拟机(如VMware Fusion 13+ for Apple Silicon Mac,或在x86电脑上通过特定方式加载ARM内核),过程会复杂许多。
2.2 获取正确的统信UOS安装镜像
这是整个过程中最容易出错的一环。统信UOS为不同的CPU架构提供了不同的镜像版本。我们的目标是模拟飞腾环境,飞腾CPU是ARMv8架构,因此必须下载ARM64架构的统信UOS镜像。
访问统信软件官网的下载中心,你可以找到多个版本。请务必选择标注为“桌面版(ARM)”或“飞腾版”的ISO镜像文件。通常文件名中会包含“arm64”、“ft”(飞腾缩写)或“kunpeng”(鲲鹏,同属ARM架构)等字样。下载得到一个后缀为.iso的文件,这就是我们的安装盘。
实操心得:官网下载可能需要注册账号。如果用于个人学习和测试,也可以关注一些高校或开源镜像站,有时会有更快的下载渠道,但务必核对文件的MD5或SHA256校验值,确保镜像完整无误。
2.3 规划虚拟机基础配置
在打开UTM创建虚拟机之前,我们先心里有个数。模拟一个完整的桌面环境,资源不能太吝啬。以下是我建议的起步配置,你可以根据自己宿主机的性能进行调整:
- CPU核心:至少分配4个虚拟核心。ARM架构的软件编译和运行,在多核下表现更好。
- 内存:至少4GB(4096MB),推荐8GB。桌面环境本身和后续安装应用都需要内存。
- 磁盘空间:新建一个虚拟磁盘,建议不少于40GB。系统本身占用约15-20GB,需要为应用和文件留出余地。
- 显卡与显示:UTM中通常选择
VirtIO-GPU或VirtIO-GPU-PCI作为图形设备,这是与QEMU/KVM配合效率较高的虚拟显卡。显示分辨率可以后续在系统内调整。
准备好镜像文件和这些参数,我们就可以开始动手创建虚拟机了。
3. 步步为营:在UTM中创建并配置ARM虚拟机
打开UTM软件,点击“创建新虚拟机”。我们会看到几个选项,这里选择“虚拟化”,因为我们需要模拟与宿主机不同的ARM架构。
3.1 选择系统架构:瞄准ARM64
在系统架构页面,这是最关键的一步。在“架构”下拉菜单中,选择aarch64。aarch64就是ARM 64位架构的另一种称呼,完全兼容飞腾处理器所采用的ARMv8-A架构。下面的“系统”通常会随之自动变为“Generic”,保持默认即可。
3.2 分配硬件资源
接下来是资源分配页面,将我们在2.3节规划的参数填入:
- 内存:拖动滑块或直接输入,例如
8192MB。 - CPU核心:根据宿主机的核心数,分配4个或更多。我的Mac分配了4核。
3.3 配置存储:载入镜像与创建硬盘
存储页面需要添加两个设备:
- 光盘驱动器(用于安装):点击“浏览”,选择你下载好的统信UOS ARM版
.iso镜像文件。这一步相当于把安装光盘插入了虚拟光驱。 - 虚拟硬盘(用于安装系统):点击“新建”,创建一个新的磁盘映像。大小设置为
40.00 GB,格式选择qcow2。qcow2是QEMU的一种动态分配格式,它不会立刻占用40GB的物理空间,而是随着虚拟机内实际使用量增长而增长,非常节省宿主机磁盘。
3.4 调整其他关键设置
完成主要配置后,别急着启动,有几个细节设置能极大提升使用体验:
- 网络:确保网络设备已添加(默认就有)。模式选择“共享网络”,这样虚拟机就能通过宿主机的网络连接上网,对于安装系统时下载更新和后续安装软件至关重要。
- 显示:图形适配器选择
VirtIO-GPU。将“分辨率”从默认的“自动”改为一个固定值,例如1920x1080,这样系统启动后显示比例会更正常。 - SPICE工具:在“输入/输出”部分,建议启用“SPICE Guest Tools支持”。这会在安装系统后,方便我们安装增强工具,实现宿主机与虚拟机之间更好的剪贴板共享、文件拖放等功能。
检查所有配置无误后,给虚拟机起个名字,比如UOS-on-FT-ARM,然后点击“保存”并启动虚拟机。
4. 安装实战:统信UOS的安装与初始化配置
虚拟机启动后,会从我们加载的ISO镜像引导,进入统信UOS的安装界面。这个过程与在物理机上安装Linux发行版非常相似。
4.1 启动与语言选择
首先看到的是统信UOS的启动菜单,选择“安装统信UOS”。随后进入图形化安装向导,第一步是选择语言,根据喜好选择“简体中文”即可。
4.2 分区与磁盘配置
这是安装的核心步骤。由于我们为虚拟机分配了一块全新的、空白的虚拟硬盘,安装程序通常会推荐“全盘安装”或“简易安装”。对于新手,我强烈建议选择“全盘安装”。
全盘安装会让安装程序自动处理所有分区细节(如/根分区、swap交换分区等),无需手动干预。安装目标磁盘务必选择我们创建的那个40GB的虚拟硬盘(在UTM中它可能显示为vda或类似标识)。绝对不要选错到宿主机磁盘!
踩坑记录:在早期的测试中,我曾尝试手动分区,但由于对ARM架构下UOS的引导分区(
/boot/efi)要求不熟悉,导致安装后无法引导。对于学习和测试环境,自动分区省时省力,是最稳妥的选择。
4.3 用户创建与系统配置
接下来是创建用户和设置计算机名:
- 设置用户名和密码:输入你的名字(会作为主机名的一部分),设置一个登录用户名和强密码。记住这个密码,它是你后续进入系统的钥匙。
- 计算机名:可以保持默认,也可以修改为一个更有辨识度的名字。
- 自动登录:为了测试方便,可以勾选“自动登录”,这样启动后无需输入密码直接进入桌面。在生产环境或安全要求高的场景下,请不要勾选。
4.4 开始安装与等待
确认所有信息无误后,点击“开始安装”。安装程序会将系统文件从ISO镜像复制到虚拟硬盘,并进行一系列配置。这个过程视宿主机的磁盘性能而定,通常需要10到20分钟。
安装完成后,安装程序会提示重启。点击“立即重启”。此时,UTM可能会因为虚拟光驱仍挂着ISO而再次从光盘启动。你需要在虚拟机窗口出现启动画面时,快速按ESC键(或根据UTM提示)进入虚拟机的启动菜单(Boot Menu),选择从vda(你的虚拟硬盘)启动,而非cdrom。更一劳永逸的方法是,在UTM虚拟机关机后,在设置里移除之前加载的ISO镜像,这样下次启动就会自动从硬盘引导了。
5. 安装后的优化与必备操作
成功从硬盘启动,进入统信UOS的登录界面,输入密码进入桌面,这标志着安装基本成功。但为了让这个虚拟环境更好用,我们还需要进行一些优化操作。
5.1 安装SPICE增强工具(强烈推荐)
还记得我们在创建虚拟机时启用的“SPICE Guest Tools支持”吗?现在需要安装对应的客户端驱动。这能带来两大核心好处:
- 剪贴板共享:可以在宿主机和虚拟机之间自由复制粘贴文本。
- 更好的显示集成:虚拟机窗口可以自适应缩放,鼠标指针进出虚拟机更流畅。
在统信UOS桌面中,打开“终端”。我们需要手动挂载一个由UTM/QEMU提供的虚拟光盘,里面包含了增强工具。在终端中依次执行以下命令:
# 创建一个挂载点目录 sudo mkdir -p /mnt/cdrom # 挂载 virtio 光盘(通常为 /dev/sr0 或 /dev/cdrom) sudo mount /dev/sr0 /mnt/cdrom # 进入挂载目录 cd /mnt/cdrom # 查看目录内容,通常会看到 .rpm 或 .deb 包 ls对于统信UOS(基于Debian),我们应该寻找.deb格式的包。通常会有spice-vdagent之类的包。使用dpkg命令安装:
# 安装所有 .deb 包(按实际文件名调整) sudo dpkg -i *.deb # 安装后可能会提示依赖问题,运行以下命令修复 sudo apt --fix-broken install -y安装完成后,重启虚拟机。重启后,你应该能立刻感受到鼠标移动和剪贴板共享的顺畅。
5.2 更新系统与安装基础软件
新安装的系统,第一件事就是更新软件源和系统包,确保安全性和稳定性。
# 更新软件源列表 sudo apt update # 升级所有可升级的软件包 sudo apt upgrade -y更新完成后,可以安装一些常用的开发或测试工具,例如gcc,make,git,vim等:
sudo apt install -y gcc make git vim5.3 调整显示分辨率与缩放
如果感觉桌面图标或字体大小不合适,可以进入“控制中心”->“显示”进行调整。你可以修改分辨率,也可以开启“屏幕缩放”,根据个人喜好调整到舒适的视觉比例。
6. 常见问题排查与性能调优
即使在最顺利的安装过程中,也可能会遇到一些小问题。这里总结几个我遇到过的典型情况及其解决方法。
6.1 虚拟机启动黑屏或卡住
- 症状:虚拟机启动后,屏幕一片漆黑,或者卡在某个启动阶段。
- 排查:
- 首先检查UTM的虚拟机配置,确保“系统”架构是
aarch64,并且CPU核心和内存分配充足(不低于我们建议的4核4G)。 - 检查ISO镜像是否正确。重新下载镜像并校验哈希值。
- 尝试修改显卡设置。在UTM的“显示”设置中,将图形适配器从
VirtIO-GPU临时改为VGA或std,有时老式的模拟显卡兼容性更好。
- 首先检查UTM的虚拟机配置,确保“系统”架构是
- 解决:多数情况下,是显卡驱动或UEFI引导的问题。确保安装时选择了正确的磁盘并成功完成。如果卡在安装过程,可以尝试在安装引导菜单按
e键编辑启动参数,在linux行末尾添加nomodeset参数,临时禁用内核模式设置,进入安装界面后再安装显卡驱动。
6.2 网络无法连接
- 症状:系统内浏览器打不开网页,
ping外网不通。 - 排查:
- 在UTM设置中确认网络适配器已启用,且模式为“共享网络”(NAT)或“桥接模式”。
- 在统信UOS桌面,查看右上角网络图标状态。尝试禁用再启用网络连接。
- 打开终端,运行
ip addr命令,查看是否有获取到IP地址(通常是192.168.64.x或10.0.2.x等NAT网段)。
- 解决:如果UTM使用的是“共享网络”,虚拟机IP由UTM内置的DHCP服务器分配,一般无需手动配置。如果仍不行,尝试在UTM中将网络模式改为“桥接模式”(需要宿主机网络支持),并选择正确的物理网卡。
6.3 系统运行缓慢
- 症状:桌面操作有明显卡顿,程序启动慢。
- 分析与调优:
- 资源不足:这是最常见的原因。返回UTM配置,为虚拟机增加CPU核心数和内存大小。对于桌面环境,8GB内存和4核CPU是流畅运行的基线。
- 磁盘I/O瓶颈:UTM/QEMU默认的磁盘I/O模式可能不是最优。在UTM的存储设置中,可以尝试将虚拟硬盘的“接口”从默认的
IDE改为VirtIO,并在虚拟机内安装相应的virtio驱动(通常系统已自带),能显著提升磁盘性能。 - 图形加速:确保已按照5.1节安装了SPICE增强工具。此外,在UTM的“显示”设置中,可以尝试启用“3D加速”(如果选项可用),但这依赖于宿主机的GPU和驱动,不一定有效。
6.4 软件包安装失败或依赖错误
- 症状:使用
apt安装软件时,提示“无法定位软件包”或“依赖关系不满足”。 - 解决:
- 首先运行
sudo apt update刷新软件源。 - 统信UOS的软件源可能默认未包含所有社区软件。可以谨慎地添加Ubuntu的ARM64官方源或国内镜像源(如清华、阿里云镜像),但要注意版本兼容性(UOS通常基于某个Debian/Ubuntu LTS版本)。修改
/etc/apt/sources.list文件前务必做好备份。 - 对于依赖问题,
sudo apt --fix-broken install命令通常能自动修复。如果不行,根据错误信息,手动安装缺失的依赖包。
- 首先运行
经过以上步骤,你应该已经拥有了一个运行在x86电脑虚拟机中、但完全模拟ARM64(飞腾)架构的统信UOS桌面环境。这个环境足够稳定和完整,可以用来进行软件兼容性测试、基础开发学习、或者单纯体验国产操作系统的功能和生态。整个过程的核心在于理解“跨架构虚拟化”的概念,并选对工具(UTM)和镜像(ARM版)。希望这篇详尽的记录,能帮你绕过我踩过的那些坑,顺利开启你的国产化环境探索之旅。