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

特定情景:
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. 初刷LeetCode的感受

    自从上个月进入实验室的云安全项目组后,因为要接触到实际的代码,在实验室博士的建议下我们项目组的硕士开始刷LeetCode练习编程能力,保持每周抽空刷几道算法题.虽然刷的不多,到现在一共只刷了不到30题 ...

  2. Python学习笔记2-解析数据

    Import os; -- Python自带 print(os.getcwd()) -- 获得当前工作目录 os.chdir('/Users/longlong/Documents') -- 转换到/U ...

  3. js 输出数组最大值

    ,,,,]; ]; ; i < run.length; i++) { if (max<run[i]) { max=run[i]; }else{ max=max; } } alert(max ...

  4. JS魔法堂:ES6新特性——GeneratorFunction介绍

    一.前言       第一次看koajs的示例时,发现该语句 function *(next){...............} ,这是啥啊?于是搜索一下,原来这是就是ES6的新特性Generator ...

  5. LLVM 笔记(三)—— 了解传统编译器设计

    ilocker:关注 Android 安全(新手) QQ: 2597294287 传统的静态编译器 (如大多数的 C 语言编译器) 通常将编译工作分为三个阶段,分别由三个组件来完成:前端.优化器和后端 ...

  6. 基础SQL语句/语法

    SQL是现在进入互联网工作人们的必须技能之一,下面分享自己觉得很nice的SQL基本语句,从网上找了,觉得很不错,就分享给大家!简要介绍基础语句: 1.说明:创建数据库  Create DATABAS ...

  7. psutil一个基于python的跨平台系统信息跟踪模块

    受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在pytho ...

  8. oracle 错误代码大全

    oracle错误代码大全(超详细)   ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最 ...

  9. android第一行代码-1.项目结构

    0.项目结构 一个简单的android项目结构大致如下 入口就是MainActivity这个类,如果对于一个陌生的项目,最好的办法是看AndroidMainifest.xml,如下 <?xml ...

  10. json jsonp的区别

     前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域 ...