sudo dd if=boot1h of=/dev/rdisk0s1 (注意:disk0s1是 diskutil list看到到的EFI要盘符替换)
为了防止系统将EFI分区变为不可卸载的状态 加入命令
sudo touch /Volumes/EFI/.fseventsd/no_log
修复boot权限
sudo chown 0:0+空格+boot文档
推出EFI分区 解除第5步建立的映射关系
umount /Volumes/EFI
执行后,EFI分区将会在Finder或桌面上消失。如果推出失败,可执行umount -f /Volumes/EFI
删除第4步建立的EFI宗卷目录。
rm -rf /Volumes/EFI
上面的操作完成后,非4kb硬盘就能够由变色龙引导,但4kb硬盘会出现"boot0:error"
参考:黑苹果必读FAQ---进阶篇 中的“解决 boot0 : error 最简单的方法”
你需要一个可运行的Linux系统,无论什么都可以,但是我偏向ubuntu,因为他友好的界面
附上下载链接:http://www.ubuntu.com/download/ubuntu/download
保险起见,如果你使用的是64位win7的话,那么建议你下载64位的linux,当然32位的也可以
下载完成之后,刻录到cd或者dvd(U盘也是可以的)
完成了之后,重启,并在bios中设置从CD/DVD或U盘启动,之后进入Ubuntu
你将看到Ubuntu十分漂亮的欢迎界面,提示“试用ubuntu”或者“立即安装”,选择“试用”
进入桌面后,等待几秒钟,直到所有项目都加载完成
之后在左侧,你可以搜索gpart,之后你能看到gparted的图标,单击它并等待直至显示出所有的盘符
找到你的Mac系统盘,我的是盘符名是mac hdd,在它右边你能看到 /dev/sdaX(X代表数字)
我的是sda3,你的可能不同,请记住它
下载这个附件,并把它保存到移动存储设别中(U盘,TF卡神马的都可以)
boot1h.zip
当然,你也可以直接在Ubuntu下联网下载这个附件,都行
单击Home图标,你能够看见你的移动存储设备,复制boot1h到home文件夹
完成之后,再次单击搜索按钮,搜索“终端”并打开,输入以下指令
sudo dd if=boot1h of=/dev/sda3 bs=4096
记得把sda3改成你自己的数值,我这里是sda3,你的可能不一样
按下回车,你将看到“0+1 ..downloading at 1.3mb/s”之类的显示
完成之后,重启,你便能看到Chameleon的启动画面了
上面这个命令需要注意的:我们的目的是写入EFI,不是MAC的系统分区。在GPARTED中可以看到EFI对应的分区名称是什么,我的是“Sda1”,所以命令应该改为:
sudo dd if=boot1h of=/dev/sda1 bs=4096
到这一步4Kb硬盘的引导就成功了。
四、系统的完善与驱动安装
上面变色龙引导是成功了,但有两个文件也是非常重要的(只是非必要的)一个smbios,一个org.chameleon.Boot。我是参考: 【變色龍系列二】com.apple.Boot.plist + SMBIOS.plist 設定說明【09/22 更新】中对参数的说明,然后用chameleon_wizard生成的。
1.RTL8111E 网卡驱动
下面可能用到某些软件需要连网的,所以先把网卡驱动装上,
RTGNICv2.0.6For10.7(RT8111E).zip
(147.09 KB, 下载次数: 31)
2.DSDT与显卡ROM的提取
请参考: 简单教程:看图学DSDT及SSDT制作
显卡ROM是在WIN下提取的,老实说很不希望要在WIN下工作,不过我的ROM是在今年二月份的时候单硬盘双系统时得到,今次的单硬盘单系统我就没花什么功夫。如果那位知道如何在MAC下提取显卡ROM的,请知会一声,我补充记录下来的,谢谢。
MAC下提取DSDT方法:
DSDTEDITOR:[PATCH]->[EXTRUCT_DSDT],[IASL]->[COMPILE],[FIX_ERRORS]
有ERROR与WARNING的请网上搜索自行修复一下。用技嘉板真的很幸运,FIX后只有一个WARNING。
[IASL]->[SAVE_AML_AS},记得保存文件要加后缀名"aml"。这个就是最原始的DSDT了。
错误可参考: DSDT提取、修改等基础视频教程及DSDT编译错误修改方法【从零开始轻松使用上DSDT】
3.ALC 887-VD声卡:
关于GA-H61MA-D2V这板的声卡是不是ALC-887VD,我是在UBUNTU提取声卡CODEC的时候看到的,如果查技嘉官网得到的只是ALC887。驱动ALC887-VD我是用DSDT加KEXT方法的:
a.DSDT的修改:
打开DSDTEDITOR:找到DEVICE_HDEF(这个我是在WIN下的DSDTEDITOR载的,在公司,所以....小声点....)
对应的代码:
整段修改为以下代码:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
Field (HDAR, WordAcc, NoLock, Preserve)
{
DCKA, 1,
Offset (0x01),
DCKM, 1,
, 6,
DCKS, 1,
Offset (0x08),
, 15,
PMES, 1
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"device-id",
Buffer (0x04)
{
0x87, 0x08, 0xEC, 0x10
},
"built-in",
Buffer (One)
{
0x00
},
"layout-id",
Buffer (0x04)
{
0x77, 0x03, 0x00, 0x00
},
"model",
Buffer (0x07)
{
"alc887"
},
"PinConfigurations",
Buffer (Zero) {},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
红色字部分就是ALC887-VD必须加入的代码。
然后还要加入一段DTGP的代码,我是加在最后面的。
代码:
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
好了,DSDT的修改完成了,记得FIX 一下,然后存为aml,放到/EXTRA文件夹下。
b.安装kext:
接下来就是,使用KERT_WIZARD安装附件中AppleHDA.kext和ALC887HDA.kext两个kext就可以了。
alc887-vd.zip
(1.26 MB, 下载次数: 96)
重启一下,声卡就OK了。我的情况是加入DSDT和安装好网卡跟声卡后,开机马上就快了很多。