热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Windows7系统在VirtualBox虚拟机中安装MacOSX雪豹操作系统

根据苹果授权协议,是不允许在Mac以外的设备里安装OSX操作系统的。因此本文只可看,不建议操作,需要体验苹果设备请购买苹果产品。由于工作需要,我需要同时使用Windows和MacOSX操作系统,虽然公司可以配置两台机器,但是出于发热量,空间占用,操作系统互
根据苹果授权协议,是不允许在Mac以外的设备里安装OSX操作系统的。因此本文只可看,不建议操作,需要体验苹果设备请购买苹果产品。
由于工作需要,我需要同时使用Windows和Mac OS X操作系统,虽然公司可以配置两台机器,但是出于发热量,空间占用,操作系统互通等原因,我还是更倾向于在虚拟机环境里工作。由于在大部分工作还是在Windows上完成的,因此我选择Win 7作为Host,而将Mac OS X Snow Leopard作为Guest系统。由于各种原因(如严格和特殊的硬件需求),在虚拟机下安装OS X一直是件无比折腾的事情,留下了无数先驱的身影。但是,我忽然发现,似乎如今新版的VirtualBox对于OS X已经有了非常优秀的支持,尝试之后感觉大好,因此记录下来供需要的朋友参考。

首先,我建议您准备一台配置充足的机器作为Host。以下是我的机器配置及操作系统:
CPU:Intel E8400 3.0GHz双核处理器
内存:4.00GB(3.37GB可用)
操作系统:Windows 7企业版(32位)

我的机器一开始只有2G内存,OS X虚拟机占用了整整1G,于是剩下的1G内存便显得捉襟见肘了。如果您需要打开一些开发工具,或是Visual Studio、Word、Outlook等大型应用程序,会发现内存换页非常频繁,简直难以忍受。不过将内存增加到4G之后,情况便大有好转,与之前相比几乎感觉不到虚拟机所带来的影响。因此,我建议您至少准备3G内存空间,否则接下来的体验会大打折扣。
在装完Snow Leopard系统之后,便会占用超过9G的硬盘空间。如果您需要在上面做开发,则可能还需要安装XcodeiOS SDK等工具包,它们都是实打实的大个头,一套下来同样会占用将近10G的硬盘,因此我建议您可以保留30G左右的硬盘空间,以免将来遭遇尴尬的境地。

在软件部分,新版的VirtualBox也是必须的,我使用的是最新的3.2.8 r64453,您可以去官网上下载最新版本。自然,您还需要Mac OS X 10.6 Snow Leopard的安装DVD或是镜像文件(不要问我哪儿可以搞到)。此外,由于VirtualBox自带的EFI Bootloader只能在OS X作Host时才能正常引导,我们还需要empireEFIv1085.iso,您可以根据自己的CPU下载32位Intel版本或是AMD版本,对于64位Intel处理器,可以使用压缩包里的legacyempire_efi1085.iso文件。

至此,万事俱备。
VirtualBox和Snow Leopard的中文翻译都可谓是茶几,因此两者我使用的都是英文版本。
首先,您需要创建一个虚拟机的配置,设置一个名称(Snow Leopard),并如下图选择合适的操作系统(Mac OS X)及版本(Mac OS X Server):


选择至少1024 MB内存:


在选择磁盘向导中,创建一个30G大小的虚拟磁盘(如果硬盘空间允许的话,建议创建fixed-size类型的虚拟磁盘,对性能有所帮助。自然,这会在创建虚拟磁盘时消耗一些时间,请耐心等待):


检查信息,创建虚拟机配置:


右键单击刚创建好的虚拟机,或使用Machine菜单进入Settings面板。首先,选择左侧的System项,调整右侧的启动顺序(先光驱再硬盘),并将默认选中的Enable EFI选项取消(我们将使用刚才下载的empireEFIv1085.iso进行引导):


然后选中左侧的Display项,将Video Memory调制最大,并启用3D加速:


至此,虚拟机配置完成。
首先,我们使用empireEFIv1085.iso进行引导,还是在刚才的Settings面板中,选择左侧的Storage项,并在右侧选中引导用的镜像:


启动虚拟机,稍等片刻,直至出现如下界面:


根据提示,加载Snow Leopard的安装盘,稍等片刻(让虚拟机识别并加载镜像),点击F5,此时您会发现中央的光盘标志下方显示为Max OS X的安装盘:


此时回车,并根据提示按任意键,稍等片刻便会出现Snow Leopard的安装向导界面:


选择一门语言,并根据向导前进,直至安装磁盘选择这一步,此时您会发现可选磁盘列表为空:


从上方Utilities菜单中选取Disk Utility,再选中左侧的磁盘,同时进入右侧的Erase栏。然后选择正确的文件系统(Mac OS Extended,Case-sensitive,Journaled):


点击Erase对磁盘进行格式化,关闭Disk Utility,并选择刚才格式化后的磁盘作为安装目标:


点击Install按钮开始安装,请耐心等待:


最后则会出现安装失败的提示画面:


不过别担心,事实上Snow Leopard系统已经安装完成了。此时您可以点击Restart按钮,但系统并不会正常地重新启动,会停留在MACH Reboot字样上。您需要重新加载empireEFIv1085.iso,并手动选择虚拟机控制台中Machine菜单的Reset项强制进行重启(此时虚拟机可能会提示发生严重错误并退出,重新启动即可):


此时便会重新进入之前出现过的引导界面,不过您会发现其中多了一个启动项,便是刚才装好的操作系统:


按键盘右键切换至新项并回车,根据提示按任意键,稍等片刻,便会进入Snow Leopard第一次启动时的语言选择界面:


我在这里还是选择英文作为操作系统的主要语言。根据向导一步一步前进,在设置了键盘,账号,时区等信息后(您可以跳过设置Apple ID的步骤),最终便可以看到Snow Leopard系统的桌面(可能跳出键盘识别的向导,按提示进行即可):


您现在可以把玩一下Snow Leopard操作系统了。值得一提的是,您很有可能无法使用操作系统的菜单正常关闭和重启操作系统,这时候您只要使用虚拟机的菜单来强制关闭和启动即可。需要注意,在启动时您还是需要empireEFIv1085.iso作为引导。
打开System Profiler,会发现当前操作系统的版本是Mac OS X 10.6.3(当然,如果您使用最新的安装光盘,则下个步骤就可以跳过了):


打开Software Update升级操作系统。经过一段时间的检查,会要求进行操作系统升级,这会下载800多兆的升级文件,这自然需要一个漫长的等待过程。升级完成后重新启动,便会发现操作系统已经更新为Mac OS X 10.6.4(您可能发现截图中升级前后的机器名有所不同,这是我手动修改造成的):


容易理解,您从表面上很难发现升级前后有什么差异。
从网上找到的资料来看,调整分辨率的方法有好几种,例如修改com.apple.Boot.plist文件,或是使用VBoxManage.exe修改虚拟机镜像的EfiGopMode参数等等,但我实验下来都没有效果。最终我使用的下面的方法。首先,使用empireEFIv1085.iso引导系统,停留在启动方式选择界面,向右切换至Snow Leopard操作系统,并输入以下命令:
"Graphics Mode"="1280x1024x32"
如下图,请注意图片左下方的命令:


回车,之后Snow Leopard的分辨率便修改成功了。您也可以将1280x1024修改成其他分辨率(并非任意分辨率,系统会自行调整)。我在工作时往往将其设为全屏,并放到扩展桌面上,于是我便可以同时使用两个操作系统了:

看上去还不错吧?

至于其他方面,您可以自行摸索了。网络连接方面,我使用默认的NAT工作正常,USB也没有问题,声音方面需要安装一个驱动程序。此外,我在安装的时候也是遵循几篇文章所提供的向导,如果您想摆脱empireEFIv1085.iso启动系统,也可以根据它们的指引进行尝试:
您现在便可以尝试Mac OS X Snow Leopard操作系统及软件了。当然,这并不能给您带来完整的苹果机的体验,使用苹果机一体化的硬件配合它的操作系统,可以给您带来一些额外的感受,例如苹果笔记本带多点触摸的触摸板,它的使用体验和操作方式都给我留下了非常深刻的印象。

推荐阅读
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • SvpplyTable: 实现可扩展和可折叠的菜单动画
    SvpplyTable 是一个示例项目,旨在实现类似 Svpply 应用程序中的可扩展和可折叠的菜单动画效果。该项目托管在 GitHub 上,地址为 https://github.com/liuminqian/SvpplyTable。 ... [详细]
  • Python应用实例大揭秘:七大令人惊叹的高阶技巧展示
    2020年,Python无疑成为了最炙手可热的编程语言,其影响力已远远超出程序员的范畴。从初学者到资深从业者,甚至小学生,都在纷纷加入Python的学习热潮中。凭借其低门槛、易上手和强大的功能,Python正逐渐成为各行业不可或缺的工具。本文将揭示七个令人惊叹的Python高级应用技巧,帮助读者进一步提升编程水平。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • iOS 设备唯一标识获取的高效解决方案与实践
    在iOS 7中,苹果公司再次禁止了对MAC地址的访问,使得开发者无法直接获取设备的物理地址。为了在开发过程中实现设备的唯一标识,苹果推荐使用Keychain服务来存储和管理唯一的标识符。此外,还可以结合其他技术手段,如UUID和广告标识符(IDFA),以确保设备的唯一性和安全性。这些方法不仅能够满足应用的需求,还能保护用户的隐私。 ... [详细]
  • 如何高效利用 Xcode 中的断点功能进行调试
    在Xcode中,通过在特定条件触发时设置断点,可以在for循环中有效监控变量变化。例如,当循环次数达到预设值时,可通过断点调用`NSLog`函数输出当前迭代次数和相关变量值,如 `(void)NSLog(@"输出: %d", i);` 这样可以实时查看程序运行状态,便于快速定位和解决问题。 ... [详细]
  • Excel VBA自动化添加数字证书(续)
    本文继续探讨如何在Excel VBA中自动添加数字证书。上一篇文章因突发情况未能完成,本次将详细介绍证书的生成和集成方法。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
author-avatar
yanna00799
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有