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

特定情景:
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. javascript - 封装原生js实现ajax

    1 /* * ajax方法 */ var Ajax = function() { var that = this; //创建异步请求对象方法 that.createXHR = function() { ...

  2. WinForm:DataGridView新增加行

    1.不显示最下面的新行 通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * ).如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUs ...

  3. PostgreSQL-PL/pgSQL

    参考: https://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E4%B8%89%E5%8D%81%E4%B9%9D%E7%AB%A0 摘记: PL/pgSQL是 ...

  4. makefile之VPATH和vpath的使用

    来自阅读陈皓的<跟我一起写makefile> VPATH变量 在一些大的工程中,有大量的源文件,我们通常的做法是把这许多的源文件分类,并存放在不同的目录中.所以,当 make 需要去找寻文 ...

  5. Linux Shell编程入门

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  6. TAR,JAR,Zip的使用

    在文件归档的时候,LINUX中,我常喜欢使用tar,它可以把一个文件夹归档为一个文件,可以同时使用指定的压缩算法把其压缩归档. 最常用的语句是: tar cvzf target.tar.gz sour ...

  7. Markdown 完全指南

    概述 Markdown 是一种用于网络文本书写的轻量级标记语言,广泛用于个人 blog.github.wiki 中.其实浏览器并不能识别 Markdown 的语法,但许多 blog.wiki 平台以及 ...

  8. CH Round #52 还教室[线段树 方差]

    还教室 CH Round #52 - Thinking Bear #1 (NOIP模拟赛) [引子]还记得 NOIP 2012 提高组 Day2 中的借教室吗?时光飞逝,光阴荏苒,两年过去了,曾经借教 ...

  9. Confluence Wiki -- 页面限制

    Confluence Wiki 中 [页面设置] 应该如何理解? 当一个用户有这个权限后,这个用户可以对一个页面做限制,可以限制这个页面不能被其他用户浏览或编辑: 反之,如果没有这个权限,那么这个用户 ...

  10. P1546 最短网络 Agri-Net

    题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...