Clover 升级后检测不到Windows引导的解决办法

为了配合OS X
的更新,打算从Clover r2485升级到r2850;在EFI分区进行替换后发现新Clover引导界面找不到Windows操作系统。
经过三番五次的备份还原后终于发现,是EFI/Clover/drivers64UEFI目录下缺少必要的驱动文件所致。
将新旧版本的drivers64UEFI文件夹合并(若文件同名则以新易旧)即可排除错误。

暑假翻江倒海折腾Clover+Mac险遭失败

重大突破!
基本硬件信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
主板:
处理器名称 Mobile DualCore Intel Core i5-2450M, 2900 MHz (29 x 100)
主板名称 Hewlett-Packard HP ProBook 4431s
主板芯片组 Intel Cougar Point HM65, Intel Sandy Bridge
系统内存 8119 MB (DDR3-1600 DDR3 SDRAM)
BIOS 类型 Compaq (05/23/2012)

显示设备:
显示适配器 Intel(R) HD Graphics 3000 (2108 MB)
3D 加速器 AMD Radeon HD 6490M (Seymour)
3D 加速器 Intel HD Graphics 3000

多媒体:
音频适配器 IDT 92HD87B1/3 @ Intel Cougar Point PCH - High Definition Audio Controller [B-2]
音频适配器 Intel Cougar Point HDMI @ Intel Cougar Point PCH - High Definition Audio Controller [B-2]

存储设备:
硬盘驱动器 TOSHIBA MQ01ABD050 SCSI Disk Device (500 GB, 5400 RPM, SATA-II)
光盘驱动器 hp DVDRAM GT50N SCSI CdRom Device (DVD+R9:6x, DVD-R9:6x, DVD+RW:8x/8x, DVD-RW:8x/6x, DVD-RAM:5x, DVD-ROM:8x, CD:24x/24x/24x DVD+RW/DVD-RW/DVD-RAM)


输入设备:
键盘 PS/2 标准键盘
鼠标 HID-compliant mouse
鼠标 Logitech HID-compliant Unifying Mouse
鼠标 PS/2 兼容鼠标

网络设备:
网络适配器 Microsoft Virtual WiFi Miniport Adapter #2
网络适配器 Qualcomm Atheros AR9285 802.11b/g/n WiFi Adapter
网络适配器 Realtek PCIe GBE Family Controller

外围设备:
USB2 控制器 Intel Cougar Point PCH - USB EHCI #1 Controller [B-2]
USB2 控制器 Intel Cougar Point PCH - USB EHCI #2 Controller [B-2]
USB3 控制器 NEC uPD720200AF1 USB 3.0 Host Controller
USB 设备 2.4G Wireless headset
USB 设备 Generic Bluetooth Adapter
USB 设备 HP HD Webcam [Fixed]
USB 设备 Logitech Unifying USB receiver
USB 设备 USB Composite Device
USB 设备 USB Input Device (Logitech Download Assistant)
USB 设备 USB 大容量存储设备
USB 设备 Validity Sensor
USB 设备 Wacom Tablet
电池 Microsoft AC Adapter
电池 Microsoft ACPI-Compliant Control Method Battery

Stage 1

在大量繁复的尝试中偶然发现,此前的系统引导失败与所使用的Clover版本有关。
现用的经尝试可成功引导的为Clover_v2k_r2482。
部署至EFI分区的EFI/Clover目录下,用CloverX64.efi替换EFI/Boot/下的bootx64.efi,将原有的EFI/Microsoft文件夹移至C:/Boot/下(注意备份原始文件),避免系统启动时默认进入win系统。
记得删掉EFI/Clover/drivers64UEFI下csm开头的efi文件(支持CSM的显卡驱动文件),修复进入Clover是屏幕亮但无显示的故障。
IMG_5639.JPG

Stage 2

根据热门教程,将pcbeta提供的OS X Mavericks 10.9.5懒人版镜像写入hfs+分区。
但是引导进入安装分区时,菊花会无故停转,随后重启。
开启了啰嗦模式再观察报错情况。
IMG_5654-1.jpg
查阅PCBETA相关教程得知,不仅需要fakesmc.kext,更需要NullCPUPowerManagement.kext禁用(部分?)电源管理,以解决这个似是而非的蓝牙驱动报错。
附加的kext放在fakesmc的plugin目录下。
成功进入安装程序。
IMG_5658.JPG

Stage 3

完成初始设定后进入系统。
IMG_5662.JPG
在PCBETA上获取了以下kext以驱动相关硬件(极为困惑的是,不同的kext,放在合适的目录下方可生效):

kext 硬件 存放目录
IO80211Family.kext Qualcomm Atheros AR9285 802.11b/g/n WiFi Adapter S/L/E
IOath3kfrmwr.kext Qualcomm Atheros AR3011 Bluetooth 3.0 Adapter S/L/E
IOBluetoothFamily.kext Qualcomm Atheros AR3011 Bluetooth 3.0 Adapter S/L/E
ACPIBatteryManager.kext Battery PR06047 fakesmc.kext/Plugin
GenericUSBXHCI.kext NEC uPD720200AF1 USB 3.0 Host Controller fakesmc.kext/Plugin
AppleACPIPS2Nub.kext ? fakesmc.kext/Plugin
ApplePS2Controller.kext ? fakesmc.kext/Plugin
ApplePS2Keyboard.kext 101/102-Key or MS Natural Keyboard fakesmc.kext/Plugin
ApplePS2Mouse.kext Synaptics PS/2 Port TouchPad fakesmc.kext/Plugin
RealtekRTL8111.kext Realtek RTL8168/8111 PCI-E Gigabit Ethernet Adapter fakesmc.kext/Plugin
AppleIntelSNBGraphicsFB.kext Intel HD Graphics 3000 & Intel Cougar Point HDMI S/L/E
AppleHDA.kext IDT 92HD87B1/3 @ Intel Cougar Point PCH S/L/E

Stage 4

更新了Clover的config.plist以指定开机默认启动系统,增强硬件性能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Debug</key>
<false/>
<key>DropOEM_DSM</key>
<false/>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<true/>
<key>EnableC2</key>
<true/>
<key>EnableC4</key>
<true/>
<key>EnableC6</key>
<true/>
<key>Generate</key>
<true/>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Debug</key>
<false/>
<key>DefaultVolume</key>
<string>OS X 10.9.5</string>
<key>Legacy</key>
<string>PBR</string>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>3</integer>
<key>XMPDetection</key>
<false/>
</dict>
<key>Devices</key>
<dict>
<key>Audio</key>
<dict>
<key>Inject</key>
<string>Detect</string>
</dict>
<key>FakeID</key>
<dict>
<key>IntelGFX</key>
<string>0x01268086</string>
</dict>
<key>USB</key>
<dict>
<key>AddClockID</key>
<true/>
<key>FixOwnership</key>
<true/>
<key>Inject</key>
<true/>
</dict>
<key>UseIntelHDMI</key>
<true/>
</dict>
<key>DisableDrivers</key>
<array>
<string>Nothing</string>
</array>
<key>GUI</key>
<dict>
<key>Hide</key>
<array>
<string>\EFI\BOOT\BOOTX64.EFI</string>
<string>Windows</string>
</array>
<key>Language</key>
<string>en:0</string>
<key>Mouse</key>
<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<false/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>0</integer>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<true/>
<key>Tool</key>
<true/>
</dict>
<key>Theme</key>
<string>Universe</string>
</dict>
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>
</dict>
<key>NvidiaSingle</key>
<false/>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<true/>
<key>AsusAICPUPM</key>
<true/>
<key>Debug</key>
<false/>
<key>KernelCpu</key>
<false/>
<key>KernelHaswellE</key>
<false/>
<key>KernelLapic</key>
<false/>
<key>KernelPm</key>
<false/>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>External icons patch</string>
<key>Find</key>
<data>
RXh0ZXJuYWw=
</data>
<key>Name</key>
<string>AppleAHCIPort</string>
<key>Replace</key>
<data>
SW50ZXJuYWw=
</data>
</dict>
</array>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Detect</string>
<key>InjectSystemID</key>
<true/>
</dict>
</dict>
</plist>

Stage 5

启用DSDT补丁,以便实现深层次的硬件兼容。
在不存在DSDT patch的条件下,于Clover中按F4键,快速获得BIOS中的DSDT、SSDT于目录EFI/Clover/ACPI/origin。
初次打补丁时,发现有些修正并未完全生效。
认真研读PCBETA相关教程,更正了打补丁的方式。
将SSDT-0.aml更名为SSDT.aml,去掉其余aml文件末尾的x。
在Mac中获取命令行版的iasl,在终端下对DSDT.aml、SSDT-.aml进行反编译得到.dsl。
使用maciasl,添加External(…)等行,排除了编译错误。
引用Rehebman的补丁源,针对显卡、屏幕亮度等应用了补丁。
修改完后,再在终端下将*.dsl编译为*.aml,放到EFI/Clover/ACPI/patched。
【未完待续