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

在Windows下的VMWare上组建三平台虚拟机(WindowsXP,MacOSX,Ubuntu)

假期闲来无事,想对三平台多做些了解,无奈不是土豪负担不起一台MacBook,出于经济和方便测试的考虑,选择了在Windows上的VMWare中搭建Win/Mac/Linux三个平台的虚拟机。搭建中使用的软件版本如下:宿主机Windows2008R2StandardVMWareWorkstation7.1.3虚拟系统使用的安装盘有:WindowsXPProfe

假期闲来无事,想对三平台多做些了解,无奈不是土豪负担不起一台MacBook,

出于经济和方便测试的考虑,选择了在Windows上的VMWare中搭建Win/Mac/Linux三个平台的虚拟机。

搭建中使用的软件版本如下:

宿主机Windows 2008 R2 Standard

VMWare Workstation 7.1.3

虚拟系统使用的安装盘有:

Windows XP Professional SP3 MSDN VOL(iso镜像)

Mac OS X Snow Leopard 10.6.3 Retail(原版dmg镜像)

Ubuntu 10.10(iso镜像)

笔记本的CPU为i5 450M,支持VT.

其中Windows XP和Ubuntu的安装无需多说,按部就班即可,其中Ubuntu 10.10甚至识别到了自己是安装在虚拟机中,安装好了以后机器名即为compcj-virtual-machine。

只有Mac OS X由于VMWare官方不对其提供支持,因而多费了一番周折...

参考了这里教程:VMware Workstation 7.0 虚拟机安装雪豹Snow Leopard 10.6 

http://www.linuxidc.com/Linux/2011-02/32205.htm

建立FreeBSD 64bit的虚拟机,分配了40G的虚拟磁盘,

然后自己用记事本打开虚拟机的配置vmx文件,找到里面的"GuestOS"一项,修改为GuestOS="darwin10",

这时重启VMWare, 就会发现虚拟机的操作系统变成了"Mac OS X Server",这个操作是实现兼容的关键。

按照教程使用了RebelEFI和darwin300两张引盘,结果发现都无法引导,VMWare总是显示如下提示:

A virtual CPU has entered the shutdown state. This would have caused a physical machine to restart. This can be caused by an incorrect configuration of the virtual machine, a bug in the operating system or a problem in the VMware Workstation software. Press OK to restart the virtual machine or Cancel to power off the virtual machine.

后来查询,才发现老的darwin300(即这里http://www.linuxidc.com/Linux/2011-02/32205.htm提供的darwin300)是无法正常引导较新的snow leopard安装盘的,

要用darwin_snow_legacy.iso这个引盘(下载在这里http://www.linuxidc.net/thread-1806-1-1.html),实质上这个引盘就是EmpireEFI,换用该引盘以后安装一切顺利。

安装完成后根据教程装好声卡驱动以后就可以正常使用了,并且darwin_snow_legacy.iso其实就是VMWare Tools,安装之,虚拟机的分辨率就可以调节了,同时可以通过在虚拟机属性页里面设置Shared Folders来共享文件了。

本以为到这里就大功告成了,开始放心地软件更新打算升级到10.6.6,结果升级完重启以后就悲剧了——鼠标键盘完全不能使用,从开机的引导信息来看,是IOUSBFamily.kext这个内核扩展发生了符号错误。搜索Google,发现有人提到10.6.6更新的新版本的IOUSBFamily.kext存在兼容性问题,解决办法就是还原到10.6的kext(IOUSBFamily版本为3.7.8),无奈键盘鼠标已不能用,又如何还原?想到用VMWare挂载虚拟磁盘,却又发现磁盘是特别的HFS文件系统,需要MacDrive之类的软件才能读取。

正当心灰意冷打算重来时,偶然找到一张新版的darwin300引盘(darwin.iso),换用之,键盘和鼠标居然又恢复了生机!看来这个是EmpireEFI的一个缺陷。

可惜好景不长,用了新引盘以后,虽然刚开机正常,只要持续一段时间不使用,键盘鼠标就会失效,必须重启。Google此问题,居然发现,不光是黑苹果,很多真苹果在更新到10.6.6以后也出现了同样的问题!

参见

No USB Keyboard or Mouse after 10.6.5 update 

http://discussions.apple.com/thread.jspa;jsessiOnid=C27896684FCD45A027079E3956957663.node0?messageID=12716230&#12716230

查阅苹果开发者页面,10.6.5和10.6.6使用的IOUSBFamily.kext同为4.1.7,看起来这个版本的兼容性的确不太好。

刚好一个群里的朋友是Apple的付费开发者,能够下载任意版本的kext,要来10.6.4的IOUSBFamily.kext版本(4.0.2)替换以后(记得替换前用cp -R来备份4.1.7版),问题解决。

P.S.用Safari打开含有Flash的页面就假死...还没找到什么好的解决办法...只好另外装了个Firefox用...

三平台虚拟机就这样完成啦...好好玩...


推荐阅读
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
author-avatar
灰色头像6888
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有