花样年华 发表于 12/2/3 09:30:05

如何实现在VMware上安装Lion开发版


   Lion开发版出来以后,很多童鞋都开始通过VMware尝鲜。目前网上主要流行的办法是:Installing Mac OS X Lion in VMware。我做了个马后炮,简单分析了这个办法的实现形式。目的主要是增进理解,为解决新的问题提供思路。
该文的作者主要做了三件事:
1、重组Lion安装镜像
2、修改系统标识为Server版
3、更换NVRAM文件

1、重组Lion安装镜像
重组镜像是因为Lion的安装文件结构发生了一些变化。原来Mac OS X系统是直接安装,而现在Lion开发版是先将安装包提取到安装目标磁盘,再从该磁盘边安装边删除安装包。选择语言后的加载条下的文字,第一次是正在进入恢复系统,重启以后直接就是准备安装。恢复安装提取的安装包结构是所有的pkg和mpkg外加一个com.apple.boot.plist,这种结构跟原有的Mac安装包的结构不一样。安装向导本质上也是一个Mac OS X系统,现在仅有安装包,没有引导安装所需的基础系统(basesystem,安装向导的basesystem跟Mac系统的basesystem是一样的,这也是重组Lion安装镜像的前提。)。这就导致VMware Fusion当前版本无法识别,重启以后就卡住不能继续安装了。而这位作者做的就是仿照原Mac安装盘的结构直接手动重组安装包。
下图就是重启以后的结果:
http://macing.info/wp-content/uploads/2011/03/屏幕快照-2011-03-14-下午09.52.57.pnghttp://macing.info/wp-content/uploads/2011/03/屏幕快照-2011-03-15-下午12.36.00.png原来Mac OS的所有应用程序安装包都在/System/Installation/Packages里,包括BaseSystem.pkg(667MB)和其他应用程序的安装包。Lion改成了独立在外面的一个BaseSystem.dmg(617MB)和Packages文件夹(/System/Installation/Packages是个替身,指向外面的Packages文件夹。)。所以,作者首先做了恢复BaseSystem.dmg形成基础体统,然后将Packages替身替换成真实文件,这样基本具备了10.6的Mac安装盘结构。上面说过安装向导的basesystem跟Mac系统的basesystem是一样的,而Packages里的那个BaseSystem.pkg(1.7MB)指向外面的basesystem文件,所以这一切都是可行的。Lion的另一个变化是增加了KernelCache,并由/Volumes/Mac OS X Install ESD/Library/Preferences/SystemConfiguration/com.apple.boot.plist指定。所以,作者做的第二个工作是,拷贝kernelcache,并修改com.apple.boot.plist。这样一个仿10.6且VMware能识别的安装镜像就完工了。
2、修改系统标识为ServerVersion
这没什么好说的,在Fusion上安装Mac OS X的最大前提。唯一的区别就是这个方法有点繁琐(包括我自己原来译编的那个安装教程),最简单、最一劳永逸的办法是在终端里输入:sudo /macosx文件的路径/macosx。该文件由Albert Nietsnie编写,包含三大平台的支持,在insanelymac发布(Mac OS X guest unlocker for VMware)。本文提供下载:macosx_guest_vmware-7
3、更换NVRAM文件
NVRAM记录了Mac的启动磁盘,音量等硬件信息,在Mac OS启动时为其提供预置参数。而VMware Fusion下的这个文件是随着系统的第一次安装的过程写入参数形成的,在新虚拟机未启动前没有这个文件。所以,如果新的Mac系统不支持VMware的这种技术,则不能启动。作者用引导过Snow Leopard的NVRAM去替换新的准备安装Lion的虚拟机的NVRAM,成功了!!!
我的感想就是这些,欢迎各位童鞋再补充。

6521969105 发表于 13/5/7 09:48:53


支持你一个 呵呵
页: [1]
查看完整版本: 如何实现在VMware上安装Lion开发版