这个帖子只用来解决特定问题,是楼主这两天辛苦的结晶,如果你遇到了跟我差不多的情形,你就可以尝试这个解决方案。

特定情景:
1、不管你的机器支不支持 UEFI ,反正你现在是用传统 BISO + MBR 模式启动的;
2、你的硬盘上装了包括 Win, Mac 和 Linux 在内的多个系统;
3、Mac 所在分区不是主分区,导致你无法使用常规模式来引导;
4、你不想更改硬盘分区和重装系统。

5、你目前使用 Linux 在一个 boot 分区上安装 grub2 来实现多系统引导,
6、你头疼的是这个 grub2 可以正常引导 Linux 和 Windows 但不能引导 OS X 。

解决方案:
用 grub2 启动 clover.iso 来启动 OS X 。

以下步骤均在 Linux 下操作。

1、下载最新版 Clover EFI bootloader ISO ,在远景论坛下载或者去 sf.net 都可以:
http://sourceforge.net/projects/cloverefiboot/files/Bootable_ISO/
目前最新版是 CloverISO-2636.tar.lzma

2、把它解压缩,里面有两个 ISO 文件,一个是 X64 的,一个是 IA32 的。一般我们用 X64 的。
把这个 ISO 改名为 clover.iso ,复制到你的启动分区 /boot 下。

3、看你的 /boot 目录下有没有 memdisk ,如果没有,你要安装 syslinux 。
用你的 linux 的安装系统(apt-get, yum, pacman, zypper...)安装 syslinux,
安装后,到 /usr/lib/syslinux 目录下,找到 memdisk ,把它复制到 /boot 目录下。

4、修改 /boot/grub/grub.cfg ,把 OS X 的条目内容改为:

set root='(hd0, 1)'
linux16 /memdisk iso ram
initrd16 /clover.iso

然后就可以解决了。

这样当你在 grub2 菜单中选择启动 OS X 的时候,它会先启动 clover ,然后用 clover 来启动 OS X 所在分区。速度很快。
远景论坛U盘版里的变色龙wowpc.iso在我的机器上没法正常启动OSX分区。

在这个解决方案中,起关键作用的是那个 memdisk ,有了它,你可以启动任意 iso 。比方说 WinPE、Linux的安装盘,变色龙的ISO,之类的,只要把它们直接放到 /boot 下,然后在 grub2 里面加载即可。

原贴地址:

http://www.strongbear.cn/?post=579

[转载]用 grub2 启动 clover.iso 来启动 OS X的更多相关文章

  1. VMWARE在UEFI下启动PE.ISO

    1.编辑虚拟机设置→选项→高级→通过EFI而非BIOS引导勾选. 2.虚拟机→电源→打开电源时进入固件,进入之后修改光驱为第一引导. 3.挂载PE.ISO,启动时虚拟机顶部出现Press any ke ...

  2. linux更改启动级别后,无法启动的问题解决

    装好之后,配置好IP,启动后也能上网了,然后我修改了系统的启动级别(默认为3,我改为了5),意思是让他能够启动桌面. 我是这么设置的: 1.vi命令打开/etc/inittab文件,可以看到如下描述 ...

  3. 深入理解Activity启动流程(三)–Activity启动的详细流程2

    本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 深入理解Activity启动流程(一)--A ...

  4. 深入理解Activity启动流程(二)–Activity启动相关类的类图

    本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 本系列博客将详细阐述Activity的启动流程,这些博客基于Cm 10.1源码研究. 在介绍Activity的详细启动流程之前,先 ...

  5. WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过

    </pre><pre code_snippet_id="430174" snippet_file_name="blog_20140718_5_46349 ...

  6. 启动hadoop,没有启动namenode进程。log4j:ERROR setFile(null,true) call faild.

    启动hadoop,没有启动namenode进程.log4j:ERROR setFile(null,true) call faild.   解决办法: cd /home/hadoop/hadoop-en ...

  7. 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

    目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...

  8. Android开发常见问题系列之一:eclipse中adb.exe启动失败或者无法启动

    这种情况下大多数是因为存在kadb.exe在执行,或者adb.exe端口被占用. 1,检查是否存在kadb.exe程序正在执行 打开任务管理器,打开详细信息,按照字母顺序找到kadb.exe,结束进程 ...

  9. 【项目启动】 tomcat启动,项目无法启动,无法正常访问/项目可以启动,报错:java.lang.ClassNotFoundException: ContextLoaderListener

    使用maven搭建项目(这个错误和是不是使用maven搭建项目没有关系),然后部署到tomcat中运行. 出现问题1: tomcat跑起来了,但是启动时间很短,没有报错,项目不能正常访问 项目启动时间 ...

随机推荐

  1. 虚拟机VMware与主机共享文件介绍

    我们经常会在Windows平台安装虚拟机VMware,不管是出于实验测试还是工作需要,伴随而来的就是经常需要在Windows系统和虚拟机系统之间进行共享数据文件,例如,需要将Window主机上的Ora ...

  2. Linux的NTP配置总结

    在Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的.Linux系统下,一般使用ntp服务来同步不同机器的时间.NTP 是网 ...

  3. .NET重构(类型码的设计、重构方法)

    阅读目录: 1.开篇介绍 2.不影响对象中的逻辑行为(枚举.常量.Entity子类来替代类型码) 3.影响对象中的逻辑行为(抽象出类型码,使用多态解决) 4.无法直接抽象出类型码(使用策略模式解决) ...

  4. js 输出二维数组的最大值

    function num(arr){ max=a[0][0]; for (var i = 0; i < a.length; i++) { for (var j = 0; j< a[i].l ...

  5. Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)

    Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”.而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机. Live Migrate 分两种: ...

  6. 原生js事件的添加和删除

    在IE浏览器中添加或删除事件用attachEvent.detachEvent.在其他标准浏览器中则用addEventListener.removeEventListener.下面的对事件的添加和删除做 ...

  7. ubuntu下apache重启报Could not reliably determine the server’s fully......

    在Ubuntu上安装Apache,每次重启,都会出现以下错误提示: Could not reliably determine the server’s fully qualified domain n ...

  8. 2015.1.25 Delphi打开网址链接的几种方法

    Delphi打开网址链接的几种方法1.使用shellapi打开系统中默认的浏览器              首先需在头部引用 shellapi单元即在uses中添加shellapi,这里我们需要知道有 ...

  9. 【原】HTML5 新增的结构元素——能用并不代表对了

    做移动端有一段时间,今天有同事问了我 article 和 section 标签的使用,模模糊糊的解释了下,他似懂非懂,有点小尴尬.忽然间觉得自己有必要再翻翻书籍,重温下 html5 的新元素.html ...

  10. RS-232 vs. TTL Serial Communication(转载)

    RS-232串口一度像现在的USB接口一样,是PC的标准接口,用来连接打印机.Modem和其他一些外设.后来逐渐被USB接口所取代,现在PC上已经看不到它的身影了.开发调试时如果用到串口,一般都是用U ...