x86 硬件上的 Mac OS X 2008–2024 技术文献库
InfiniteMac OSx86 › Snow Leopard 10.6 › GA-EP43-UD3L 主板安装 Mac OS X Snow Leopard 10.6 实战笔…
275,689 reads · 2009-12-04 – 2010-05-10
技术专卷 Snow Leopard 10.6 DSDT Gigabyte G31M / P35 NVIDIA GeForce ATI Radeon

GA-EP43-UD3L 主板安装 Mac OS X Snow Leopard 10.6 实战笔记与心得

好吧,这算不上一篇正式的教程,只是我在自己机器上安装 OSx86 10.6 Snow Leopard 时整理的一些笔记、资料和折腾经历。我们先从系统配置和背景信息说起。 -系统配置- 机箱 = Antec…

主笔作者
@will1384 发表于 2009-12-04
所属专区
Snow Leopard 10.6
典藏规模与记录
275,689 次历史阅读 · 26 则精选技术笔记(萃取自 27 则原始回帖) · 2009-12-04 – 2010-05-10
参与贡献成员 (4)
@will1384 (17)@OSX86TesTer (7)@MonkeyDLuffy (2)@aryajuanda
相关硬件参考
Gigabyte Motherboards ↗ AMD Radeon GPUs (QE/CI) ↗ PCIe Graphics Cards (GPU) ↗
简体中文精译技术专卷 · 完整保留原始命令、Kext 名称、ACPI 节点与引导参数查看英文原版 (Original English) →

好吧,这算不上一篇正式的教程,只是我在自己机器上安装 OSx86 10.6 Snow Leopard
时整理的一些笔记、资料和折腾经历。

我们先从系统配置和背景信息说起。

-系统配置-

机箱 = Antec Two Hundred
主板 = GIGABYTE GA-EP43-UD3L
CPU = Intel Pentium E6300 Wolfdale 2.8GHz
内存 = A-DATA 2 x 2GB DDR2 800
硬盘 1 = WD 320GB SATAII 8MB 7200RPM -- Windows 7
硬盘 2 = WD 500GB SATAII 16MB 7200RPM
硬盘 3 = Seagate Barracuda 7200.11 500GB
硬盘 4 = WD 500GB SATAII 16MB 7200RPM
硬盘 5 = WD 500GB SATAII 16MB 7200RPM -- Mac OS X
DVD 光驱 = SAMSUNG SH-S203B
显卡 = Nvidia GeForce GTS 250 512MB, XFX GS250XYDFC
电源 = Antec Earthwatts EA-500 500W
显示器 = Dell E151FPp 15", Dell E177FP 17", Epson PowerLite 77c 投影仪 @ 75"
操作系统 = Windows 7 64bit, Mac OS X 10.6.2

我是直接通过 BIOS 来选择要从哪块硬盘引导启动的,这样可以减少
很多潜在麻烦,让安装过程简单不少。
你只需像单系统那样分别安装每个操作系统即可;
诀窍是在安装前拔掉所有其他硬盘的数据线,
只保留你要安装系统的那块硬盘插在主板上,这样还能
防止误操作搞乱分区或丢失数据。

我不想用整合版(Distro),因为担心里面被人篡改过,
所以我找了其他方案,发现了 Lifehacker 的安装指南。我
确实不得不先“临时”装了一个整合版来制作引导 U 盘,
这也证明了 OS X 在我机器上是能跑起来的;但当我尝试用
做好的 U 盘引导安装时,屏幕却出现了花屏(Garbled Screen),怎么折腾
都进不去。我又试了 Empire EFI,结果也是一模一样,
于是我只能继续泡论坛查资料。

我试过的一些办法会让机器直接死机并卡在黑屏状态,但大多数时候
是屏幕上出现白线或色块方格。后来我了解到这很可能是
显卡引起的问题,于是我从女朋友的电脑上拆了块显卡借来一试,
结果真的进去了!虽然没有开启显卡硬件加速,但
起码能正常工作。

接着我不断尝试开启硬件加速,在折腾过程中把系统搞崩重装了
无数次。后来我才知道采用“非公版设计(Non-reference design)”的显卡
很容易出问题,而偏偏我手头的两块显卡
都是“OC 版”(出厂预超频)。下面
就是出问题的这两块显卡:

ATI HD 4850 512M, MSI R4850-512M OC - 每次开机不是黑屏就是花屏
ATI HD 4830 512M, MSI R4830-T2D512 OC - 可以正常安装系统,但没有硬件加速,怎么折腾都开不了加速

顺便提一句,我“印象中”好像看到过至少有一个人
成功驱动了这块 MSI R4830,只是我自己怎么都没弄成功。

我在这两块卡上白白浪费了整整一周时间,最后决定
算了不折腾了,干脆直接换一块 Nvidia 显卡。于是我下单买了一块 Nvidia
GeForce GTS 250 512MB, XFX GS250XYDFC
,结果插上显卡后
不到 10 分钟就顺利开启了硬件加速!我首先尝试的是
“EFI Studio”,效果很棒;虽然我用的那个版本的 EFI Studio
列表里没有 GTS 250,但有核心架构基本完全相同的 9800 GTX,
我就直接选了它。再后来我给主板用上了定制的
DSDT,并让 PC EFI 自动识别我的显卡。

顺便说一下(BTW),我把这块显卡的 ROM 提取(Dump)出来放进 NVCAP Maker 里跑了一下,
得出的结果如下:

Nvidia GeForce GTS 250 512MB "XFX GS250XYDFC"(带双 DVI 接口与 TV-Out 输出)

"04000000000003000c0000000000000700000000"

另外我还想提一下,双显示器扩展桌面工作正常,但不支持镜像模式(Mirroring);而且
我不得不装了一个叫“SecondBar”的免费软件,来给
副屏加上第二个顶部菜单栏。它用起来还凑合,但并不兼容
所有程序,而且有点小 Bug,在这里提一嘴只是觉得
兴许能帮到大家。

基础安装流程

好,我一共尝试过两种不同的安装方法,两种都
可行,其中一种比另一种更省事。

第一种安装方法

参考 Lifehacker 的教程(准确地说是它的改进版):我们从“在借来的 Mac 上打开
磁盘工具(Disk Utility)应用
”这一步开始,一直做到
终端(Terminal)命令行操作之前停下。

-两点说明-

(1) 分区格式请选择“Mac OS 扩展(日志式)/ Mac OS Extended (Journaled)”
(2) 无需执行原教程的“终端操作”,直接下载“myHack Installer”并
安装到你的 U 盘上即可

然后将主板 BIOS 设置如下:

(1) MB Intelligent Tweaker:保持默认别动它,只需确认参数符合
你的 CPU 即可

(2) Standard CMOS Settings:
将 "Floppy 3 Mode Support" 设为 Disabled

(3) Integrated Peripherals:
将 "SATA AHCI Mode" 设为 AHCI,
将 "Onboard IDE Controller" 设为 Disabled
将 "Onboard Serial Port 1" 设为 Disabled
将 "Onboard Parallel Port" 设为 Disabled
将 "USB Keyboard Function" 设为 Enabled
将 "USB Mouse Function" 设为 Enabled

(4) Power Management Setup:
将 "HPET Mode" 设为 "64-bit mode"

接着就可以安装 Mac OS X Snow Leopard 10.6 了。

系统安装完成后,再把“myHack Installer”安装到你的系统硬盘上。

第二种安装方法

下载“Empire EFI”,将它刻录到 CD 光盘上,

然后将主板 BIOS 设置如下:

(1) MB Intelligent Tweaker:保持默认别动它,只需确认参数符合
你的 CPU 即可

(2) Standard CMOS Settings:
将 "Floppy 3 Mode Support" 设为 Disabled

(3) Integrated Peripherals:
将 "SATA AHCI Mode" 设为 AHCI,
将 "Onboard IDE Controller" 设为 Disabled
将 "Onboard Serial Port 1" 设为 Disabled
将 "Onboard Parallel Port" 设为 Disabled
将 "USB Keyboard Function" 设为 Enabled
将 "USB Mouse Function" 设为 Enabled

(4) Power Management Setup:
将 "HPET Mode" 设为 "64-bit mode"

接着从 CD 光盘引导启动,等待出现引导界面后弹出 CD 光盘,
等待大约 30 秒,换上 Mac OS X 零售版安装盘(Retail DVD),
再等待大约 60 秒,按下“F5”键刷新,然后选择
你的 Mac OS X 零售版 DVD 开始安装。

系统安装完成后,再把“myHack Installer”安装到你的系统硬盘上。

常见问题排查

((1) 显卡不工作或无显示

如果是 ATI 显卡,很可能是因为它是“非公版设计”,也有可能是
主板设置的原因。在开机引导时你有几秒钟时间可以按“TAB”键,
连按两次后即可输入引导参数。

(A) PCIroot 参数“-pci1”或“-pci0”用于告诉电脑显卡插在哪个总线通道上。

(B) 啰嗦模式(Verbose Mode)参数“-v”可以让你看到开机加载的错误信息。

你可以连按两次 Tab 键,然后输入“-pci1 -v”并按回车,或者输入
“-pci0 -v”并按回车;其中一个参数或许能让你的显卡正常点亮,
或者至少能让你看清报错信息。

((2) 声卡无声音

试试这个方法,这是一个专门针对 ALC888 修改过的 AppleHDA.kext 内核扩展:

[GUIDE] Retail Snow Leopard (10.6.2) Install on Gigabyte GA-EX58-UDR3
(Core i7), Fully working 100%, ALC888 v1.8.3fc1 Included ↗

(A) 找到原版的 "AppleHDA.kext",先做好备份,然后将它从 "/System/Library/Extensions" 目录中删除

(B) 从上面的链接下载修改版“AppleHDA.kext”(在帖子里找“ALC888")

(B) 搜索并下载“Kext Utility”工具

(E) 将下载好的“AppleHDA.kext”直接拖拽到“Kext Utility”图标上完成安装与权限修复

顺便提一句,我之前一直用的是 VoodooHDA ,但在升级到 10.6.3 之后
它会导致五国死机 / 内核崩溃(Kernel Panic)。

((3) 显卡硬件加速不工作

(A) 首先编辑位于“/Extra”目录下的“com.apple.Boot.plist”,添加如下内容:

<key>GraphicsEnabler</key>
<string>y</string>

(提示)你可以先把“com.apple.Boot.plist”复制到桌面上进行编辑,
改好后再复制回“/Extra”目录覆盖。

这项设置会开启显卡自动识别功能,但并不总是
有效
;你可能还需要在 "Kernel Flags" 下面加上“-pci1”或“-pci0”,
如下所示(即便如此,有时也依然不管用):

<key>Kernel Flags</key>
<string>-pci1</string>

或者

<key>Kernel Flags</key>
<string>-pci0</string>

(B) 如果是 Nvidia 显卡,可以下载 EFIStudio 试试注入字符串。

(C) 如果是 ATI 显卡,你可以尝试提取(Dump)或从网上下载你显卡的 ROM,
并参考下面这个链接了解如何使用显卡 ROM:

http://netkas.org/?p=245#comments ↗

你可以从这个网站获取显卡 ROM:

techp owerup.com/vgabios/

或者在 Windows 下使用 GPU-Z 提取你自己的 ROM,并按照规范格式
正确重命名
,然后放进 /Extra 文件夹中。

-- 请参阅 -- http://netkas.org/?p=245#comments ↗

接着编辑“/Extra”文件夹里的“com.apple.Boot.plist”,在“Kernel Flags”下面
加上 -useatirom 参数,如下所示:

<key>Kernel Flags</key>
<string>-useatirom</string>

(D) 换块别的显卡试试

((4) Bonjour 网络服务不工作

去 Realtek 官网看看吧——哇塞,页面最底下居然有官方 Mac 驱动下载!

Realtek Software: Drivers & Utilities (rea ltek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#7)

我建议先编辑 com.apple.Boot.plist,关闭网卡内建自动设置,
以防它跟新安装的官方驱动产生冲突,

像这样改:

<key>EthernetBuiltIn</key>
<string>n</string>

顺便说一下,如果在安装 Realtek 官方驱动之后,你的黑苹果(Hackintosh)在下载 BT 种子 / P2P
或者玩《魔兽世界》(WoW)这类网游时出现死机卡死,
这其实是一个连白苹果(真 Mac)都会中招的著名 Bug。目前我唯一能
解决死机的办法,就是退回使用“myHack Installer”自带的网络设置和网卡驱动,
但代价就是没法使用“Bonjour”了 :'(

下面是一些相关讨论链接:
WoW LEOPARD USERS: Current Issues & Resolutions (forums.worldof warcraft.com/thread.html?topicId=3686740840&sid=1)

Transmission causes leopard slow death (forum.transmi ssionbt.com/viewtopic.php?f=4&t=4564)

DSDT

这里我就不展开讲细节了,我直接指路一个可以下载现成 DSDT 的地方,
顺便说说怎么用 Ubuntu Live
CD
提取你自己的 DSDT,并分享几点注意事项和技巧。

请前往 efix users.com/showthread.php?t=38 找到
你的主板型号。

(注)我现在用的 DSDT 就是从那儿下的,我只是额外打上了把
SATA 硬盘识别为内置硬盘(Internal)的补丁。

- 你需要先注册账号才能下载,下载后把
“DSDT.aml”放进“/Extra”文件夹即可。

如果想用“Ubuntu Live CD”自己提取,请打开“终端(Terminal)”,输入:

"cd Desktop"

然后再输入:

"sudo cat /proc/acpi/dsdt > dsdt.aml"

接着把桌面上生成的“dsdt.aml”保存到 U 盘里。

- 想深入理解原理可以看这里 -

aserebln.blog spot.com/2009/10/4-106-prepare-dsdt.html

接下来你只需要给它打补丁(Patch),至于这部分你就得花大量时间爬文学习了

;)

-几点说明-

(A) DSDT 的内容可能会因提取方式的不同而有所差异:

- 如果你是在已经加载了修改版 dsdt.aml 的 OS X 系统下提取
- 如果你是直接从下载的 BIOS 固件文件中提取
- 如果你是在没有使用任何 dsdt.aml 的运行中系统(比如 Linux)下直接提取

最稳妥的做法是在正在运行且未加载任何 dsdt.aml 文件(即“无 DSDT 注入”)的系统下提取。

(B) 在 osx 86.es/?p=610 有一个非常赞的 DSDT 编辑器。

实用技巧与提示

(A) 善用 Time Machine(时间机器)备份你的系统,能省去你无数麻烦;
不过在恢复系统之后,你需要重新应用引导程序或相关破解修改。

(B) 把你用到的所有修改文件、工具软件、网页链接、文档
以及安装笔记备份一份
到 U 盘里。

(C) 把“myHack Installer”安装到一个 U 盘上,或者刻录一张
“Empire EFI”引导光盘放在手边备用。

(D) 尽量把大部分修改、破解补丁和 KEXT 内核扩展都装进“/Extra”
文件夹里
。万一哪步搞砸进不去系统,你随时可以用装了“myHack Installer”
的 U 盘或“Empire EFI”光盘引导开机并轻松修复,否则
你就只能慢慢享受系统恢复或者重装系统了。

(E) 详细记录你所做的每一步操作,保存在文本文件里。
相信我,这绝对能帮你省下大量时间和头疼的折腾。

(F) 你可以参考“GA-EP45-DS3L”主板的安装教程,
这两块主板几乎一模一样。
-------------------------------------------------------------------------
GA-EP45-DS3L & GA-EP43-UD3L 规格对比

芯片组(Chipset)

1. (A) 北桥:GA-EP45-DS3L 采用 Intel P45 Express 芯片组
(B) 北桥:GA-EP43-UD3L 采用 Intel P43 Express 芯片组
2. 南桥:Intel ICH10

音频(Audio)

1. Realtek ALC888 音频解码芯片
2. High Definition Audio 高保真音频
3. 支持 2/4/5.1/7.1 声道
4. 支持 S/PDIF 光纤/同轴输入与输出
5. 支持 CD 音频输入

网卡(LAN)

1. Realtek 8111C 芯片 (10/100/1000 Mbit)

I/O 控制芯片

1. iTE IT8718 芯片
-------------------------------------------------------------------------

但切记一定要使用对应你自己主板型号的 DSDT,
千万别拿其他型号主板的 DSDT 直接往上套。

(G) 想在 Mac OS X 下运行 Windows 应用程序?

(1) VirtualBox:可在 virtualbox.org (virtual box.org/) 免费下载。

(2) CrossOver Mac:由 Codeweavers (codew eavers.com/products/cxmac/) 出品,售价 $39 至 $69 美元。

(3) Parallels:可在 parallels.com (para llels.com/) 购买,售价 $50 至 $80 美元。

(H) 想玩最新出的 Windows 大作游戏?

除非你只是想玩《宝石迷阵》(Bejeweled)这类休闲游戏,否则老老实实装个
双系统引导(Dual Boot)吧。(注)Parallels 和 CrossOver Mac 跑老一点的
3D 游戏完全没问题,比如《虚幻竞技场》(Unreal Tournament)、《英雄萨姆》(Serious Sam)
之类的,而且把游戏渲染模式设为 OpenGL 通常能获得
更好的效果。

(I) 遇到无法直接编辑或修改系统文件的情况:

先把文件拖到桌面上,修改编辑好之后,再复制回原目录覆盖;
建议顺手留一份原文件备份。

(J) 摄像头(Web Cams):

下面这个网站提供了一个支持数百种不同型号 USB 摄像头的
通用驱动程序:

Macam, USB webcam support for Mac OS X (webcam-osx.sourc eforge.net/index.html)

(K) Xbox 360 手柄(Controller):

在 Mac OS X 下完全可以正常使用,驱动可在以下地址获取:

Tattiebogle.net - Mac OS X, Xbox 360 Controller driver (tatti ebogle.net/index.php/ProjectRoot/Xbox360Controller/OsxDriver)

(L) 部分应用程序(比如模拟器)会将 ROM、BIOS、
配置文件及其他文件存放在应用程序包内部;只需右键点击该程序图标
并选择“显示包内容(Show Package Contents)”,即可查看
里面的文件和目录。

我上传的 ZIP 压缩包里包含了我的 DSDT 和声卡 CODEC 提取文件(Dump)。它
在我机器上工作得很完美,但未必适合你的机器;如果不管用的话,
抱歉,你就得自己动手提取制作了。

社区实测与技术补充笔记

自 27 则原始讨论回帖中萃取 26 则高价值技术回应

作者修订 #1 @will1384 2009-12-09

我刚才仔细翻看了一下自己正在用的 DSDT,发现里面打的居然是针对
ALC889a 声卡的补丁,而这块主板实际上用的是 ALC888。于是我决定
重新做两个版本的 DSDT 文件:一个不带任何声卡破解补丁,另一个打上 ALC888
声卡补丁,两个版本都能配合 VoodooHDA 正常工作。

虽然改动不大,但还是拿出来跟大家分享一下。

顺便提一句,我是从这里找到 ALC888 相关修改资料的:
http://www.insanelymac.com/forum/index.php?showtopic=18… ↗

这两个 DSDT 文件已经包含了所需的所有补丁,唯一可能
还有点问题的是睡眠功能(Sleep),不过我自己平时根本不用睡眠。

作者修订 #2 @will1384 2009-12-13 ↳ Re: @will1384
@will1384(2) 声卡无声音:(A) 搜索并下载 "Taruga’s AppleHDA Patcher version 1.20" (B) 搜索并下载 "VoodooHDA.kext" (C) 下载我的 "GA-EP43-UD3L_ALC888_CODEC_DUMP.TXT",或者在 Linux 终端里输入 "cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump.txt" 自己提取并使用该文件,如果什么都没输出,…

我后来发现其实根本不需要用到 "AppleHDA Patcher",而且
原版的 AppleHDA.kext" 甚至可能会干扰 "VoodooHDA.kext" 的工作,
所以我已经修正了主楼的内容,把这段留在这里纯粹作为日后
参考备份。

另外,你可能还需要删掉一个由 AppleHDA Patcher 生成的文件:
"ALCinject.kext"。

作者修订 #3 @will1384 2009-12-14

如果你的 Nvidia 显卡依然无法正常工作

你可以试试下面这个方法,未必一定管用,但至少值得一试:

(1) 前提是你的显卡至少得能点亮屏幕、让你看到基本画面

(2) 这个方法主要用于修复显卡输出接口工作不正常的问题,
比如需要来回换接口插拔、或者得用特殊技巧才能看到桌面的情况

你可能需要获取自己显卡的 NVCAP 信息:你需要在 Windows 或 DOS 下提取(Dump)
显卡 BIOS(Video ROM),然后放到 Mac 下用 NVCAP Maker
解析。我一般是在 Windows 下用 GPU-Z 来提取显卡 ROM 的。

(切记不要在虚拟机 Virtual Machine 下提取显卡 ROM,那样没用的)

所谓的 NVCAP 信息,就是关于你显卡上各个视频输出接口的配置数据,
算出来会是一串类似这样的数值:

"04000000 00000300 0C000000 00000007 00000000"
或者
"04000000000003000c0000000000000700000000"

接着打开 EFI studio 并选择你的显卡型号,点击“Add Device”,
然后点击“Save XML”。接着用“PlistEdit Pro”
或“Property List Editor”打开刚才保存的文件,填入你的 NVCAP 数值并保存文件;
然后重新打开 EFI studio,依次点击 File -> Open XML File,最后像平时用
EFI studio 那样写入安装即可。

或者,如果你担心这样做不成功反而导致系统无法启动,
那你可以只编辑
"/Extra"
文件夹下的 "com.apple.Boot.plist" 文件;万一改完无法开机,
还能随时用 "Empire EFI Boot CD" 引导光盘或装有
"myHack Installer
" 的 U 盘来引导启动进行救援。

具体操作步骤跟前面差不多:

打开 "EFI studio" 并选择你的显卡型号,点击“Add Device”,
再点击“Save XML”,然后用“PlistEdit Pro”
或“Property List Editor”打开该文件,填入你的 NVCAP 信息并保存文件。

接着把 "com.apple.Boot.plist" 从“/Extra" 文件夹复制到桌面,
用 "TextEdit"(文本编辑)打开它,并添加以下内容:

<key>device-properties</key>
<string>PASTE YOUR HEX HERE</string>

像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Timeout</key>
    <string>5</string>
    <key>Kernel Flags</key>
    <string>arch=i386</string>
    <key>EthernetBuiltIn</key>
    <string>y</string>
    <key>Graphics Mode</key>
    <string>1024x768x32</string>
    <key>device-properties</key>
    <string>PASTE YOUR HEX HERE</string>
</dict>
</plist>

然后打开“EFI studio",点击 "File" -> "Open XML" File,接着点击
"Hex String to Clipboard"(复制十六进制字符串到剪贴板),再将它粘贴替换掉刚才的 "PASTE YOUR HEX HERE"
位置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Timeout</key>
    <string>5</string>
    <key>Kernel Flags</key>
    <string>arch=x86_64</string>
    <key>EthernetBuiltIn</key>
    <string>y</string>
    <key>Graphics Mode</key>
    <string>1024x768x32</string>
    <key>device-properties</key>
        <string>d70300000100000001000000cb0300001500000002010c00d041030a000000000101060000010101060000007fff04003a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f64650e0000004e00560050004d00000020000000010000000000000000000000000000000000000000000000000000001e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c000000000000070000000022000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000022000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c000000240000004e5649444941204765466f7263652047545320323530203531324d422045464914000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d4120000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7414000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4212000000400032002c00720065006700000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f72636520000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616326000000400032002c0023006100640072006500730073002d00630065006c006c007300000008000000000000010e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617920000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000214000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74</string>
</dict>
</plist>

最后把改好的文件复制回 /Extra 文件夹覆盖即可。

另外我在网上找了一些现成的 NVCAP 数值供你尝试:
Dual Display working through VGA and S-video on Go7400 on HP, NVinjectGO did it! ↗

以及

[DVI SOLVED] Gainward 8600GT 256mb VGA-DVI-HDMI (uphuck.gg rn.de/forum/viewtopic.php?f=7&t=4239)

技术笔记 #1 @aryajuanda 2009-12-14

很棒的教程..

我也是同款主板.. 用这块主板装 OS X 简直太容易了... lol...

作者修订 #4 @will1384 2009-12-14 ↳ Re: @aryajuanda
@aryajuanda很棒的教程.. 我也是同款主板.. 用这块主板装 OS X 简直太容易了... lol...

要是我前两块显卡当初能正常工作的话,就能省下我整整一个礼拜的痛苦折腾了 :-/

算了,我回头可能会再拿那两块卡出来试试,顺便把环绕立体声也搞定;
不过我也可能干脆放弃板载声卡了,毕竟它哪怕在
Windows 下也从来没好用过 LOL

技术笔记 #2 @MonkeyDLuffy 2009-12-22

请问你知道怎么在 ATI 显卡上进行类似“在 Windows 下提取 VideoROM + 注入 NVCAP + 自制 EFI 字符串”的操作吗?ATI 显卡有没有类似“NVCAP”的对应工具?比如叫 ATICAP 之类的?

我的 ATI 4650 用了 GraphicsEnabler,但目前只有 VGA 接口有画面输出。我已经开启了完整的 QI/CE 硬件加速。如果我试试用 EFI 字符串并注入类似“ATICAP 之类的参数”,不知道能不能让其他输出接口也正常工作。

作者修订 #5 @will1384 2009-12-22 ↳ Re: @MonkeyDLuffy
@MonkeyDLuffy我的 ATI 4650 用了 GraphicsEnabler,但目前只有 VGA 接口有画面输出。我已经开启了完整的 QI/CE 硬件加速。

据我所知 ATI 并没有类似 ATICAP 的东西,但我希望通过加载 ROM 文件
配合 GraphicsEnabler,能帮你解决这个问题。

你在“/Extra”目录下的“com.apple.Boot.plist”应该改成类似这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Timeout</key>
    <string>5</string>
    <key>Kernel Flags</key>
    <string>arch=i386</string>
    <key>Kernel Flags</key>
    <string>-useatirom</string>
    <key>EthernetBuiltIn</key>
    <string>y</string>
    <key>Graphics Mode</key>
    <string>1024x768x32</string>
    <key>GraphicsEnabler</key>
    <string>y</string>
</dict>
</plist>

或者你也可以写成这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Timeout</key>
    <string>5</string>
    <key>Kernel Flags</key>
    <string>arch=i386 -useatirom</string>
    <key>EthernetBuiltIn</key>
    <string>y</string>
    <key>Graphics Mode</key>
    <string>1024x768x32</string>
    <key>GraphicsEnabler</key>
    <string>y</string>
</dict>
</plist>

接着只需提取你的显卡 ROM,按照“Device ID”和“Vendor ID”格式重命名,
再放进你的“/Extra”文件夹即可。

技术笔记 #3 @MonkeyDLuffy 2009-12-23

其实我之前已经试过那个办法了。我在 Windows 下提取了显卡的 Video ROM,把 .bin 文件转成 .rom(然后重命名成 -useatirom 能够识别的正确格式),再在变色龙(Chameleon)里用 -useatirom 加载这个 ROM.. 可惜还是不管用。

你的回复非常有帮助。我再去试试别的办法,或者等苹果日后推出更好的驱动吧。

作者修订 #6 @will1384 2009-12-23 ↳ Re: @MonkeyDLuffy
@MonkeyDLuffy在 Windows 下提取我的显卡 ROM 并将 .bin 文件转换为 .rom

我发现有时候程序可以直接识别单纯把扩展名从“BIN”改成“ROM”的文件,
根本不需要做任何转换——用 GPU-Z 提取出来的文件配合“-useatirom”
应该就是这种情况。

另外千万别在虚拟机(Virtual Machine)下提取 ROM。

技术笔记 #4 @OSX86TesTer 2010-01-05

Nvidia

首先我想向你说声谢谢!这篇教程和步骤非常有帮助。声音问题已经通过 alc88888 和 appleHDApatcher 解决了,重启之后声音就正常了。现在我觉得唯一剩下的问题就是怎么让显卡乖乖工作了。下面是我目前的显卡信息:
GeForce 8600 GTS:

Chipset Model: GeForce 8600 GTS
Type: GPU
Bus: PCIe
Slot: PCI
PCIe Lane Width: x16
VRAM (Total): 256 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0400
Revision ID: 0x00a1
ROM Revision: NVIDIA Graphics Engine DSDT
Displays:
Display Connector:
Status: No Display Connected
SyncMaster:
Resolution: 1920 x 1080 @ 60 Hz
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported

话虽如此,我不知道该如何 a) 把 ROM 版本改成 nvinject;b) 我已经下载了 kextutility 和一些 kext。我愿意尝试一切办法来开启 Q/E 硬件加速。我觉得是因为自己对 kext 太小白/太蠢,才没能享受到显卡的完整驱动性能。如果能提供任何安装显卡驱动的帮助或步骤就太感谢了。目前我手头已经下载了 corevidia / efistudio / nvidia inject 02.1 / nvenabler / nvidia installer 2.0,甚至连 ROM 提取文件(尽管我的卡跟 ATI 毫无关系,是从 GPU-Z 或前面帖子里提到的网站下到的 XFX.8600GTS.256.070613.bin)都准备好了。感谢你抽空阅读我这封绝望的求助信。

忘了提一句,第一次折腾的时候我装上了 nvinject 0.2,但后来我把那个 kext 删掉并修复了权限,退回了原版默认状态。但我很想再次尝试开启 Q/E 硬件加速,如果需要的话我可以提供截图,我知道自己肯定漏了某个步骤或者在哪儿搞砸了。

技术笔记 #5 @OSX86TesTer 2010-01-06

好吧,我犯了个新手低级错误,把我的 Snow Leopard 系统搞挂了,又忘了怎么修复 OS X,干脆花 20 分钟重装了一遍系统。现在我的显卡信息看起来是这样的:

Chipset Model: GeForce 8600 GTS
Type: GPU
Bus: PCIe
Slot: Slot-1
PCIe Lane Width: x16
VRAM (Total): 256 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0400
Revision ID: 0x00a1
ROM Revision: xx.xx.xx - internal
Displays:
Display Connector:
Status: No Display Connected
SyncMaster:
Resolution: 1920 x 1080 @ 60 Hz
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported

作者修订 #7 @will1384 2010-01-06 ↳ Re: @OSX86TesTer
@OSX86TesTer首先我想向你说声谢谢!
@OSX86TesTer声音问题已经通过 alc88888 和 appleHDApatcher 解决了。

我后来已经不用“appleHDApatcher”了,而是直接单独使用 "VoodooHDA.kext"。

@OSX86TesTer现在我觉得唯一剩下的问题就是怎么让显卡乖乖工作了。

你试过不做任何 DSDT 修改、也不装任何额外 kext,直接单独开启 "GraphicsEnabler" 吗?
除非你的卡是非常奇葩的非公版设计,否则这招对绝大多数 Nvidia 显卡都管用。

技术笔记 #6 @OSX86TesTer 2010-01-06 ↳ Re: @will1384
@will1384我后来已经不用 "appleHDApatcher" 了,而是直接单独使用 "VoodooHDA.kext"。你试过不做任何 DSDT 修改、也不装任何额外 kext,直接单独开启 "GraphicsEnabler" 吗?除非你的卡是非常奇葩的非公版设计,否则这招对绝大多数 Nvidia 显卡都管用。

我该怎么开启 GraphicsEnabler 呢?我刚才用 osx86tools 折腾了一通,结果出来的信息是这样的:

nVidia GeForce 8600 GTS:

Chipset Model: nVidia GeForce 8600 GTS
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 256 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0400
Revision ID: 0x00a1
ROM Revision: nVidia GeForce 8600 GTS OpenGL Engine [EFI]
Displays:
Display Connector:
Status: No Display Connected
SyncMaster:
Resolution: 1920 x 1080 @ 60 Hz
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported

而且那个 Quartz Extreme Enabler 在重启后就坏掉了,现在我想用这个工具查看是否开启加速,都会弹出 AppleScript 报错。

作者修订 #8 @will1384 2010-01-06 ↳ Re: @OSX86TesTer
@OSX86TesTer我该怎么开启 GraphicsEnabler 呢?

这个功能直接内置在引导程序(Bootloader)里,你不需要任何其他文件、补丁或
驱动字符串。

我直接把主楼前面写过的步骤复制粘贴在下面:

A) 首先编辑位于 "/Extra" 目录下的 "com.apple.Boot.plist",添加如下内容:<key>GraphicsEnabler</key> <string>y</string> (提示)你可以先把 "com.apple.Boot.plist" 复制到桌面上进行编辑,改好后再复制回 "/Extra" 目录。这项设置会开启显卡自动识别功能,但并不总是有效,你可能还需要在下面加上 "-pci1" 或 "-pci0"…
技术笔记 #7 @OSX86TesTer 2010-01-06

好的,那我需要做任何 kext 权限修复之类的操作吗?我目前是全新安装的系统,还没装引导程序;之前我用的是 Lifehacker 教程里列出的引导程序,但它不会自动创建 Extra 文件夹。所以我现在没有 Extra 文件夹,由于害怕再次搞崩系统,我暂时还插着 U 盘引导开机。我打算把下面这个引导器安装到主硬盘上,装好重启后就靠它引导启动了:mega upload.com/?d=D8XO2Q5Y

我本来想用论坛附件上传的,但文件太大传不上来,只好打包成 ZIP 放到了 Megaupload 上。

作者修订 #9 @will1384 2010-01-07 ↳ Re: @OSX86TesTer
@OSX86TesTer好的,那我需要做任何 kext 权限修复之类的操作吗?

这取决于你在硬盘上安装、添加或修改过什么。最理想的做法是
尽量保持系统原版文件不动,把所有修改或驱动扩展都只放在
“\Extra”文件夹里。这样万一搞砸了,你可以随时绕过它们:
只需用 EmpireEFI 引导光盘,或者安装在 U 盘上的 myHack (osx86.soju garden.com/installer/)Installer (osx86.soju garden.com/installer/)
引导启动,就能绕开错误配置进行修复。唯一的例外是
声卡 kext 可以不放在“\Extra”里,或者至少它从来没给我带来过
开机启动问题。

至于引导程序(Bootloader),我自己用的是 myHack Installer (osx86.soju garden.com/installer/),既简单
又好装。

技术笔记 #8 @OSX86TesTer 2010-01-07

哈哈,说起 myHack 我可真是长教训了!再也不敢用它了。我不喜欢它的开机画面,结果试着替换它的时候把引导程序给搞崩了。而且如果我走 myHack installer 这条路,分辨率就只能卡死在 1024 X 768。我会安装刚才贴的那个 Megaupload 文件,因为我喜欢它里面自带的那个变色龙(Chameleon)版本。我现在正在下载 iLife 来做三重确认,看看 QE/CI 是不是真的已经开启了。虽然“系统概述(System Profiler)”里只字未提,但实际上所有特效都能正常工作!比如拖动小组件时的水波纹特效、按 F12 能呼出 Front Row、玩国际象棋(Chess)也完全流畅不卡顿。所以也许硬件加速真的已经开启了,只是系统信息里没显示出来而已。我还不敢 100% 确定。哦对了,我也一直没在这块主板上搞定过睡眠(Sleep)功能,让它睡眠时它确实会休眠,但一唤醒它就会直接重启。如果关于睡眠有任何指点,我非常乐意尝试。

目前我的系统保持着最纯净的原版状态,不过我还得把引导程序装上去才能让它自己独立启动。我是先升级到 10.6.2 之后才装的声卡驱动,因为如果在升级前装声卡,升级完声音就会没掉,所以我留到最后才给声卡打补丁。有进展我随时向你汇报,如果你用 Yahoo 或 AIM 聊天软件的话可以告诉我,我上线加你。再次感谢你的教程和热心回复,你太牛了!

作者修订 #10 @will1384 2010-01-07 ↳ Re: @OSX86TesTer
@OSX86TesTer哈哈,说起 myHack 我可真是长教训了!再也不敢用它了。我不喜欢它的开机画面,结果试着替换它的时候把引导程序给搞崩了。而且如果我走 myHack installer 这条路,分辨率就只能卡死在 1024 X 768。

控制 1024 X 768 分辨率以及 GraphicsEnabler 的设置,
都在“/Extra" 文件夹下的 "com.apple.Boot.plist" 里面。myHack 默认将分辨率
设为 1024 X 768,是为了确保能兼容你的显示器,该项设置
长这样:

 <key>Graphics Mode</key>
 <string>1024x768x32</string>

如果你的显卡被 GraphicsEnabler 正确识别或者驱动工作正常,
那么进入 OS X 桌面后,系统应该会自动突破这个分辨率限制。

顺便说一下,myHack 默认是不会开启 GraphicsEnabler 的,
但你可以在安装 myHack 时通过自定义(Customize)选项勾选开启它。

至于怎么更换开机引导界面显示的图片,那我就真不知道了;
我自己直接把图形界面关掉了,因为我更喜欢看开机滚动的文字代码。

技术笔记 #9 @OSX86TesTer 2010-01-09

我还忘了问,你最后搞定睡眠(Sleep)功能了吗?我发现从 SATA DVD 光驱拷贝文件时慢得离谱,居然要 6 个小时。肯定有什么地方不对劲。我再去查查资料回头告诉你(目前我猜是不是 SATA 控制器也就是 JMicron 那块需要装 kext,还有可能得装个 IOATA kext 之类的),但在动手之前,我得先把这鬼系统备份一下。为什么 Mac 就没有好点儿的备份/镜像软件呢?PC 上可是有神器 Acronis!哪怕 Norton Ghost 也行啊!可到目前为止我在 Mac 上连一个支持 FTP 或任何网络备份功能的软件都找不到。偏偏我手头又没有另一台 Mac 可以用来备份,现在唯一能做的就是插个容量极其有限的 U 盘凑合一下。唉,不过不管怎样我都得先把这台 Mac 备份好,因为我实在不想为了搞定显卡、引导程序或者任何愚蠢的 kext 而去重装第 10 遍系统了。不好意思在这儿长篇大论地发牢骚,但为了折腾出一台 100% 完美工作的 Hack Pro,这份执念真的快把我逼疯了。

技术笔记 #10 @OSX86TesTer 2010-01-09

显示问题的最终结果

com.apple.boot.plist 内容如下...

<key>EthernetBuiltIn</key>
    <string>Yes</string>
    <key>GraphicsEnabler</key>
    <string>Yes</string>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Flags</key>
    <string></string>
    <key>Timeout</key>
    <string>5</string>

这就是装完上面提到的那个 Megaupload 引导器之后的默认配置。虽然在 Snow Leopard 里完全没看到相关字样,但我猜 QE 应该已经正常工作了。你的机器在 Snow Leopard 里会显示 QE 字样吗?

作者修订 #11 @will1384 2010-01-11 ↳ Re: @OSX86TesTer
@OSX86TesTer我还忘了问,你最后搞定睡眠(Sleep)功能了吗?

没有,不过我平时也不用睡眠功能。

@OSX86TesTer我发现从 SATA DVD 光驱拷贝文件时慢得离谱,居然要 6 个小时。肯定有什么地方不对劲。我再去查查资料回头告诉你(目前我猜是不是 SATA 控制器也就是 JMicron 那块需要装 kext)。

不用,SATA 根本不需要装任何额外的 kext,肯定是哪儿出问题了,6 个小时太离谱了 :

@OSX86TesTer为什么 Mac 就没有好点儿的备份/镜像软件呢?

有啊,就叫“Time Machine(时间机器)”!用它做好备份,
当你需要恢复系统时,只需用你当初装系统的引导盘开机,再用
“Time Machine”还原,恢复完只需要重新装一下引导程序(Bootloader)
就彻底搞定了。

作者修订 #12 @will1384 2010-01-11 ↳ Re: @OSX86TesTer
@OSX86TesTercom.apple.boot.plist 内容如下... <key>EthernetBuiltIn</key> <string>Yes</string> <key>GraphicsEnabler</key> <string>Yes</string> <key>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string></string> <key>Timeout</key> <string>5</string> 这就是装完上面提到的那个 Megaupload 引导器之后的默认配置,我…

如果你能流畅播放视频、顶部的 Finder 菜单栏是半透明的,
而且打开“Time Machine”时有进入外太空的动画特效,
那基本上所有硬件加速都已经正常工作了。我的“系统概述(System Profiler)”里
同样没有任何关于 QE 的字样,但据我所知一切加速特效都工作正常。

作者修订 #13 @will1384 2010-03-21

Bonjour 网络服务问题

我刚买了一台 KODAK ESP 5250 多功能一体机,顺便把我爸的
PC 也升级到了跟我一模一样的配置,并装成了黑苹果(Hackintosh)。我本来打算
共享文件,并通过打印机的 WiFi 连接共享这台打印机;
结果发现 Bonjour 根本不工作,只是因为平时上网完全正常,
所以我之前一直没察觉 :

于是我上网查了一下,找到了这篇帖子:

Bonjour Networking with Realtek drivers & ifconfig ↗

顺着这篇帖子我找到了这个网站:

Assorted Mac Stuff (stan ford.edu/~dub/macstuff/)

进而找到了官方驱动程序:

Realtek Software: Drivers & Utilities (rea ltek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false#7)

我先编辑“com.apple.Boot.plist”关闭了网卡自动配置功能,

改成这样:

<key>EthernetBuiltIn</key>
<string>n</string>

然后安装新的官方驱动,重启黑苹果,搞定!
Bonjour 立马正常工作了!

作者修订 #14 @will1384 2010-03-31

10.6.3 系统更新

苹果放出了 10.6.3 系统更新,于是我就直接升级了。一切都很顺利,
唯独出了一点问题:升级之后 VoodooHDA 会导致五国死机 / 内核崩溃(Kernel Panic)。
于是我把 VoodooHDA 删掉了,系统就恢复正常了,只是暂时没了声音。

要删除 VoodooHDA,你可以在开机时连按两次“Tab”键,
选择你的启动盘并输入两个引导参数:-v -x

-v 可以让你在开机时看到报错和滚动文字信息,
而 -x 则是进入安全模式(Safe Mode)。

进入系统后,将它从“/System/Library/Extensions”目录中删掉即可。

接着我开始寻找 VoodooHDA 的替代品,并从下面这篇教程里
找到了一个专门针对 ALC888 修改的 AppleHDA.kext,用起来非常
棒:

[GUIDE] Retail Snow Leopard (10.6.2) Install on Gigabyte GA-EX58-UDR3
(Core i7), Fully working 100%, ALC888 v1.8.3fc1 Included ↗

等日后 VoodooHDA 放出适配 10.6.3 的补丁版本后,
我打算再换回 VoodooHDA。

作者修订 #15 @will1384 2010-04-13 ↳ Re: @will1384
@will1384接着我开始寻找 VoodooHDA 的替代品,并从下面这篇教程里找到了一个专门针对 ALC888 修改的 AppleHDA.kext,用起来非常棒。[GUIDE] Retail Snow Leopard (10.6.2) Install on Gigabyte GA-EX58-UDR3 (Core i7), Fully working 100%, ALC888 v1.8.3fc1 Included (http://www.insanelymac.com/forum/index.php?showtopic=21… ↗)

我好像把环绕立体声输出给搞定了!

依次进入“应用程序(Applications)”->“实用工具(Utilities)”,打开“音频 MIDI 设置(Audio MIDI Setup)”,
点击左下角的加号“+”创建一个
“聚合设备(Aggregate Device)”,勾选三个“内置线路输出(Built-In-Line Output)”以及
“内置数字输出(Built-In-Digital Output)”,

然后点击“配置扬声器(Configure Speakers)”,勾选
以下几项:

"Stream 1 has 2 channels (1-2)"
"Stream 2 has 2 channels (3-4)"
"Stream 4 has 2 channels (5-6)"

但保持“Stream 4 has 2 channels (7-8)”不勾选,然后点击
“完成(Done)”。

接着进入“系统偏好设置(System Preferences)”->“声音(Sound)”->
“输出(Output)”,选择“数字输出(Digital Out)”就大功告成了。

我之前用不同驱动试过这套设置无数次都没成功,
所以这次能成肯定是因为换了这个新驱动!目前我只试了同轴输出(Coax Out),放了一张 DVD 测试
完全正常,功放(Receiver)上显示“Dolby Pro Logic”,而且所有音箱
都有声音输出了。

作者修订 #16 @will1384 2010-05-10

下载 BT 种子会导致我的黑苹果死机

我最后还是把网络设置改回之前的样子了。显然这个
Realtek 官方驱动在其他方面都堪称完美,唯独有一个毛病:它在
下载 BT 种子时会出问题,而且这个问题似乎连
白苹果(真 Mac)也未能幸免。

具体表现就是当你在下载 BT 种子时,系统会毫无征兆地
突然彻底卡死(Lock up),你唯一能做的就是长按机箱
电源键强制关机。从我查到的资料来看,
这个问题还会影响《魔兽世界》(WoW)以及任何高强度使用网络、
并发建立大量网络连接的程序。

在这个问题彻底解决之前,我恐怕只能暂时忍受没有 Bonjour
可用的日子了。

下面是一些相关讨论链接:
WoW LEOPARD USERS: Current Issues & Resolutions (forums.worldof warcraft.com/thread.html?topicId=3686740840&sid=1)

Transmission causes leopard slow death (forum.transmi ssionbt.com/viewtopic.php?f=4&t=4564)

文献来源与贡献者溯源名录(共 4 位具名成员 · 原始讨论串 #4856)
成员用户名本卷贡献角色发帖数活跃时间窗
@will1384主笔作者172009-12-04 → 2010-05-10
@OSX86TesTer核心贡献者72010-01-05 → 2010-01-09
@MonkeyDLuffy协作成员22009-12-22 → 2009-12-23
@aryajuanda协作成员12009-12-14

选择语言 · Choose your language