1. 项目概述:在个人电脑上重现经典Unix工作站
如果你对计算机历史,尤其是90年代那些造型酷炫、性能强悍但价格令人咋舌的Unix工作站感兴趣,那么今天这个项目绝对能让你过把瘾。我们不再需要去二手市场淘换那些早已停产的硬件,也不必担心老旧的SCSI硬盘随时会罢工。借助现代虚拟化技术,我们完全可以在自己的笔记本电脑或台式机上,完整地“复活”一台经典的Sun SPARCstation工作站,并运行原汁原味的Solaris 2.6操作系统。
这不仅仅是一次怀旧之旅。对于开发者而言,理解不同指令集架构(如RISC与CISC)的设计哲学,亲身体验经典的Unix系统管理流程,或是为一些遗留的SPARC平台软件进行测试,都具有非常实际的意义。对于计算机历史爱好者或教育工作者,这更是一个绝佳的、可交互的“活标本”。整个项目的核心,是使用一个名为QEMU的开源机器模拟器。它不像VMware或VirtualBox那样仅仅虚拟化x86环境,而是能够进行全系统模拟,包括CPU指令集、主板芯片组、外围设备等。这意味着我们可以在基于x86或ARM的现代主机上,创造一个完全虚拟的SPARC硬件环境。
接下来,我将带你从零开始,一步步搭建这个环境。整个过程涉及工具准备、磁盘创建、系统安装、网络配置和基础设置。我会尽量还原当年安装Solaris时的真实步骤,同时补充大量基于我个人实操的经验和避坑指南,确保你能一次成功,并理解每一个操作背后的原因。
2. 环境与工具准备:搭建你的虚拟硬件基石
在开始“装机”之前,我们需要把所有的“硬件”和“安装盘”准备好。这里的硬件是虚拟的,由QEMU提供;安装盘则是一个操作系统镜像文件。
2.1 QEMU的获取与安装策略
QEMU是我们的核心工具,它扮演着虚拟主板、CPU、内存和各类控制器的角色。选择正确的版本和安装方式至关重要。
对于Windows用户:最省事的方法是直接从QEMU官方网站下载编译好的二进制包。我推荐使用较新的版本,但不必追求绝对最新。原文提到的2019年版本(如3.1.0)确实非常稳定,对SPARC架构的支持已经相当成熟。你可以下载一个压缩包,解压到任意目录(例如C:\qemu),然后将该目录的路径(如C:\qemu)添加到系统的PATH环境变量中。这样,你就可以在命令提示符或PowerShell中直接运行qemu-system-sparc等命令了。一个常见的坑是,如果你系统里安装了其他虚拟化软件(如Hyper-V),可能会存在冲突,导致QEMU无法启动或性能极差。这时,你可能需要暂时禁用Windows功能里的“Hyper-V”和“Windows虚拟机监控程序平台”。
对于macOS用户:使用Homebrew包管理器是最优雅的方式。打开终端,输入brew install qemu即可。Homebrew会自动处理依赖和路径配置。需要注意的是,在基于Apple Silicon(M系列芯片)的Mac上,QEMU是通过Rosetta 2转译运行的,但这并不影响它模拟SPARC这类完全不同架构的客户机,性能完全可接受。
对于Linux用户:情况稍微复杂一些。大多数发行版的软件仓库里都有QEMU,但版本可能较旧。对于Ubuntu/Debian系,你可以尝试sudo apt install qemu-system-sparc。如果仓库版本太老,导致模拟不稳定,你就需要从源码编译。这听起来吓人,但过程其实很标准化:下载QEMU源码,配置时启用SPARC目标(./configure --target-list=sparc-softmmu),然后make && sudo make install。编译过程会花费一些时间,但能确保你获得最适合你系统环境的最新版本。
注意:无论哪种平台,安装完成后,请在终端或命令提示符中输入
qemu-system-sparc --version来验证安装是否成功。如果能看到版本号信息,说明基础环境就绪了。
2.2 Solaris 2.6 ISO镜像的获取与验证
这是我们的“安装光盘”。Solaris 2.6是Sun公司在1997年发布的经典版本,正值Sun工作站的黄金时代。由于它是历史软件,Sun(后被Oracle收购)已不再提供官方下载。你需要在一些专注于保存历史软件和操作系统的网站上寻找。在寻找时,请务必注意文件的完整性。一个可靠的ISO镜像通常会有对应的MD5或SHA校验和。下载后,使用校验工具(如Windows上的CertUtil -hashfile,Linux/macOS上的md5sum或shasum)进行比对,确保文件没有在下载过程中损坏。一个损坏的ISO文件会在安装过程中导致不可预知的错误,让你白白浪费大量时间。
2.3 辅助工具:让体验更完整(可选但推荐)
为了让体验更贴近真实,有两样东西值得考虑:
- SPARC键盘映射:Sun Type 5键盘的键位布局与PC键盘有显著不同,特别是左下角的“Stop”和“Again”键,以及左侧的功能键区。即使没有实体键盘,你也可以通过软件(如
xmodmapon Linux)重新映射你的PC键盘,让按键更符合Solaris下的操作习惯。 - 终端复用器:在安装和后续的文本模式操作中,你可能会频繁地在QEMU窗口和主机命令行之间切换。使用像
screen或tmux这样的终端复用器来启动QEMU进程是个好习惯。这样,即使你关闭了启动QEMU的终端窗口,模拟器进程仍在后台运行,你可以随时重新连接上去,避免了因误关窗口导致安装过程中断的悲剧。
3. 创建虚拟磁盘与首次引导
有了工具和镜像,我们现在来创建虚拟机的“硬盘”,并尝试第一次启动,进入一个预安装环境来对硬盘进行初始化。
3.1 创建QEMU磁盘镜像
QEMU支持多种磁盘镜像格式,我们选择qcow2(QEMU Copy-On-Write)。这种格式的优势在于它支持稀疏存储。也就是说,虽然我们命令创建了一个9GB的镜像文件,但它最初在硬盘上只占用几十KB的空间,随着虚拟机内数据的写入才会动态增长。这节省了宝贵的宿主机磁盘空间。
打开你的终端或命令提示符,切换到你想存放虚拟机文件的目录,然后执行:
qemu-img create -f qcow2 sparc.qcow2 9663676416这个命令分解来看:
qemu-img create:创建磁盘镜像的命令。-f qcow2:指定格式为qcow2。sparc.qcow2:生成的镜像文件名。9663676416:镜像的容量,单位是字节。这个数字恰好是9GB(9 * 1024^3 bytes)。为什么不用更直观的9G?因为在某些老版本的QEMU工具中,9G可能会被解释为9*1000^3字节,造成细微差异。直接指定字节数是最保险的做法。
执行后,你会看到一句提示:“Formatting 'sparc.qcow2', fmt=qcow2 size=9663676416 ...”。用ls -lh查看一下,你会发现sparc.qcow2文件的实际大小可能只有200K左右,这就是稀疏文件的特性。
3.2 首次引导进入Solaris单用户模式
现在,我们启动QEMU,挂载刚创建的虚拟硬盘和Solaris安装光盘,目标不是安装,而是进入一个维护环境来格式化硬盘。
qemu-system-sparc -M SS-5 -m 128 -drive file=sparc.qcow2,bus=0,unit=0,media=disk -drive file=solaris_2.6_598_sparc.iso,bus=0,unit=2,media=cdrom,readonly=on这个命令参数较多,我们来逐一拆解:
qemu-system-sparc:调用SPARC架构的模拟器。-M SS-5:指定模拟的机器类型为SPARCstation 5。这是90年代中期一款非常流行的工作站型号,QEMU对它的模拟支持比较完善。-m 128:为虚拟机分配128MB内存。对于Solaris 2.6和其上的经典CDE桌面环境来说,128MB是勉强可用的最低配置。如果你宿主机内存充裕,可以增加到256MB(-m 256),操作会流畅很多。-drive file=sparc.qcow2,...:定义第一个驱动器。bus=0, unit=0表示将它连接到SCSI控制器的0号总线、0号单元(可以理解为SCSI ID 0)。media=disk指明这是硬盘。-drive file=solaris_2.6_598_sparc.iso,...:定义第二个驱动器作为光驱。bus=0, unit=2(SCSI ID 2),media=cdrom,并设置为readonly。
运行命令后,QEMU窗口会打开。首先你会看到OpenBIOS(一种开源固件)的启动信息,然后停在一个ok提示符下。这时,我们需要手动指定从光盘启动,并进入单用户模式:
ok boot cdrom:d -vsboot:启动命令。cdrom:d:从d分区启动(在Solaris的磁盘命名习惯中,d分区通常指整个光盘)。-vs:这是传递给内核的参数。-v表示详细模式,会显示更多启动信息;-s表示启动到单用户模式(运行级别S),这是一个只有root用户、没有网络、用于系统维护的最小化环境。
系统会从光盘加载内核,最终你会看到一个以#结尾的root shell提示符。恭喜,你已经成功进入了Solaris的世界!
4. 虚拟磁盘的识别与格式化
现在,我们身处一个极简的Solaris环境中,面前是一块“崭新”的、未经过处理的虚拟硬盘。在Solaris(以及许多Unix系统)中,使用磁盘前需要两个步骤:让系统识别它,然后为它创建标签(类似于分区表)和文件系统。
4.1 扫描并识别新磁盘
在单用户模式的#提示符下,依次输入以下命令:
# drvconfig # disks # formatdrvconfig:这个命令会重新配置设备驱动,扫描并创建设备节点。运行后,系统才能“看到”我们通过QEMU挂载的虚拟SCSI硬盘。disks:这个命令会列出当前系统识别到的所有磁盘设备。运行后,你应该能看到类似c0t0d0这样的输出。c0表示控制器0,t0表示目标0(对应我们QEMU命令中的unit=0),d0表示磁盘0。这就是我们的虚拟硬盘。format:这是一个交互式的磁盘管理和格式化工具。运行后会进入一个新的format>提示符。
4.2 在format工具中配置磁盘
进入format>后,程序会列出它找到的磁盘。通常只有一块,就是我们的c0t0d0(可能显示为0. c0t0d0 ...)。输入0并回车选择它。
接下来是关键一步:指定磁盘类型。Solaris的format工具内置了一个已知磁盘型号的列表,但显然不会有我们虚拟的QEMU磁盘。因此,我们需要选择other(通常是选项16)来手动定义参数。
选择16后,程序会提示你输入磁盘的几何参数:柱面数(cylinders)、磁头数(heads)、每磁道扇区数(sectors/track)。这些参数决定了操作系统如何看待这块磁盘的物理结构。对于我们的9GB虚拟磁盘,可以输入:
- Enter number of data cylinders:
16381 - Enter number of heads:
16 - Enter number of data sectors/track:
63
这些数字是怎么来的?它们是一个经典的CHS参数组合,总容量 = 柱面 * 磁头 * 扇区 * 512字节/扇区。16381 * 16 * 63 * 512 ≈ 8.46 GB,接近我们创建的9GB。实际上,你输入0使用默认值通常也能工作,但明确指定可以避免一些潜在的分区对齐问题。对于后续关于分区起始柱面、备用柱面等提示,直接按回车接受默认值即可。
最后,它会让你为这个自定义磁盘类型起个名字,比如Qemu9G。起个好记的名字就行。
4.3 为磁盘写入标签
磁盘参数设置好后,在format>提示符下输入label。它会警告你这将销毁磁盘上的所有数据(我们的新盘本来就是空的),输入y确认。写入标签(相当于创建了分区表结构)的过程瞬间完成。
完成后,输入q退出format工具,回到#提示符。最后,输入reboot重启系统。这次重启后,我们的虚拟硬盘就已经是一块可以被Solaris安装程序正常识别和使用的“合格”磁盘了。
实操心得:很多人在这一步失败,是因为忘了先运行
drvconfig和disks。没有这两个命令,format工具里就看不到磁盘。另外,在QEMU窗口里,鼠标会被“捕获”,按Ctrl+Alt+G(在Windows/Linux主机上)或Ctrl+Option+G(在macOS上)可以释放鼠标光标回到主机。
5. Solaris 2.6 图形化安装详解
系统重启后,再次回到OpenBIOS的ok提示符。这次我们直接启动安装程序:
ok boot cdrom:d注意,这次没有-vs参数。系统会引导进入Solaris的图形化安装界面(如果内存足够)。整个安装过程是向导式的,但有几个关键点需要特别注意。
5.1 安装初始步骤与网络配置
安装程序启动后,首先会进行一些硬件检测,然后出现欢迎界面。一路点击“Next”或“Continue”,直到出现“Network Connectivity”界面。
这里务必选择“Networked”(是)。即使你的宿主机没有连接网络,QEMU也会为虚拟机提供一个内置的、隔离的虚拟网络。这个虚拟网络是后续系统更新(虽然现在已无源)、软件安装和远程访问的基础。
接下来配置网络参数:
- Hostname:给你的虚拟机起个名字,比如
sparcstation。 - IP Address:输入
10.0.2.15。这是关键!QEMU的虚拟网络默认使用10.0.2.0/24网段,其中10.0.2.15是预留给客户机的IP地址。网关(路由器)地址是10.0.2.2,DNS服务器是10.0.2.3。QEMU内置的DHCP和DNS服务会响应这些地址。 - Name Service:选择
Other,因为我们不使用NIS或LDAP。 - Part of a subnet:选择
No。除非你非常了解网络配置并想设置子网掩码,否则选否,安装程序会自动配置。
5.2 时区、语言与软件组选择
接下来设置时区、日期和时间。选择你所在的地区即可。
在“Software”选择界面,你会看到几个选项:
- End User System Support:最小化安装,仅包含运行基本图形环境和工具所需的软件。适合只想体验桌面的用户。
- Developer System Support:包含了开发工具(如C编译器
cc、make、调试器)、库文件和头文件。我强烈推荐选择这个,因为它允许你在系统内编译软件,可玩性大大增加。 - Entire Distribution:安装所有东西。除非你的磁盘空间非常充裕且想体验完整的Solaris 2.6,否则没必要。
- Custom:自定义。除非你对Solaris的软件包结构非常熟悉,否则不建议,容易选漏依赖包导致系统不完整。
5.3 磁盘布局与安装确认
在磁盘选择界面,安装程序应该会自动选中我们之前格式化好的c0t0d0磁盘。确认它出现在“Selected Disks”列表中。
接下来是文件系统布局。点击“Auto Layout”让安装程序自动分区是最安全省事的选择。它会创建/(根)、swap(交换分区)、/usr、/var等标准分区。你可以查看它的规划,通常无需修改。
之后,安装程序会展示一个总结页面,列出所有配置。仔细核对一遍,特别是主机名、IP地址和软件组。确认无误后,点击“Begin Installation”。
安装过程会持续一段时间,具体取决于宿主机的性能。你会看到进度条和正在安装的软件包名称。这是一个感受90年代软件安装速度的好机会。
5.4 安装完成与手动重启
安装完成后,系统会提示你重启。这里有一个至关重要的步骤:务必选择 “Manual Reboot”(手动重启)。如果选择自动重启,系统会尝试从硬盘启动,但由于我们还没有进行关键的启动配置,很可能会失败,卡在OpenBIOS阶段。
选择手动重启后,你会再次看到一个#根控制台提示符。现在,安装程序已经将系统文件复制到了硬盘(挂载在/a目录下),但我们需要进入这个临时的根环境,进行一些关键的启动和网络配置。
6. 安装后关键配置:让系统可引导、可联网
我们仍在安装程序提供的临时环境中,系统的根目录是/a。我们需要修改这个未来系统根目录下的配置文件。
6.1 修复SCSI启动选项
Solaris内核需要正确的SCSI驱动选项才能从我们模拟的磁盘上成功引导。使用以下命令添加配置:
# cd /a/etc # cat >> system set scsi_options=0x58 ^Dcd /a/etc:切换到新系统/etc目录。cat >> system:向system文件追加内容。system是Solaris的一个核心配置文件,用于设置内核参数。set scsi_options=0x58:这行设置告诉内核启用必要的SCSI标志,特别是对于QEMU模拟的磁盘控制器。^D:输入Ctrl+D(屏幕上显示为^D)来结束输入并保存文件。
6.2 配置网络路由与DNS
接下来配置网络,让系统重启后能正常访问外部网络(即QEMU提供的虚拟网络)。
设置默认网关:
# cat > defaultrouter 10.0.2.2 ^D创建
defaultrouter文件,内容就是QEMU虚拟网络的网关地址10.0.2.2。配置DNS解析: 首先,需要修改名称服务切换配置文件
nsswitch.conf,让系统在解析主机名时也查询DNS。# sed 's/hosts:.*files/hosts: files dns/g' nsswitch.conf > nsswitch.conf.new # mv nsswitch.conf nsswitch.conf.old && mv nsswitch.conf.new nsswitch.conf # chmod 644 nsswitch.conf这三条命令的作用是:使用
sed命令将nsswitch.conf文件中以hosts:开头的行,替换为hosts: files dns(即先查本地/etc/hosts文件,再查DNS)。然后通过重命名的方式安全地替换原文件,并设置正确的文件权限。指定DNS服务器:
# cat > resolv.conf nameserver 10.0.2.3 ^D创建
resolv.conf文件,指定DNS服务器为10.0.2.3,这是QEMU内置的DNS转发器。
所有配置完成后,输入reboot命令重启系统。这次,虚拟机将从硬盘启动,进入一个完全安装好且配置妥当的Solaris 2.6系统。
7. 首次登录、用户配置与桌面环境
系统重启后,你会看到经典的Solaris图形化登录界面(如果内存足够运行CDE)。首先,我们需要为root账户设置密码。
7.1 设置root密码与登录
在登录界面的“Username”处输入root,密码先留空(因为初始安装未设密码),点击“Login”。系统会提示你“This is the first time the account is being used. Please choose a new password.”,要求你设置新密码。输入并确认一个强密码。之后,系统会询问你选择桌面环境。
7.2 选择桌面环境:CDE vs OpenWindows
你会看到两个选项:
- CDE (Common Desktop Environment):这是Solaris 2.6的默认桌面,也是当时Unix工作站的主流桌面之一,由HP、IBM、Sun等公司联合开发。界面风格非常经典,带有浓厚的90年代企业级Unix风格。
- OpenWindows:这是Sun公司更早的桌面环境,在Solaris 2.6中仍然保留。它的外观和感觉更古老一些。
对于大多数用户,选择CDE即可。登录后,你会看到CDE桌面启动,并自动打开几个欢迎和帮助窗口。你可以浏览一下,然后关闭它们。
7.3 使用Admintool创建普通用户
始终使用root账户进行日常操作是危险且不推荐的。我们需要创建一个普通用户。
- 在桌面底部的面板上,点击“Applications”(或一个类似文件夹的图标)。
- 在菜单中导航到
System_Admin->Admintool。这会启动Solaris的系统管理工具。 - 在Admintool窗口中,从菜单栏选择
Browse->Users。 - 然后点击
Edit->Add。 - 在添加用户对话框中,填写用户名、用户ID(UID,通常可以自动生成)、主组(默认
staff或other即可)。 - 最关键的是“Home Directory”路径。默认可能是
/home/username,但在Solaris的典型配置中,用户家目录位于/export/home下。我建议将其修改为/export/home/你的用户名(例如/export/home/matt)。这样可以更好地符合Solaris的文件系统布局惯例。 - 其他选项如登录Shell(默认
/bin/sh或/bin/csh)、密码设置(可以先留空,让用户首次登录时自己设置)等,保持默认即可。 - 点击“OK”创建用户。
创建完成后,退出Admintool。然后点击桌面面板上的“Exit”按钮(通常是一个带门的图标),选择“Log out”注销当前root会话。
7.4 以普通用户登录与初始设置
回到登录界面,使用你刚创建的用户名登录。首次登录时,系统会强制要求你为该用户设置密码。注意:输入密码时,鼠标焦点必须在密码输入框内,CDE有时不会自动聚焦,你需要用鼠标点击一下密码框。
设置密码成功后,你就正式进入了属于自己的Solaris用户桌面。同样,一些初始窗口会打开,包括一个“Solaris Registration”窗口,提示你注册。由于Sun早已不复存在,这个注册功能自然失效,直接点击“Never Register”即可。
至此,一个功能完整的Solaris 2.6 SPARC工作站就在你的QEMU虚拟机中运行起来了。
8. 日常使用、关机与后续启动
8.1 探索CDE桌面与基本操作
CDE桌面由几个主要部分组成:
- 前面板:位于屏幕底部,包含常用应用程序启动器、工作区切换器、时钟和系统状态区。
- 工作区菜单:在桌面空白处点击鼠标右键可以弹出,提供窗口排列、锁屏等操作。
- 文件管理器:在“Applications”子菜单中可以找到,是管理文件的主要工具。
- 终端:在“Applications”->“Tools”中可以找到
dtterm,这是CDE的终端模拟器,是你执行命令行操作的主要窗口。
你可以尝试打开dtterm,输入一些基本命令如ls,ps,date来感受一下。Solaris 2.6的很多命令和选项与后来的Linux发行版略有不同,这也是体验的一部分。
8.2 安全关机流程
在图形界面下,点击前面板上的“Exit”按钮,在弹出的选项中,选择“Options” -> “Command Line Login”。这会让你退出图形界面,回到一个文本模式的登录提示符。
以root身份登录,然后执行关机命令:
# shutdown -i5 -g0 -y或者更简单的:
# shutdown nowshutdown now会立即切换到运行级别0(停机)。系统会关闭所有服务,最后显示一条类似“The system is halted.”的信息。此时,Solaris已经完全停止运行。
重要:现在你才可以安全地关闭QEMU窗口,或者在你启动QEMU的终端里按Ctrl+C来终止QEMU进程。直接关闭QEMU窗口相当于给虚拟机断电,可能导致文件系统损坏。
8.3 后续启动命令
以后想要启动这台虚拟的SPARCstation,只需要一个更简单的命令,因为不再需要安装光盘了:
qemu-system-sparc -M SS-5 -m 256 -drive file=sparc.qcow2,bus=0,unit=0,media=disk我把内存增加到了256MB(-m 256),这会显著提升图形桌面的响应速度。命令执行后,OpenBIOS会直接引导硬盘上的Solaris,你就能看到熟悉的登录界面了。
9. 进阶配置与故障排除
系统跑起来只是开始,要让其更好用,还需要一些额外配置。同时,安装和使用过程中难免会遇到问题。
9.1 增强使用体验的配置
- 调整显示分辨率:默认的显示分辨率可能较低。你可以在QEMU启动命令中添加
-g 1024x768参数来指定分辨率,例如-g 1024x768。注意,Solaris 2.6的帧缓冲驱动可能不支持过高的分辨率。 - 启用声音(实验性):QEMU可以模拟SPARC的音频硬件。在启动命令中添加
-soundhw es1370或-soundhw sb16可以尝试启用音频。不过,SPARC平台下的驱动支持可能不完善,不一定能成功。 - 共享文件夹:在QEMU中为SPARC客户机设置文件夹共享比较困难。更实用的方法是在Solaris内配置网络,然后使用FTP或NFS从宿主机传输文件。首先确保宿主机和虚拟机网络互通(都在QEMU的虚拟网络
10.0.2.x中,或配置了端口转发),然后在Solaris上开启FTP服务(/etc/inetd.conf中启用ftp),就可以从宿主机用FTP客户端连接10.0.2.15进行文件交换了。
9.2 常见问题与解决方案速查表
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
QEMU启动失败,提示-M SS-5无效 | QEMU版本太旧或编译时未包含SPARC目标。 | 升级QEMU版本,或从源码编译时确保包含sparc-softmmu目标。 |
启动后停在OpenBIOSok提示符,无法从光盘启动 | ISO文件路径错误,或-drive参数中bus, unit设置冲突。 | 检查ISO文件路径是否正确、包含空格时是否用了引号。确保硬盘和光盘的bus, unit编号不重复(如硬盘用0,0,光盘用0,2)。 |
| 安装过程中找不到磁盘(c0t0d0) | 首次启动时没有运行drvconfig、disks和format为磁盘写标签。 | 严格按照步骤3和4操作,在单用户模式下完成磁盘的识别和标签写入。 |
| 安装后重启,系统黑屏或卡在OpenBIOS | 1. 安装后没有选择“Manual Reboot”。 2. 没有在 /a/etc/system中添加scsi_options。 | 1. 重新从光盘启动,在单用户模式下挂载根分区,检查并修复/etc/system文件。2. 确保添加了 set scsi_options=0x58这一行。 |
系统启动后无法ping通网关10.0.2.2 | 网络配置错误,或/etc/defaultrouter文件未创建。 | 以root登录,检查ifconfig -a看网卡是否获得IP(10.0.2.15)。检查/etc/defaultrouter文件是否存在且内容正确。 |
| CDE桌面非常卡顿,响应慢 | 分配给虚拟机的内存不足(128MB)。 | 关闭QEMU,增加启动参数中的内存,如-m 256或-m 512。 |
| 在QEMU窗口中无法释放鼠标 | 鼠标被QEMU“捕获”了。 | 按Ctrl+Alt+G(Windows/Linux)或Ctrl+Option+G(macOS)释放鼠标。 |
| 想从宿主机访问虚拟机的服务(如FTP) | QEMU默认使用隔离的NAT网络。 | 在QEMU启动命令中添加端口转发参数,例如-netdev user,id=net0,hostfwd=tcp::2022-:22可以将宿主机的2022端口转发到虚拟机的22端口(需先开启SSH)。 |
9.3 性能优化与资源管理
对于长期使用,可以考虑以下优化:
- 使用KVM加速(仅限Linux主机):如果你的宿主机是Linux且CPU支持虚拟化(Intel VT-x或AMD-V),可以为QEMU启用KVM加速来大幅提升模拟性能。但注意,KVM是硬件辅助虚拟化,主要用于模拟相同架构(如x86)。对于SPARC这种异架构模拟,QEMU使用的是纯软件翻译(TCG),KVM无法直接加速CPU模拟,但可能加速一些内存和IO操作。在Linux上,确保
qemu-system-sparc是支持TCG的版本即可。 - 调整磁盘缓存策略:在
-drive参数中,可以添加,cache=writeback或,cache=none来调整磁盘I/O性能。cache=writeback能提升写入性能,但主机意外断电有微小风险;cache=none最安全,但性能较差。对于这个怀旧项目,默认值通常足够。 - 宿主机资源预留:确保你的宿主机有足够的内存和CPU资源。运行QEMU-SPARC模拟时,单个CPU核心的占用率可能会很高,因为指令翻译是计算密集型任务。
完成所有这些步骤后,你不仅拥有了一台可运行的Solaris SPARC虚拟机,更对整个过程的原理、潜在陷阱和优化方向有了深入的理解。这台“虚拟工作站”可以成为你学习古典Unix系统管理、研究SPARC架构,或者单纯欣赏90年代计算机美学的完美沙盒。