1998年到2000年末,走在Mac OS X路线上的Apple先后推出Mac OS X Developer Beta第一版到第四版,直到经典的Mac OS X Public Beta。这些版本的Mac OS无疑令人向往。Mac OS X Public Beta推出于2000年,是Mac OS X路线中的关键一环,也是较早期的采用改进Aqua界面的Mac OS X,也是今天我们要体验的对象。
早期版本的Mac OS充满魅力,但它们与早期版本的Windows不同。它们需要特殊的硬件,例如一台物理上的早期Mac电脑,且能够正常工作;甚至某些Mac OS版本还有苛刻的运行条件,你的Mac电脑还必须能够支持你想要运行的那一版Mac OS。于是今天,我这里采取了另外一个思路,成功运行并体验了Mac OS X Public Beta,下面是一些心得。
本文全文基于macOS High Sierra,Windows思路与本文基本相同。
映像准备
你需要Mac OS X Public Beta的映像文件,本文演示用的版本是1H39;除此之外,你还需要一个Mac OS 9的安装映像,或Mac OS X 10.3及更高版本的安装映像,或Darwin系统的映像,以用于初始化磁盘,本文使用Mac OS 9 SC。这些早期版本的Abandonware在WinWorldPC上有所提供,这里不提供文件,仅提供链接。除了WinWorld之外,其他版本的映像也广泛存在。
你所获得的映像可能是DMG格式的,这里提供这个简单的命令供你参考。
hdiutil convert imagefile.dmg -format UDTO -o imagefile.iso
配置Qemu
我个人认为,Qemu是目前Mac平台上最佳的PowerPC硬件虚拟解决方案。当然,我们都听说过SheepShaver和PearPC,但它们都具有一些局限性——SheepShaver的速度缓慢,且支持的操作系统版本十分有限,由于硬件限制,止步于Mac OS 9.0.4。而PearPC对Windows支持良好,在别的平台上运行时则需要自行编译和调试,且支持的版本同样有限,仅支持Mac OS X 10.1以及以上版本。而Qemu则是一款绝佳的,支持从Mac OS 9.0到Mac OS X 10.5的方案,且容易配置,简便易行,速度同样令人满意。
首先,我们需要下载Qemu。这里不提供下载,但提供指向Emaculation.com论坛的链接。如果你在下文遇到了错误,且参数正确无误(下文介绍),请尝试更换Build。解压Qemu程序包到一个固定的文件夹内,并将你的两个映像(Public Beta与任意一个可以用来初始化磁盘的映像,上文介绍)拖入同一个文件夹内,并给它们都取一个简单的名字。本文假定你重命名为了cdinstall与cddisk。
然后,打开「终端」,将包内的qemu-img拖入,来创建磁盘文件。将(size)替换为一个合适的大小,(path+name)替换为一个本文件夹的路径和一个简单的名字。本文假定你在本目录下创建了3GB大小的磁盘,且命名为hd。
./qemu-img create -f raw -o size=(size)G (path+name).img

再接下来,右键编辑qemu.command文件。它应该存在于解压的程序包中,如果你没有看到它,请创建它。如果它里面已经有内容,请删除掉它们,或视情况保留。然后编辑这个脚本,它至关重要。这里提供我使用的参数。

//这行告诉macOS,这是个Bash脚本。
#!/bin/bash
//这行将脚本的执行路径更换为这个文件夹。
cd "$(dirname "$0")"
//这行启动Qemu并添加如下参数:
//-boot d: 从CD-ROM启动。如果你想要从磁盘启动,将d改为c;
//-M mac99: 机型为Power Macintosh G4(AGP);
//-m 256: 拥有256MB内存;
//-prom-env 'auto-boot?=true' & -prom-env 'vga-ndrv?=true': OpenBIOS参数,后者允许设定分辨率;
//-drive file=hd.img,format=raw,media=disk & -drive file=cd.iso,format=raw,media=cdrom: 添加设备,源文件为XX,为RAW格式,作为disk(磁盘)或cdrom(CD-ROM);
//-rtc base=2000-12-25: 将虚拟机的时间设定为2000年的圣诞节,以破解Time Bomb。
./qemu-system-ppc -boot d -M mac99 -m 256 -prom-env 'auto-boot?=true' -prom-env 'vga-ndrv?=true' -drive file=hd.img,format=raw,media=disk -drive file=cd.iso,format=raw,media=cdrom -rtc base=2000-12-25
除此之外,你可以通过-device连接新的存储设备,还可以使用下面的参数。无论如何,请保证这些参数与./qemu-system-ppc在同一行;更多参数可以在Qemu官方文档处查阅。然后,保存文件。
//-device usb-mouse & -device usb-kbd: 令Qemu以USB的形式连接鼠标与键盘;
//-netdev user,id=network01 -device sungem,netdev=network01: Qemu内建DHCP服务器提供一个Sungem网卡;
//-prom-env 'boot-args=-v: OpenBIOS参数,使用Verbose模式启动;
//-g 1024x768x32: 调整分辨率为1024x768,32位。
系统安装
在启动虚拟机前,别忘了将cddisk.iso重命名为cd.iso,以便Qemu从它启动。双击qemu.command脚本,如果出现了权限问题,用chmod来解决。随后不久,虚拟机应该正常启动。
chmod +x qemu.command

取决于你选择的映像,初始化磁盘。

初始化磁盘后,关闭虚拟机,然后将cd.iso拖入「废纸篓」。将cdinstall.iso,也就是Public Beta的映像重命名为cd.iso,再次启动虚拟机。虚拟机应该正常启动,且你应该很快看到安装界面。完成安装即可。

当安装完成界面显示时,可以关闭Qemu,然后将qemu.command中关于CD-ROM的参数去掉,将boot参数改为从磁盘启动,即d改为c。将cd.iso拖入「废纸篓」。

体验Mac OS X Public Beta
在Mac OS X Public Beta首次运行时,它将启动「设置助理」。设置助理的步骤与Apple Rhapsody基本相同,我曾在VMware中模拟它。这几步简单无比,无需更新版本的「注册」流程。

如果你出现了如下图所示的界面,请检查-rtc参数。Mac OS X Public Beta带有Time Bomb,利用rtc参数将时间设定为2000年的圣诞节可以解决问题。否则,Qemu会同步系统时间,导致你无法使用Public Beta。

Mac OS X Public Beta的桌面称为”Desktop”,窗口上却是”Finder”。这造成了一些逻辑上的不习惯。Apple图标在菜单栏居中的位置,而应用程序菜单却显示如今Apple菜单里的内容。

如果你点击”Desktop”,这里没有”About Desktop”,只有”About This Mac”。

Mac OS X Public Beta的Aqua界面为改进后的界面。Dock已经改为带有放大、活动指示和弹跳打开的2D Dock,而不是App的大图标,设计思路无限接近于如今的现代macOS。Aqua风格深入系统的每一个角落,动画流畅,App图标禁得起放大,也禁得起缩小,整个系统精致美丽,优美动人。

在Mac OS X Public Beta内,不活动的窗口菜单栏被半透明处理。这个设计沿用至Mac OS X 10.2.8。整个Mac系统当然还留有不少来自NeXT时代或Rhapsody时代的气质,有尤其是Finder的布局。经典的「分栏」显示方式优雅地展现了层级的关系,更是继承至今。
很多App设计还留有Classic时代的气质,例如「Apple System Profiler」与「Disk Utility」。前者基本上与Mac OS 9的版本高度一致,而后者则只是简单整合了Mac OS 9上的两个独立App,图标也没有重新设计,但是高清化了。

当然,作为Beta作品,也是一代拥有重大飞跃的版本,它的稳定性有待商榷。虽然它拥有内存保护等来自Unix的技术,极大地增强了系统稳定性,但是对比如今的macOS还是有些差距——我在试图打开终端时,它Kernel Panic了。这一版并没有四国语言的提示,突如其来,也有些吓人。对比Mac OS 9的炸弹,这里不够更新版本「优雅」。

在Qemu上回首过去,如果愿意花费时间来调试和不断尝试,我们完全可以体验到从NeXT Step到Mac OS X的完整历史。即使你没有旧款的Mac电脑,通过Qemu方便地体验一下吧——在回首时,我们不但能一睹旧版本Mac OS的风采,更能感受那些许多一脉传承的技术和概念。它们极大地便利了我们如今的Mac体验。如果你有什么想法和故事,欢迎在评论区里留言分享给我和大家。
本文的发表和一些技术问题的解决离不开「老Mac与Mac OS交流群」的支持。欢迎加入,QQ群号:769483275。
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6
排长!这是咋回事呢?(窗口上的提示:MacBook-Air:~ Man$ /Users/apple/Desktop/Qemu-4/qemu.command ; exit;
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
Referenced from: /Users/apple/Desktop/Qemu-4/./qemu-system-ppc (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _clock_gettime
Referenced from: /Users/apple/Desktop/Qemu-4/./qemu-system-ppc (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib
/Users/apple/Desktop/Qemu-4/qemu.command: line 5: 5193 Trace/BPT trap: 5 ./qemu-system-ppc -boot d -M mac99 -m 256 -prom-env ‘auto-boot?=true’ -prom-env ‘vga-ndrv?=true’ -drive file=hd.img,format=raw,media=disk -drive file=cd.iso,format=raw,media=cdrom -rtc base=2000-12-25
logout
Saving session…
…copying shared history…
…saving history…truncating history files…
…completed.
[进程已完成])启动不了
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15
排长好厉害啊!一个高中生就能做到如此地步!佩服佩服! 🙂 🙂 🙂
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3355.4 Safari/537.36
求Windows的操作步骤
Mozilla/5.0 (Linux; Android 7.1.2; ZUK Z2131 Build/NJH47D; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36 tieba/9.4.8.0
Emaculation论坛上有Windows版的QEMU安装包,操作和命令行上基本是相同的,但性能会比macOS/Linux下面运行QEMU慢的多
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15
这也太牛逼了吧
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
😮 哈哈