安装MAC使用GPT(GUID)分区出现boot0:test boot0:error解决办法,安装chameleon到EFI隐藏分区

以前安装hackintosh都是一台电脑多个系统,一个mac一个win8以及xp64采用的的分区也是MBR分区方案,使用win版的chameleon来引导mac。最近硬盘坏掉了,从新买了一块新硬盘重做系统,因为用了几个月的mac了对mac已经非常熟悉了,即使用了windows这么多年了,但windows的用户体验做的是在太差了,加之我做开发一点也不喜欢在win平台上搞(比如做web开发的时候在win上就比较蛋疼),而且想搞点音乐win上的live是从mac上移植过去的,经常崩溃。游戏我也不怎么玩况且我喜欢的mac上都有,那么就windows说拜拜吧。

回到正题,之所以要使用GPT分区是因为windows上的MBR分区最多只支持4个主分区,而且不支持超过2TB的硬盘!但是就现在高速发展的存储技术来说,超过2TB的硬盘的普及肯定是迟早的事情。而GPT分区呢: 1、支持2TB以上的大硬盘。2、每个磁盘的分区个数几乎没有限制。为什么说“几乎”呢?是因为Windows系统最多只允许划分128个分区。不过也完全够用了。3、分区大小几乎没有限制。又是一个“几乎”。因为它用64位的整数表示扇区号。夸张一点说,一个64位整数能代表的分区大小已经是个“天文数字”了,若干年内你都无法见到这样大小的硬盘,更不用说分区了。4、分区表自带备份。在磁盘的首尾部分分别保存了一份相同的分区表。其中一份被破坏后,可以通过另一份恢复。

好我们现在就开始安装:

chameleon 2.2svn_r 2190

update.sh

1.打开终端,获取root权限,输入:

sudo -s

然后会要求你输入密码 2.查看硬盘分区及标识符

diskutil list

可以看到EFI分区是本机硬盘的第一个分区200MB左右,为disk0s1 3.建立EFI分区,新建EFI分区才用这步,如只是平时维护更新EFI内容则跳过这步。

newfs_hfs -v EFI /dev/disk0s1 

4.新建一个名为EFI的宗卷目录

mkdir /Volumes/EFI

5.把EFI分区映射到上面新建的EFI宗卷目录

mount_hfs /dev/disk0s1 /Volumes/EFI

该命令执行后,正常会在Finder或桌面显示出EFI分区。这时可以手动把boot、Extra、Extensions、com.apple.Boot.plist、Themes、dsdt.aml,update.sh等等复制进去 mac_boot0_error_sovled

6.进入EFI分区

cd /Volumes/EFI

执行后,手动把update.sh拖进终端回车。update.sh的作用是修复EFI分区里的Extensions目录及其里面所有kext的权限,以及生成缓存文件。 7.新建一个名为no_log的空日志文件

touch /Volumes/EFI/.fseventsd/no_log

8.推出EFI分区,解除第5步建立的映射关系

umount /Volumes/EFI

执行后,EFI分区将会在Finder或桌面上消失。如果遇到推出失败,可执行umount -f /Volumes/EFI 9.删除第4步建立的EFI宗卷目录。

rm -rf /Volumes/EFI

10.进入变色龙的boot目录(或者叫i386,里包含了boot,boot1h等文件)。事先右键显示变色龙安装包的包内容,把里面的boot目录拷贝到桌面,确保boot目录里包含boot0以及boot1h这两个文件。

cd ~/Desktop/boot

11.将boot0安装到MBR

fdisk -f boot0 -u -y /dev/rdisk0

12.将boot1h安装到引导扇区

dd if=boot1h of=/dev/rdisk0s1

好了这里就安装好了,关闭终端然后重启电脑就能看到变色龙的界面了!注意,我看到在远景论坛上的做法是11和12步放在8,9之前,也就是先安装了boot0后再卸载掉EFI,但是在卸载的时候我的电脑会将boot1h抹掉所以最好是最后两步来安装这两个boot文件。以后要修改变色龙的时候或者添加kext的时候就不用执行最后两步了。

    如何在嵌套的mongoose查询中正确地处理错误信息