在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结

一、资料来源:
    网上一共找到两个方法,一个是视频上的教程,一个是网页资料。

二、视频资料方法内容:
1.install qemu
sudo apt-get install qemu
2,creating a blank img
qemu-img create x.img 20G
3,setting up Mac Installation
qemu-system-x86_64 -hda pathtoimg -vga std -m 2048 -soundhw ac97 -cdrom pathtoiso -boot d
4,restart
qemu-system-x86_64 -boot c -vga std -m 2048 -hda imgpath
总结:经过多次镜像制作与替换尝试,最终发现需要iPC系统才能看到安装界面(黑苹果系统)。此方法安装的系统会出现无限重启的问题而安装失败,并且系统即使安装成功也无法升级系统版本。

三、网页资料内容
网址1:http://www.vpsee.com/2014/06/install-and-run-os-x-mavericks-with-kvm-under-linux/
网址2:http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/
网址3:http://www.bonashen.com/post/artifice/running-mac-os-x-as-a-qemu-kvm-guest

这种方式比较复杂,据说能实现版本升级且使用正版系统。

步骤:
1, Linux 发行版自带的 kvm/qemu 都不支持 OS X 作为 guest 系统,所以需要自己编译 kvm, kvm-kmod, qemu 加上 OS X 的支持。
2,在 Mac 上用脚本生成一个可启动的 Mavericks ISO 文件。
3,在 Mac 上编译 smc_read.c 这个文件并运行得到 SMC。
4,制作Chameleon 系统的启动器(引导文件)。
5,启动代码:
qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo \
-smp 2 \
-vga std \
-device ahci,id=ide \
-usbdevice keyboard -usbdevice mouse \
-device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
-kernel /home/tang/Desktop/chamele/usr/standalone/i386/boot \
-smbios type=2 \
-device ide-drive,bus=ide.2,drive=MacHDD \
-drive id=MacHDD,if=none,cache=none,file=/home/tang/x.img \
-vnc 0.0.0.0:1 \
-device ide-drive,bus=ide.0,drive=MacDVD \
-drive id=MacDVD,if=none,snapshot=on,file=/home/tang/Volumes.iso -boot once=d

总结:
步骤1下载很慢,下载之后也会出现找不到的问题。
步骤2在制作工程中会出现很多路径问题。
步骤3可能是失败的原因之一,要获得苹果电脑的SMC序号,用教程中的c语言代码编译,最后获得的结果是:urhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc,不确定这个是不是需要的序列号。
步骤4下载了变色龙引导文件。
步骤5运行不过去,-smbios type=2 会出现问题,如果去掉这句,系统会启动不了。

最终总结:

方法1的系统不能升级,不符合我们的要求。方法2的失败以及进行不下去有三个原因:1,尝试此方法需要下载安装:git、’Development Tools’、kvm.git 、kvm-kmod.git、kvm、 zlib 、zlib-devel、 glib2-devel 、pixman-devel、chameleon等。2,SMC序号不确定是否正确。3,-smbios type=2执行不过去。

在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结的更多相关文章

  1. 在VMware虚拟机中安装Mac OS 操作系统

    1. 安装VMware 我这里是安装VMWARE12.exe,其他的版本我不知道是否可以正常运行,最好大家安装12版本的比较好. 2. 安装 Mac OS X Unlocker for VMware ...

  2. VMWare15 安装 Mac OS 系统

    文章目录VMWare15 安装 Mac OS 系统安装环境工具准备准备工作MAC虚拟机设置启动MAC前准备工作安装系统安装VMware Tool注意事项参考链接安装环境WIN10VMware Work ...

  3. 使用VMware Workstation Pro 12 虚拟机安装Mac OS系统教程 全程图解

    导读:使用虚拟机安装Windows.Linux或者Ubuntu系统大家或许看了很多,但如何使用VMware Workstation Pro 12安装Mac OS,的确需要好好研究一番:否则无法下手,因 ...

  4. vmware10上安装mac os 10.9

    来源地址:http://dtbuluo.com/blog/archives/350 序言: 前几天跟朋友开玩笑说,要不我们一起来学习一下swift编程语言吧~我们就抱着玩玩的态度,没有想过要做出什么优 ...

  5. Windows上安装Mac OS

    在windows上开发ios程序,是一件比較痛苦的事情.由于: 开发android程序,使用eclipse.eclipse有windows版同一时候也有mac版,所以mac上开发android程序和w ...

  6. 虚拟机VirtualBox安装MAC OS 10.12图文教程

    VirtualBox虚拟机安装Mac OS 10.12图文教程的准备 1.VirtualBox虚拟机 下载地址:https://www.virtualbox.org/ 特别提醒:推荐官方下载,安装Vi ...

  7. 系统重装 如何在PC上安装Mac OS,苹果操作系统

    [苹果系统 无影精品]<精睿 无影技术Mac OS X 中文优化正式会员版V10.14和V10.16>◆ 系统前沿:==================================== ...

  8. 2019windows上安装Mac OS 10.14过程详细截图

    之前VMware12里面的Mac OS10.10升级后,键盘鼠标就用不了了.试了几次都这样,只能重装VMware14, 安装Mac OS 10.14系统.把步骤截下图,分享一下. 一.材料准备 1.虚 ...

  9. VMWare14 安装Mac OS系统(图解)

    ★ 背景 瞅了瞅自己干瘪的钱包,没忍心入手期待已久的 macPro,只好在虚拟机里玩一下 mac好了,等以后钱包傲气的时候再来个真实的. 安装环境: windows10 VMWare14.2 一.准备 ...

随机推荐

  1. hibernate annotation注解方式来处理映射关系

    在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...

  2. hdu 4081 Qin Shi Huang's National Road System (次小生成树)

    Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/3 ...

  3. ARM堆栈及特殊指令

    ARM7支持四种堆栈模式:满递减(FD).满递增(FA).空递减(ED).空递增(EA) FD:堆栈地址从上往下递减,且指针指向最后一个入栈元素.FA:堆栈地址从下往上递增,且指针指向最后一个入栈元素 ...

  4. Java文件编码格式转换

    转自博文<Java文件编码格式转换>: 默认被转换的格式为GBK,转换成的格式为UTF-8 import info.monitorenter.cpdetector.CharsetPrint ...

  5. struts过滤器和拦截器的区别

    拦截器的工作原理:当接收到一个httprequest ,a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDisp ...

  6. Lambda表达式与Function接口

    Lambda表达式是一个匿名函数.C++ 11和 java 8 相继引入了有关对Lambda表达式的支持. Lambda表达式对于高级语言而言并不是必要的,对于Java而言它的功能和一个简易的接口差不 ...

  7. WPF RichTextBox读取存储文本的方法和常用属性

    1. 取得已被选中的内容: (1)使用 RichTextBox.Document.Selection属性(2)访问RichTextBox.Document.Blocks属性的“blocks”中的Tex ...

  8. Servlet容器如何同时来处理多个请求

    工作者线程Work Thread:执行代码的一组线程调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度执行的Servlet采用多线程来处理多个请求同时 ...

  9. urlrewrite伪静态 及多参数传递-附正则表达式语法 [轉]

    首先 加载 urlrewrite包 配置web.xml [list] [*] <error-page> [*]             <error-code>404</ ...

  10. 解决Putty连接不上服务器的方法

    1.vi /etc/ssh/sshd_config 将PermitRootLogin的注释取消,或者将no改为yes. 2.service sshd restart 3.setup命令进入将防火墙关闭 ...