Chameleon 出现 Boot0 错误的解决之道

/

网上解决 Chameleon 出现 Boot0 错误的文章很多,但实际上一些要点可能没有涉及到。

  1. 执行 dd if=boot1h of=/dev/rdiskXsY 时,需要先卸载 rdiskXsY
  2. 理解 boot0、boot0hfs、bootmd 之间的区别

    boot0(仅作用于启动磁盘)
    第一步:在 MBR 分区表中查找活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,进行第二步;
    第二步:在 MBR 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,返回 boot0: error 错误。

    boot0hfs(仅作用于启动磁盘)
    第一步:在 MBR 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,进行第二步;
    第二步:在 MBR 分区表中查找活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,返回 boot0: error 错误。

    boot0md(作用于所有磁盘,查找顺序为 BIOS 中磁盘的定义顺序)
    第一步:在 MBR 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,查找下一个磁盘,当所有磁盘被查找后仍不存在时,进行第二步;
    第二步:在 MBR 分区表中查找活动分区,如果存在,启动它;如果不存在,同时磁盘分区是 GPT 类型 ,则在 GUID 分区表中查找第一个 HFS+ 活动分区,如果存在,启动它;如果不存在,查找下一个磁盘,当所有磁盘被查找后仍不存在时,返回 boot0: error 错误。

    boot0、boot0hfs、boot0md 只有当磁盘分区是 MBR 类型时才有差异,当磁盘分区是 GPT 类型时,作用是同样的:启动第一个 HFS+ 活动分区。

    如果两个磁盘都是 MBR 分区类型,一个磁盘安装 Mac OS X,另一个磁盘安装 Windows 7,安装 Windows 7 的磁盘在 BIOS 中定义为主盘,为了正常引导 Mac OS X,只需在主盘安装 boot0md 即可。

Comments